Краткое содержание
Это занятие завершает первый раздел курса, посвящённый первым шагам в LaTeX. Оно восстанавливает цепочку понятий и процедур, ведущую от типографского набора к отладке документа, и указывает в каждом звене, какой принцип используется и на каком занятии он установлен; соотносит достигнутое с планом курса и уточняет, какие вопросы, лишь затронутые, остаются следующим разделам; повторяет в итоговом тесте навыки входного теста; и заканчивается шестью задачами повышенной трудности, более сложными, чем задачи занятий, которые требуют соединить инструменты нескольких занятий, чтобы найти причины сбоев в документах или спланировать документ по его описанию.
Цели обучения
- Восстановить порядок понятий и процедур раздела, указывая принцип, на который опирается каждое из них.
- Объяснить, как связаны правила чтения исходного текста, его анатомия и сообщения журнала.
- Отличать то, что раздел установил, от того, что он лишь наметил и что разовьют следующие разделы.
- Находить причины сбоев в документах, которые не компилируются сразу по нескольким причинам, и упорядочивать исправления по журналу.
- Планировать преамбулу и тело документа по описанию того, что он должен содержать.
Чего достиг раздел
Раздел ставил целью довести того, кто никогда не работал с LaTeX, до умения самостоятельно написать, скомпилировать и исправить короткий документ. Цель достигнута с единственной оговоркой, сделанной ещё во введении: умение обращаться с файлами и папками на компьютере считалось известным. С этой оговоркой пройденный путь можно прочитать как одну цепочку из четырёх отрезков, в которой каждое понятие или процедура опирается на предыдущие.
Что такое LaTeX
Занятие Что такое LaTeX отправлялось от типографского набора, совокупности решений, которые размещают каждую букву, каждую строку и каждую страницу, и от особых требований научных текстов. Из них оно вывело целесообразность языка разметки, в котором автор объявляет, что есть каждая вещь, а класс документа решает, как она выглядит: разделение содержания и формы, которое проходит через весь раздел. Затем оно различило три движка и выбрало LuaLaTeX, который читает Unicode и загружает шрифты системы; сформулировало три правила, по которым движок читает исходный текст (повторяющиеся пробелы считаются за один, пустая строка завершает абзац, а знак процента начинает комментарий), и описало цикл «написать, скомпилировать, прочитать» с журналом и вспомогательным файлом, которые остаются после каждой компиляции.
Рабочая среда
Занятие о рабочей среде превратило это описание в установку: дистрибутив, TeX Live, MiKTeX или MacTeX, с его менеджером пакетов; Texmaker, настроенный компилировать в LuaLaTeX, сохранять в UTF-8 и синхронизировать исходный текст с PDF; и Overleaf, в котором компилятор по умолчанию нужно менять в каждом проекте. Оно установило также правило «одна папка на проект», различие между тем, что пишет автор, и тем, что компиляция создаёт заново, и три причины, по которым PDF может не измениться: серьёзная ошибка, не дающая его записать, программа просмотра, которая блокирует файл или не перезагружает его, и компиляция другого файла.
Анатомия документа
Занятие об анатомии документа разобрало по частям то, что минимальный документ давал как готовый рецепт. Преамбула настраивает, а тело документа набирает, потому что на \begin{document} настройка закрывается. Команды делятся на управляющие слова, имя которых кончается на первом символе, не являющемся буквой, и которые поглощают следующий пробел, и управляющие символы, которые его не поглощают; они принимают обязательные аргументы в фигурных скобках и необязательные в квадратных, и у некоторых есть форма со звёздочкой. Декларации действуют до конца содержащей их группы, а окружения, которые тоже являются группами, должны закрываться в порядке, обратном порядку открытия. Десять зарезервированных символов что-то делают вместо того, чтобы печататься, и у каждого есть свой способ напечатать его. Пакеты и класс с их опциями завершают строение документа.
Компиляция и исправление ошибок
Занятие о компиляции и исправлении ошибок собрало всё предыдущее. Оно объяснило, что движок работает проходами, так что ссылки и оглавление заполняются на следующем проходе, а latexmk повторяет проходы сам; научило читать ошибку по строке с восклицательным знаком, по номеру строки и по разрыву, отделяющему прочитанное от того, что оставалось прочитать; отличило ошибки, которые исправляются всегда, от предупреждений и от сообщений о боксах; связало самые частые сообщения с их причинами, которые почти всегда оказываются нарушениями анатомии исходного текста; и предложило стратегию: читать сначала первую ошибку, делить исходный текст пополам, сводить задачу к минимальному примеру, удалять вспомогательные файлы и искать сообщение.
Следующая схема соединяет четыре отрезка в одну цепочку. Каждый узел столбца есть понятие или процедура, пронумерованные в том порядке, в каком они опираются друг на друга, и соединённые дугой с предыдущими звеньями, которые они используют; вокруг расположены опоры, то есть принципы, к которым цепочка обращается снова и снова, и каждая соединена сплошной линией со звеньями, которые на неё опираются, и пунктирной со звеном, где она устанавливается, кроме той, что принимается без изучения: она изображена кольцом. Нажатие на опору выделяет все звенья, которые её используют, а каждое звено ведёт к занятию, где оно изучается.
Опоры цепи
- AФайлы и папки. Обычное обращение с файлами и папками на компьютере: создавать их, называть, находить, копировать и различать по расширению. Считается известным со введения. В этом модуле принимается без доказательства.
- BСодержание и форма. Автор объявляет, что есть каждая вещь, а класс документа и преамбула решают, как она выглядит. Устанавливается в: 2. Язык разметки.
- CUnicode и шрифты. LuaLaTeX читает исходный текст в Unicode, сохранённый в UTF-8, и загружает шрифты системы; символ, которого нет в шрифте, не останавливает компиляцию, но отсутствует в PDF. Устанавливается в: 3. Движки и LuaLaTeX.
- DЖурнал. Каждая компиляция записывает в журнал то, что она сделала, с ошибками и предупреждениями; его читают первым, когда что-то не получается. Устанавливается в: 5. Исходный текст, компиляция и PDF.
- EГруппы и область действия. Декларация действует до конца содержащей её группы; фигурные скобки и окружения открывают группы, которые должны закрываться в порядке, обратном порядку открытия. Устанавливается в: 12. Группы и окружения.
- FЗарезервированные символы. Десять символов что-то делают вместо того, чтобы печататься; написанные в тексте как есть, они вызывают ошибку или незамеченный эффект. Устанавливается в: 13. Зарезервированные символы.
- GПервая ошибка. Чтобы оправиться от ошибки, движок угадывает, и его догадки могут порождать новые ошибки; лишь первая с уверенностью соответствует исходному тексту. Устанавливается в: 16. Чтение ошибки.
Участок 1 Что такое LaTeX
- Объяснять, что такое типографский набор и почему его требуют научные тексты.
- Отделять содержание от формы с помощью языка разметки.
- Выбирать движок в зависимости от языков, письменностей и шрифтов и обосновывать выбор LuaLaTeX.
- Предсказывать, что даст исходный текст, по правилам о пробелах, абзацах и комментариях.
Типографский набор. Набирать значит решать, где стоит каждая буква, где кончается каждая строка и где обрывается каждая страница; научные тексты, с формулами, ссылками, сносками и несколькими языками, требуют этого в большей мере.
Доказывается в уроке: Что такое LaTeX.
Язык разметки. В LaTeX, наборе макросов, написанном поверх TeX, автор размечает содержание в файле простого текста, а форма выводится из класса и преамбулы.
Использует: 1. Типографский набор. Доказывается в уроке: Что такое LaTeX.
Движки и LuaLaTeX. pdfLaTeX, XeLaTeX и LuaLaTeX понимают один и тот же LaTeX, но только два последних читают Unicode и загружают шрифты системы; курс пользуется LuaLaTeX.
Использует: 2. Язык разметки. Доказывается в уроке: Что такое LaTeX.
Пробелы, абзацы и комментарии. Несколько пробелов считаются за один, а перевод строки за пробел; пустая строка завершает абзац; знак процента превращает в комментарий остаток строки вместе с её переводом.
Использует: 2. Язык разметки. Доказывается в уроке: Что такое LaTeX.
Исходный текст, компиляция и PDF. Пишется исходный текст, движок его компилирует, и читается PDF; рядом с ним остаются журнал и вспомогательный файл.
Использует: 3. Движки и LuaLaTeX. Опирается на: A (Файлы и папки). Доказывается в уроке: Что такое LaTeX.
Участок 2 Рабочая среда
- Выбирать дистрибутив и тип установки в зависимости от системы, места на диске и подключения.
- Настраивать Texmaker и Overleaf на компиляцию в LuaLaTeX.
- Размещать каждый проект в своей папке и решать, какие файлы сохранять.
- Объяснять, почему PDF может не измениться после исправления.
Дистрибутив и пакеты. Дистрибутив объединяет движки, пакеты, шрифты и менеджер, который устанавливает недостающее: TeX Live, MiKTeX или MacTeX, полный или базовый.
Использует: 3. Движки и LuaLaTeX. Опирается на: A (Файлы и папки). Доказывается в уроке: Рабочая среда.
Texmaker и Overleaf. Texmaker настраивается компилировать в LuaLaTeX, сохранять в UTF-8 и синхронизировать исходный текст с PDF; в Overleaf LuaLaTeX выбирается в каждом проекте.
Использует: 5. Исходный текст, компиляция и PDF, 6. Дистрибутив и пакеты. Опирается на: C (Unicode и шрифты). Доказывается в уроке: Рабочая среда.
Папка и вспомогательные файлы. У каждого документа своя папка; то, что автор написал или добавил, сохраняется, а вспомогательные файлы, которые компиляция создаёт заново, можно удалять.
Использует: 5. Исходный текст, компиляция и PDF, 7. Texmaker и Overleaf. Опирается на: A (Файлы и папки). Доказывается в уроке: Рабочая среда.
PDF, который не меняется. Если PDF не меняется, то либо компиляция его не записала, либо программа просмотра его блокирует или не перезагружает, либо скомпилирован другой файл; это решают журнал и время изменения PDF.
Использует: 8. Папка и вспомогательные файлы, 7. Texmaker и Overleaf. Опирается на: D (Журнал). Доказывается в уроке: Рабочая среда.
Участок 3 Анатомия документа
- Отличать преамбулу от тела документа и решать, куда идёт каждая команда.
- Распознавать части команды и предсказывать, где кончается её имя.
- Предсказывать область действия деклараций и правильно вкладывать окружения.
- Печатать десять зарезервированных символов и объяснять, что они делают без защиты.
Преамбула и тело. Преамбула загружает пакеты и принимает решения, ничего не набирая; тело документа есть единственное место, где идёт набор; то, что только определяет или запоминает, может стоять и там и там, но лучше в преамбуле.
Использует: 5. Исходный текст, компиляция и PDF. Опирается на: B (Содержание и форма). Доказывается в уроке: Анатомия документа.
Команды. Управляющее слово кончается на первом символе, не являющемся буквой, и поглощает следующий пробел; управляющий символ состоит из одного символа и пробела не поглощает; аргументы пишутся в фигурных или квадратных скобках.
Использует: 4. Пробелы, абзацы и комментарии. Доказывается в уроке: Анатомия документа.
Группы и окружения. Декларация действует до конца своей группы; окружения суть группы, и открытое внутри другого закрывается раньше него.
Использует: 11. Команды. Опирается на: B (Содержание и форма). Доказывается в уроке: Анатомия документа.
Зарезервированные символы. Обратная косая черта, фигурные скобки, процент, доллар, амперсанд, решётка, знак подчёркивания, циркумфлекс и тильда что-то делают вместо того, чтобы печататься, и каждый печатается своим способом.
Использует: 11. Команды, 4. Пробелы, абзацы и комментарии. Доказывается в уроке: Анатомия документа.
Пакеты и класс. Пакеты расширяют то, что умеет LaTeX, и загружаются только в преамбуле; класс с его опциями задаёт общую форму документа.
Использует: 10. Преамбула и тело, 6. Дистрибутив и пакеты. Опирается на: B (Содержание и форма). Доказывается в уроке: Анатомия документа.
Участок 4 Компиляция и исправление ошибок
- Объяснять, почему ссылкам и оглавлению нужен ещё один проход, и компилировать с latexmk.
- Читать ошибку в журнале: её сообщение, её строку и место обнаружения.
- Связывать самые частые ошибки с их вероятными причинами.
- Находить настоящую причину ошибки по упорядоченной стратегии и решать, на какие предупреждения обращать внимание.
Проходы и latexmk. На каждом проходе движок записывает во вспомогательные файлы номера и заголовки, которые использует следующий проход; latexmk повторяет проходы, пока ничего не перестанет меняться.
Использует: 8. Папка и вспомогательные файлы. Опирается на: D (Журнал). Доказывается в уроке: Компиляция и исправление ошибок.
Чтение ошибки. Ошибка узнаётся по строке с восклицательным знаком; строка, начинающаяся с l., даёт номер строки исходного текста, разделённой на прочитанное и то, что оставалось прочитать.
Использует: 9. PDF, который не меняется, 11. Команды. Опирается на: D (Журнал). Доказывается в уроке: Компиляция и исправление ошибок.
Частые ошибки. Неопределённые команды или окружения, неоткрытые формулы, непарные скобки, отсутствующие файлы и текст в преамбуле: каждое сообщение выдаёт нарушение какого-либо правила анатомии исходного текста.
Использует: 16. Чтение ошибки, 10. Преамбула и тело, 12. Группы и окружения, 13. Зарезервированные символы, 14. Пакеты и класс. Опирается на: E (Группы и область действия), F (Зарезервированные символы). Доказывается в уроке: Компиляция и исправление ошибок.
Стратегия отладки. Прочитать первую ошибку, делить тело документа пополам, не разрывая групп и окружений, свести к минимальному примеру, удалить вспомогательные файлы и поискать сообщение.
Использует: 17. Частые ошибки, 4. Пробелы, абзацы и комментарии, 8. Папка и вспомогательные файлы. Опирается на: D (Журнал), E (Группы и область действия), G (Первая ошибка). Доказывается в уроке: Компиляция и исправление ошибок.
Предупреждения. Предупреждения не останавливают компиляцию, но некоторые требуют действий: неопределённые ссылки, просьбы скомпилировать ещё раз, выступающие строки и отсутствующие символы.
Использует: 15. Проходы и latexmk, 16. Чтение ошибки. Опирается на: C (Unicode и шрифты), D (Журнал). Доказывается в уроке: Компиляция и исправление ошибок.
К тексту. Цепочка останавливается там, где минимального документа уже недостаточно: сам текст, с его языками, письменностями, сносками и цитатами, есть предмет следующего раздела.
Загрузка содержимого…