Как сделать пустую строку в латехе

Обновлено: 03.07.2024

Джульетта Кемп считает настольные издательские системы типа WYSIWYG уделом слабаков – истинные хакеры используют код, пакеты и массу фигурных скобок.

LaTeX – это язык разметки и система подготовки документов, базирующаяся на языке набора TeX, который создал Дональд Кнут. TeX – язык очень низкого уровня, и его прямое использование не обрадует многих из нас (включая меня любимую); LaTeX предлагает более человеколюбивый способ общения с собой.

Основная идея TeX и LaTeX заключается в том, что автор документа должен сконцентрироваться на структуре своей работы и оставить представление дизайнерам, или, в нашем случае, дизайнеру(ам) процессора верстки. Вместо того, чтобы выбирать шрифты и оформление текста напрямую, вы просто указываете его тип (заголовок, список, диаграмма с подписью и т.п.), а LaTeX делает остальную работу за вас. Вникнув, вы поймете, что это невероятно мощная штука. Данная статья описывает основы, но вы можете сделать больше или меньше, если захотите – на LaTeX легко свалить всю тяжелую работу, но всегда остается возможность более тесного контроля за форматированием.

Часть 1 Основы LaTeX

Давайте рассмотрим простенький пример документа LaTeX.

Итак: первой идет секция преамбулы – часть перед строкой \begin . В этом месте вы указываете тип документа (в нашем случае это article [статья]), автора и дату [при написании заголовка и автора на русском языке следует поместить эти поля в тело документа, а в преамбулу добавить команды работы с русским языком, – прим. пер.]. Преамбула – просто установочная информация, она не появляется на странице. Тело документа – то, что вы хотите вывести на печать/экран – располагается между строками \begin и \end . Команда \maketitle генерирует заголовок из содержимого команд \title, \author, и \date в преамбуле [для русского языка – в теле документа]. После этого вы помещаете основной текст.

LXF110 78 1.jpg

Вывод первого безошибочного запуска LaTeX.

Два перевода строки подряд обозначают новый абзац; в прочих случаях пробелы игнорируются, и вы можете отформатировать текст так, чтобы было легче ориентироваться в структуре документа. Все, что размещено вне секции document (как в коде примера), напечатано не будет. Данная возможность полезна для вставки личных примечаний – без риска, что они угодят в окончательную статью, если вы забудете их удалить. Комментарии начинаются с символа % и также игнорируются. Вы уже, наверное, заметили, что все команды LaTeX начинаются с \. Часть из них имеют аргументы, следующие дале в фигурных (для обязательных) или квадратных скобках (для опциональных параметров).

Есть два способа превратить эти команды в документ; оба требуют работы в терминале. Стандартная команда – latex file.tex – создает DVI-файл, file.dvi, который можно открыть в любом просмотрщике (сгодится Evince). Другой вариант – использовать pdflatex file.tex для генерации PDF-документа. Результат выполнения команды latex file.tex показан на экранном снимке.

Вы также можете увидеть предупреждение “Overfull [or underfull] hbox” – оно означает, что данная строка не может быть сжата или разрежена, чтобы заполнить должным образом отведенное ей место. Пока не дойдет до окончательного варианта, не берите это в голову; и даже в финале сперва гляньте на страницу, прежде чем что-то исправлять. Если все и правда так плохо, в некоторые слова можно вставить ручные переносы.

Изменяем поля

Поля LaTeX по умолчанию очень велики. Дональд Кнут, делая их такими, упирал на то, что строки в книгах обычно достаточно коротки, чтобы их было удобнее читать. Вы, возможно, хотели бы уменьшить эти поля и сэкономить бумагу. Я обычно использую установки, которые выглядят так (все это располагается в преамбуле):

Часть 2 Форматирование

Итак, это ваш первый простой документ. Но форматирования в нем явно мало; посмотрим, что еще можно сделать. Отредактируем наш исходный документ из первой части. Все обрывки кода, приведенные далее, нужно будет поместить, если не указано другое место, между тэгами \begin и \end .

Одна из самых часто используемых опций – деление документа на разделы, что, как вы наверняка знаете, является хорошим способом сберечь людские глаза (не говоря уж о мозгах) от утомления. Например:

Эта вся доступная иерархия. Помните, что у нее есть предел.

Затем LaTeX автоматически создаст соответствующие стили заголовков для ваших разделов, как на экранном снимке. Если вы используете команды, указанные выше, разделы будут пронумерованы. Чтобы избежать этого, используйте синтаксис \section*<> ( \subsection*<> и т. д.) – лично я делаю так по умолчанию.

LXF110 79 1.jpg

Заголовки разделов и подразделов; размер шрифта уменьшается при движении вниз по иерархии.

Помните, что при каждом редактировании исходного файла с кодом вы должны сохранить его и снова запустить latex file.tex перед перезагрузкой выходного файла в просмотрщике. Можно также создавать обычные списки (и упорядоченные, и неупорядоченные), как показано в следующем примере кода, и списки определений, немного отличающиеся по структуре. Они похожи на строки из словаря, где сперва идет термин, а потом описание. Сравните код с экранным снимком, чтобы понять, что происходит.

Есть и окружения для цитат: \begin . \end для коротких и \begin . \end для длинных (они лучше работают при наличии нескольких абзацев), и даже begin . \end для стихов (они позволяют отделять строки внутри строф с помощью \\). Цитата всегда располагается с отступом от основного текста. Весь смысл LaTeX состоит в том, чтобы не заниматься сложным форматированием – пусть эту работу делает программа. Но если вдруг вы захотите напечатать что-то курсивом – попробуйте \emph . Или жирным шрифтом – \textbf . Или текстом в стиле Courier – \texttt .

Абзацы

300pxМожно создать маркированный или нумерованный списки, а также похожий на словарную статью список описаний.

LaTeX воспринимает пустую строку как указание на разрыв абзаца, но это вовсе не означает, что она окажется между абзацами в вашем выходном файле – в книгах так не делают (вместо этого используют отступ), поэтому и LaTeX по умолчанию так не поступает. Однако данное поведение можно изменить: если, например, вы хотите получить между абзацами расстояние в 1 см, вставьте в вашу преамбулу (но не в окружение основного документа!) следующую конструкцию:

Вы также можете задать отступ абзаца [красную строку, – прим. пер.]

Чтобы полностью отключить эту функцию, используйте нулевое значение, но помните, что если у вас нет красных строк и интервалов, то будет непонятно, где вообще начинаются абзацы!

LaTeX может мерить длины в см, мм, дюймах, ex (высота типографской х), em (ширина типографской М), точках и bp (больших точках, которые чуть больше обычной точки). Я предпочитаю ex и em, когда собираюсь поиграть с размером шрифта (кеглем), потому что они будут изменяться вместе с ним.

Выкатить свои команды

Будучи фактически языком программирования (хотя я не уверена, что он полон по Тьюрингу!), LaTeX позволяет определять собственные макросы (команды) с помощью \newcommand. Такое может пригодиться, если у вас есть сложное имя или предложение, которое необходимо писать повторно. Например, можно создать такой макрос:

в преамбуле. Затем, желая напечатать “Linux Format” в теле документа, набирайте \lf.

Макросы особенно полезны, если вы набираете сложную математику – можно ввести формулу только один раз, в определении макроса, и дать ей какое-нибудь легко запоминаемое имя. Можно также добавить в команду аргументы. Если же вы хотите переопределить существующие команды LaTeX, используйте \renewcommand.

Часть 3 Рисунки

Иногда одних слов недостаточно, вот почему LXF осчастливлен прекрасными иллюстрациями. LaTeX поддерживает добавление рисунков, хотя, к сожалению, процесс может быть немного нудным. В конечном итоге ваш исходный LaTeX-код станет похож вот на что:

Сперва вам нужно подключить пакет graphicx: он позаботится о вставке картинок. Он должен быть в стандартной установке вашего LaTeX.

OK, вернемся к добавлению нашей картинки. Окружение рисунка в теле документа велит LaTeX рассматривать все внутри него как единый блок, отдельно от остального окружающего текста. Процессор обработает размер вашего рисунка и поместит его как можно ближе к упоминанию о нем в тексте, но не нарушая общей верстки документа. Это значит, что нельзя самому решить, где именно поставить рисунок – вы должны положиться на LaTeX, который сделает это за вас. Расслабьтесь и согласитесь на утрату контроля…

Но уж если вы не можете расслабиться, или если ваш документ сильно загружен рисунками и LaTeX спотыкается, добавьте [tbh] к окружению иллюстрации, вот так:

Больше чем слова

Если вы хотите отцентровать иллюстрацию (в смысле, по горизонтали), можете заключить все в окружение эээ\begin . \endэээ. Это также работает и с текстом.

Наконец, надо дать рисунку подходящую подпись, а также включить в нее метку. Метка означает, что вы можете сослаться на рисунок в своем тексте, а LaTeX автоматически сгенерирует номер для рисунка (например, Рисунок 1.1) и правильно пронумерует ссылку на него. В исходном тексте документа ссылка будет выглядеть примерно так

Заметим, что для получения правильных ссылок, команду latex file.tex нужно запустить дважды – при первом проходе вы лишь получите предупреждение о неопределенных ссылках.

Если вы когда-либо решали включить в документ еще одну иллюстрацию, график или фотографию, а затем следующие 10 минут с проклятиями выискивали и переделывали вручную всю сбившуюся нумерацию и ссылки, вы зауважаете эту степень автоматизации. Если вы этого раньше не делали, попробуйте, пожалуйста, сейчас – вы тут же осознаете достоинства LaTeX.

Часть 4 Типы документов

Прежде чем заняться другими типами документов, запомните, что аргументы \documentclass могут иметь различные опции. Например,

Вы также можете использовать различные типы документов. Основные из них таковы:

  • article (статья) Применим для большинства документов.
  • report (отчет) Позволяет иметь несколько глав.
  • book (книга) Может иметь главы, оглавление и прочие книжные штуки.
  • letter (письмо) Понятое дело, хорош для написания писем.

Все эти типы работают схожим образом, но имеют разные настройки по умолчанию. Например, в article новая страница для заголовка не создается, а в report и book – создается. (Хотя это можно изменить, поместив titlepage или notitlepage как опцию аргумента \documentclass. LaTeX действительно очень гибок!)

Давайте глянем, как используется класс letter.

Идем дальше

LaTeX имеет много других интересных опций. Он особенно хорошо поддерживает математику и уравнения, благодаря встроенному математическому режиму.

Конечно же, не найдя пакет, который делает именно то, что вам нужно, вы можете создать собственный.

Внимание.

Читайте также: