Персонажи, нарушающие источник

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

Персонажи, нарушающие источник

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

Чар Код
% \%
$ \$
& \&
# \#
_ \_
{ } \{ \}
~ \textasciitilde
\ \textbackslash

Что делают персонажи без экранирования

% начинает комментарий, поэтому все от него до конца строки отбрасывается. Это обычная ошибка «мое предложение исчезло»: в отчете пишется 50%, а остальная часть строки исчезает вообще без ошибок. $ переключает математический режим, поэтому случайное слово незаметно выделяет текст курсивом или выдает ошибки, далекие от опечатки. & — вкладка выравнивания в таблицах и блоках align; вне них происходит сбой с ошибкой «Неправильно расположенная вкладка выравнивания». # обозначает параметры макроса. _ и ^ относятся к математическому режиму, и в тексте они вызывают сообщение “Недостающий $ вставлен”, что имеет свой собственный урок. ~ — это неразрывный пробел, поэтому тильда, введенная в URL-адрес или путь, автоматически становится пробелом. \ запускает каждую команду, поэтому он не может экранировать самого себя: \\ — это разрыв строки, а буквальный символ требует \textbackslash.

Побег на практике

Для первых шести символов escape представляет собой префикс обратной косой черты, и он работает так же внутри других команд:

The run reached 87\% accuracy; results are in
\texttt{results\_v2.csv}, and the job cost \$40.

Обратите внимание, что подчеркивание нуждается в экранировании даже внутри \texttt. За двумя escape-символами в стиле команды, \textasciitilde и \textbackslash, должен следовать {} или пробел, когда следующая буква идет, чтобы имя команды не поглощало следующее слово.

Для целых фрагментов кода, путей или URL-адресов полностью пропустите экранирование. \verb|...| и среда verbatim печатают свое содержимое точно так, как оно напечатано, с отключением каждого специального символа, а \url{...} пакета url обрабатывает ссылки, дополненные тильдами.

Сильнее всего кусаются персонажи, которые терпят неудачу молча, и этот список возглавляет %. Вставленный текст является обычным виновником: URL-адреса, команды оболочки и финансовые показатели содержат зарезервированные символы. Если предложение пропадает из PDF-файла, найдите в этой строке источника пустой символ «%» прежде всего.

Вернуться к Тип и форма