1. Лекция 2

24 сентября 2018 г.

Заметили ошибку или есть предложение? Напишите на почту: romansdidnotcrucify@gmail.com

/!\ ACHTUNG! WORK IN PROGRESS! /!\

Данная страница ещё не закончена и находится в процессе дополнения и переработки. Почитать уже можно, но не забудьте потом заглянуть, когда будет полная версия.

Содержание

  1. Лекция 2

Идея в том, чтобы показать различные решения определённых задач

танцевать не от инструмента, а от задачи

Текстовые процессоры

плоский текст / размеченный текст

текстовые процессоры работают с размеченными текстами

задача обработки плоского текста тривиальна

задача обработки размеченного текста сильно зависит от языка разметки

Сложные документы: 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 состоит в том, что все этапы процесса можно разделить

LecturesCMC/LinuxIntro2018/01_TextProcessing/Conspect (последним исправлял пользователь RomanKrivonogov 2018-10-08 10:57:36)