1. Лекция 2
24 сентября 2018 г.
Заметили ошибку или есть предложение? Напишите на почту: romansdidnotcrucify@gmail.com
ACHTUNG! WORK IN PROGRESS!
Данная страница ещё не закончена и находится в процессе дополнения и переработки. Почитать уже можно, но не забудьте потом заглянуть, когда будет полная версия.
Содержание
Идея в том, чтобы показать различные решения определённых задач
танцевать не от инструмента, а от задачи
Текстовые процессоры
плоский текст / размеченный текст
текстовые процессоры работают с размеченными текстами
задача обработки плоского текста тривиальна
задача обработки размеченного текста сильно зависит от языка разметки
Сложные документы: 1. формат хранения 2. формат представления и обработки 3. формат вывода (формат рендеринга) ???
Вообще говоря, ни один из этих форматов не обязан быть текстом
Однако текстовый формат удобнее для понимания
главный недостаток wysiwyg-редакторов - пока не посмотришь плоский текст, не поймёшь, в чём проблема
второй минус - низкая техническая грамотность составителей документов (знаний вёрстки нет)
.odt файлы - zip-архивы
content.xml
Microsoft Office:
в какой-то момент стандарт почистили; docx - тоже архив
его спецификация занимает в 20 раз больше места
главное достоинство wysiwyg - скорость
другая проблема - большие документы проше починить путём создания нового документа и копипасты из старого
Альтернативный подход:
вёрстка - в размеченном тексте
отображение - отдельно
LaTeX
размеченный текст = плоский текст + команды разметки
Когда Кнут создавал TeX, он два года изучал процесс набора и вёрстки
набирая текст на TeX мы задаём не внешний вид текста, а то значение, которое он имеет в тексте
семантическая разметка, не синтаксическая
в этом смысле LaTeX наиболее продвинутый из инструментов
формат представления - другой
лучший инструмент для вёрстки математических формул
pdflatex - для работы с pdf
Чем такого рода процессор лучше: 1. он напоминает программирование, мы полностью контролируем процесс 2. удобные инструменты типа ссылок, которые иначе мы бы вставляли вручную 3. можно скачать шаблон того, как в точности должен выглядеть документ
ссылки в LaTeX - штука двухпроходная -> проходить генерацию файла нужно дважды либо запускать с определённым параметром
в TeX поддерживается множество (более 5000) различных пакетов, добавляющих самые разные функции
проект живой
Как к этому приступать? 1. учебник Львовского (посмотреть на сайте) 2. учебник Балдина 3. справочник Воронцова, с множеством рекомендаций (посмотреть на предмет отличий англо-саксонской типографики от немецкой)
Хорошие черты TeX: 1. проект сделан на совесть 2. все пакеты здесь распространяются под свободной лицензией 3. скорее всего, любые ваши идеи по оформлению текста уже реализованы
Не всё радужно: проблемы с русификацией
по умолчанию вся кодировка - T2 (или типа того)
задание входной кодировки указывает лишь, из какой кодировки преобразовывать текст в T2
есть отдельный пакет для рисования произвольных кривых
система TeX очень старая
пришлось изобрести систему распределения времени
man - тоже архивированные TeX-овские файлы (old style)
baby.man - с сайта
man man - посмотреть на следующей лекции (в действительности жирный шрифт - двойной удар на печатной машинке)
Texinfo - довольно развесистый язык разметки; из него можно сделать и книжку, и гипертекст
разработан GNU
для разработки универсальных документов
инструмент info для просмотра такого текста
Docbook - подмножество XML (более современный стандарт) для него определены правила, как его расширять
недостаток docbook и вообще xml - читать довольно тяжело (много разметки, мало контента)
xml-based языки разметки, вообще говоря, для роботов
на самом деле, мы отошли от того подхода, который обозначили в самом начале: мы смешали много разных целей воедино
быстрые документы / сложные документы / специфические документы
графический редактор для TeX'а
Книгу Львовского стоит прочесть, даже если не разбираться в LaTeX
мы упустили целый класс задач: быстрый набор + быстрая публикация
в этой задаче возможности разметки можно практически пересчитать по пальцам
для этой задачи: 1. это должен быть сайт 2. он должен иметь некий сильно упрощённый формат разметки
MediaWiki, markdown, textile, reST, MoinMoin
Разница, помимо предыдущего: 1. встраивание в гипертекст 2. если исключить из этого идею сайта, ничего не поменяется
без сайта: asciidoctor
опускается огромный класс систем документирования например, Sphynx
Обратная задача: сайт с WYSIWYG: CKEditor (FCKEditor)
подходит для moodle, но для общего использования так себе
подойдёт для встраивания в ваш сайт
для использования wiki-движка совсем необязательно держать сайт: zim-wiki (WYSIWIG-редактор для wiki) с возможностью редактирования разметки
pandoc - проект по переводу текста из любого формата в любой (удивительно, но работает) универсальный конвертер документов
мораль: не надо все гвозди забивать одним микроскопом
сейчас мы говорили про инструменты, которые едят уже размеченную каким-то образом информацию
Но мы совершенно не говорили о том, как работать с текстами в плоском формате непосредственно
Мы не поговорили про текстовые редакторы
Эта тема остаётся на будущее
для тех, кто пришёл, чтобы познакомиться с linux: обратите внимание, что рассказ про собственно приложения закончился быстро
linux way состоит в том, что все этапы процесса можно разделить