Сейчас то время года, когда студенты выбирают себе классы для обучающих навыков. Один из навыков, который будет поощряться, — обучение LaTeX. Другие могут придти к использованию LaTeX по другим причинам: кто-то хочет сверстать книгу; кто-то слышал, что LaTeX может иметь отношение к журналу Digital Humanities; ну и так далее. Я написал это эссе в качестве предварительного введения в LaTeX. Оно не научит вас использовать редактор (я не имею квалификации для этого!), но я попытаюсь популярно объяснить тем, кто ещё не использует LaTeX, для чего именно он нужен. Это поможет им понять, стоит ли LaTeX усилий на его изучение (не говоря уже о том, чтобы просто заставить его работать). Почему такое большое эссе? Потому что многие из евангелистов превратили LaTeX в фетиш и распространяют дезинформацию о его истинных достоинствах. Хочу прояснить ситуацию.

1. Что такое LaTeX?


По словам официального сайта, LaTeX — это «высококачественная система набора и вёрстки» и «стандарт де-факто для обмена и публикации научных документов». С этим никто не спорит.

Коммерческая вёрстка книг, журналов и т. д. обычно осуществляется в настольных WYSIWYG-приложениях для подготовки публикаций, таких как InDesign, Scribus или PageMaker, разработка которого уже прекращена. LaTeX работает иначе: вы даёте ему файл, содержащий текст с кодом (т.е. с разметкой), а он выдаёт файл Postscript, который другая программа может конвертировать в PDF (некоторые варианты напрямую генерируют PDF). Если вы уделили некоторое время чтению (a) статей с конференций по информатике, (b) препринтов научных статей в свободном доступе на arXiv.org или (с) документации пакетов R, то вам знаком внешний вид этих PDF: названия отцентрированы (но не заголовки), отступ в первой строке каждого абзаца, выровненные строки, обычно широкие поля, если не используется разметка в две колонки, элегантные междусловные пробелы и всё обычно набрано этим странным, старомодным шрифтом, который называется Computer Modern.

Технически, LaTeX создан на базе TeX: «языка программирования специального назначения, центрального элемента системы набора и вёрстки, которая выдаёт математику (и сопровождающий текст) издательского качества» (TeX Users Group). TeX создал в конце 1970-х легендарный учёный в области информатики Дональд Кнут, разочарованный стандартами набора и вёрстки у своего издателя. Первыми пользователями стали математики, по достоинству оценившие математические символы, недоступные на печатной машинке, и красоту математических формул в новой системе. В начале 1980-х другой выдающийся учёный в области информатики Лесли Лэмпорт расширил TeX и создал LaTeX (добавив к названию первые две буквы своей фамилии). Лэмпорт добавил макросы TeX: программы, которые генерируют код TeX вместо вас, в фоне. Очень немногие пытаются писать документы напрямую в TeX. Это слишком трудно. Писать в LaTeX легче. Но это не значит, что писать в LaTeX — хорошая мысль.

2. Фетиш LaTeX


Многие учёные и математики пишут статьи в формате LaTeX: слова и знаки пунктуации они сопровождают фрагментами кода, компьютерными инструкциями для набора и вёрстки текста вроде «стилизовать этот фрагмент текста как заголовок главы» или «вставить здесь многоточие». Результатом (в идеале) становится приятно выглядящий PDF, который можно отправлять на рецензию в научный журнал. Если журнал примет статью, то автор или авторы могут загрузить более-менее такой же PDF в репозиторий с открытым доступом, а журналу выслать исходный код LaTeX, который будет заново набран и свёрстан. Пользователи LaTeX часто набирают в нём и другие документы: например, диссертации, раздаточные материалы для конференций и резюме. Наверное, так происходит только потому, что хорошо освоив конкретную технологию для некоей конкретной цели, они стремятся применить её для всех остальных задач, где возможно. Но могут быть и более позитивные причины. Набранные в LaTeX документы, как отмечено выше, легко узнаваемы. Отформатированное в LaTeX резюме — это резюме пользователя LaTeX, а пользователя LaTeX воспринимают серьёзно в научных областях, где принято использовать LaTeX. И т.д.

Хотя LaTeX не так неудобен для пользователя, как TeX, написание в нём обычного текста можно считать аномалией. LaTeX — система набора и вёрстки и язык разметки. Системы набора и вёрстки обычно не используются для редактирования текста, и хотя языки разметки вроде XML и HTML часто используются таким образом, обычно это считается плохой идеей. Довольно логично утверждается, что «заставлять людей редактировать XML — это садизм» (Django Project), и хотя на протяжении какого-то времени онлайновый журнал Digital Humanities Quarterly требовал, чтобы все работы присылали в формате XML (и уникальное разнообразие XML-документов создавалось специально для этой цели), сейчас он принимает статьи и в форматах популярных текстовых редакторов. Организация Wikimedia Foundation признала требование использовать разметку wikitext при создании или редактировании статей одним из барьеров для новых пользователей. Впрочем, попытка реформы была сорвана постоянно уменьшающимся сообществом преданных волонтёров Википедии, среди которых «не выходит за рамки общепринятого мнение, что облегчение редактирования документов — это потеря времени». Я пишу этот блог в слегка упрощённой версии HTML, которая используется в текстовом редакторе WordPress, хотя каждый раз, когда эссе превышает некий размер, я думаю, что лучше бы я этого не делал. Разметка хороша для машин, для чтения и записи, но не настолько хороша для людей. Это хорошо понимали создатели текстовых редакторов вроде Microsoft Word и LibreOffice Writer, которые оба хранят текст в форме XML, но никогда не заставляют пользователя разбираться с реальным XML.

Несмотря на всё это, много текстов пишется именно в LaTeX. Я называю «фетишем LaTeX» убеждение, что в LaTeX есть что-то особенное, что помогает писать в нём тексты. Как мы увидим, аргументы в пользу LaTeX неубедительны на рациональном уровне: в LaTeX на самом деле довольно неудобно писать (хотя могло быть и хуже, например, это мог быть TeX). Это не значит, что от использования LaTeX следует вообще отказаться, но людям хотя бы стоит прекратить рекомендовать его в качестве текстового редактора.

3. Аргумент для написания текста в LaTeX


LaTeX лучше подходит для написания текстов, чем TeX, но это немного говорит. Некоторые энтузиасты делают гораздо более громкие заявления, намекая — или прямо заявляя — что написание текстов в LaTeX лучше не только TeX, но даже чем-то лучше, чем набор текста в обычном текстовом редакторе. Например, блог онлайнового редактора ShareLaTeX даёт такой совет студентам, которые пишут диссертацию: «Ваша диссертация может стать самым большим и сложным документом, который вы когда-либо напишете, вот почему хорошей идеей будет использовать LaTeX вместо обычного текстового процессора». Более полный аргумент даёт сам LaTeX Project:
LaTeX — не текстовый процессор! Вместо этого LaTeX поощряет авторов не слишком беспокоиться о внешнем виде своих документов, а сконцентрироваться на правильном содержании. Например, возьмём следующий документ:
Декартово замкнутые траектории и стоимость яиц
Джейн Доу
Сентбярь 1994

Hello world!
Для набора такого текста в большинстве систем вёрстки или текстовых процессорах автору нужно разметить текст, например, выбрать шрифт Times Roman величиной 18 пунктов для заголовка, шрифт Times Italic 12 пунктов для имени и так далее. Это приводит к двум результатам: авторы тратят время на оформление и появляется много плохо оформленных документов!

LaTeX основан на идее, что оформление документа лучше оставить дизайнерам, а авторы пусть сконцентрируются на написании текста. Так что в LaTeX вы введёте такой документ следующим образом:

\documentclass{article}
\title{Cartesian closed categories and the price of eggs}
\author{Jane Doe}
\date{September 1994}
\begin{document}
\maketitle
Hello world!
\end{document}
Это вполне стандартное объяснение, почему люди предпочитают использовать LaTeX вместо текстового процессора. Мне много раз встречались различные варианты такого объяснения. Например, на момент написания этой статьи страница Википедии, посвящённая LaTeX, утверждает следующее: «LaTeX следует философии отделения представления от содержания, так что авторы могут сконцентрироваться на содержании своих текстов, не отвлекаясь одновременно на визуальное оформление». В презентации с подзаголовком «Правильный способ создания документов» сотрудник MIT Research Science Institute однозначно отвечает на вопрос, почему следует использовать LaTeX: «Представление не должно мешать контенту», а затем объясняет этот тезис, сравнивая текстовые процессоры и LaTeX — причём в этих сравнениях неизменно побеждает LaTeX:

  • В текстовом процессоре вы тратите драгоценное время в муках, какой размер шрифта выбрать для заголовков разделов.
    В LaTeX вы просто сообщаете о начале нового раздела.
  • В текстовом процессоре изменение форматирования означает, что вам придётся менять каждый элемент по отдельности.
    В LaTeX вы просто переопределяете соответствующие команды.
  • В текстовом процессоре вам следует аккуратно следовать всем шаблонам.
    В LaTeX вы всегда уверены, что соответствуете всем шаблонам, и легко переключаетесь между ними.
Эти текстовые процессоры выглядят ужасно, правда? А LaTeX выглядит замечательно, разве нет? Теперь я буду с вами честным. Некоторое время я принимал такие аргументы за чистую монету и более-менее часто сам повторял их как часть опубликованных обсуждений академической грамотности:
В то время как на старинных механических печатных машинках трудно изменить внешний вид символов, популярные компьютерные операционные системы поставляются с большим набором цифровых шрифтов, предоставляя миллионам пользователей доступ к современным шрифтам, таким как Helvetica, Gill Sans и Calibri, а также к старинным шрифтам вроде семейства Garamond. Подобные возможности можно считать отвлекающим фактором, вот почему многие учёные отказываются от текстовых редакторов в пользу LaTeX: язык разметки документов, который помогает забыть о том, как будет выглядеть текст, и сконцентрироваться на его концептуальной структуре.
Так что это официальная причина, почему LaTeX считается хорошим редактором. Текстовые процессоры заставляют вас «слишком сильно беспокоиться о внешнем виде [ваших] документов», что является «отвлекающим фактором», а работа в LaTeX позволяет «сфокусироваться на содержании того, что [вы] пишете, не обращая внимания одновременно на визуальное оформление документа». Это полезно, чтобы «забыть, как выглядит текст и вместо этого сконцентрироваться на его концептуальной структуре». Все так говорят. Даже я. (Кстати, мой соавтор ни при чём: я сам написал тот абзац).

4. Критика аргумента


Я был так убеждён в аргументах в пользу того, почему учёные пишут тексты в LaTeX, что и сам начал создавать собственный документ в LaTeX (так никогда и не закончил его, это стало уроком). В конце концов я понял, что хотя этот аргумент (как отмечалось выше) широко распространён и часто повторяется, он неверный. Посмотрим ещё раз на тот пример. Серьёзно, любой, кто думает, что заставлять людей набрать такое…
\documentclass{article}
\title{Cartesian closed categories and the price of eggs}
\author{Jane Doe}
\date{September 1994}
\begin{document}
\maketitle
Hello world!
\end{document}
…вместо этого…
Декартово замкнутые траектории и стоимость яиц
Джейн Доу
Сентбярь 1994

Hello world!
…означает «позволить авторам преуспеть в написании документов», обладает (в лучшем случае) слегка нетрадиционным пониманием слов «позволить» или «написание», или, возможно, «преуспеть». Неужели кто-то из пользователей LaTeX действительно верит, что это истинная причина его использования LaTeX? Возможно, здесь можно провести параллели с тем, что Мэтт Хиллз называет «дискурсивными мантрами» у фанатов культовых сериалов, таких как «Доктор Кто». Эти мантры — стандартные аргументы, которые выдвигаются фанатами снова и снова — согласно анализу Хиллза представляют собой «защитные механизмы, созданные для придания фанатской эмоциональной связи некоего рационального смысла, то есть для… узаконивания любви фанатов к „своей” программе». Попробуйте перечитать это, заменив «фанаты» на «преданных пользователей», а «сериалы» на «компьютерные программы». И это ещё не всё. «Преданные пользователи» используют этот аргумент для убеждения новых поколений авторов научных статей — особенно студентов — осваивать LaTeX.

Так что давайте более внимательно разберём полный аргумент LaTeX Project, процитированный выше:

  1. Для набора такого текста в большинстве систем вёрстки или текстовых процессорах автору нужно разметить текст, например, выбрать шрифт Times Roman величиной 18 пунктов для заголовка, шрифт Times Italic 12 пунктов для имени и так далее.
    В большинстве систем набора и вёрстки — да, бесспорно. В этом их смысл. Но большинство людей не используют на компьютере системы набора и вёрстки. Они используют текстовые редакторы, такие как Word, Writer или Pages. И у них есть установки по умолчанию, которые (в большинстве случаев) можно оставить для использования. Вот почему так много документов набрано шрифтом Times New Roman 12 пунктов (бывший шрифт по умолчанию в Word, мировом лидере на рынке текстовых редакторов) и шрифтом Calibri 12 пунктов (нынешний шрифт по умолчанию там же). Если хотите повозиться со шрифтами и полями в текстовом реакторе — пожалуйста. Но вас никто не заставляет. И определённо нет необходимости принимать осознанное решение о шрифтах перед тем, как начать писать. Поэтому совершенно ложным является утверждение, что «необходимо выбрать шрифт, его размер и прочее», чтобы создать в текстовом процессоре документ из примера. Достаточно просто набрать «Декартово замкнутые траектории и стоимость яиц» и так далее — что гораздо интуитивнее, чем набор \title{Декартово замкнутые траектории и стоимость яиц} (не говоря уже о \documentclass{article}), как должен сделать пользователь LaTeX. Конечно, набор слов «Декартово замкнутые траектории и стоимость яиц» не даст такой же красиво оформленный заголовок, как \title{Декартово замкнутые траектории и стоимость яиц} (когда сработает магия LaTeX) — но решить эту проблему можно так же эффективно, как она решается в LaTeX, и гораздо менее навязчивым способом (об этом мы вскоре поговорим).
  2. Это приводит к двум результатам: авторы тратят время на оформление...
    У авторов есть много способов увильнуть от написания текста, в том числе через возню с оформлением. Нет причин предполагать, что авторы будут меньше уклоняться от работы, если перестанут использовать текстовые процессоры. Они могут уклониться, совершенствуя свои настройки LaTeX. Я знаю много академических авторов, которые тратят на это немалое время. Я не говорю, что это хуже, но разве это лучше на самом деле? Пока не существует эмпирических доказательств, что авторы в LaTeX меньше отвлекаются от работы, чем другие авторы, вышеприведённая цитата остаётся безосновательным утверждением, которое предполагается принять на веру.
  3. …и появляется много плохо оформленных документов!
    Ну, может быть. Но существуют другие способы решить проблему. Например, во всех трёх университетах, где я преподавал, были формальные спецификации для оформления студенческих работ — формальные спецификации, которые близки к настройкам по умолчанию в популярных текстовых редакторах. Если речь идёт о том, чтобы не разрешить студентам набирать документы фиолетовым шрифтом Comic Sans в 28 пунктов, то обучать их всех использовать LaTeX — гораздо менее эффективный способ, чем просто заявить, что вы не принимаете работы, которые не соответствуют установленному стилю оформления. (Также может помочь обучение их правильному использованию текстовых редакторов).
  4. LaTeX основан на идее, что оформление документа лучше оставить дизайнерам, а авторы пусть сконцентрируются на написании текста.
    Задумайтесь об этом на секунду. Если вопрос в том, как авторам преуспеть в написании документов, то разве ответом действительно будет LaTeX? Да, LaTeX в этом отношении лучше, чем TeX. Но если бы их обоих не существовало, вы бы действительно сейчас, в 2016 году, предложили использовать язык разметки?

Аргумент MIT Research Science Institute немногим лучше. Если внимательно посмотреть на три сравнения, то на самом деле в них противопоставляются не LaTeX и текстовые процессоры, а эффективное использование LaTeX и наивное злоупотребление текстовыми процессорами: все три примера, которые, по мнению сотрудника Research Science Institute, великолепно выполняются в LaTeX, на самом деле так же идеально можно подготовить в текстовом редакторе. Мы подробнее рассмотрим их в следующей главе. Сейчас достаточно наблюдения, что людям, которые неумело пользуются определённым инструментом, говорят изучить совершенно другой инструмент на том основании, что это позволит им хорошо делать вещи, которые они могли так же хорошо сделать и с помощью старого инструмента — что (если подумать) представляет собой довольно необычную методику, если вы действительно хотите помочь людям в написании текстов, а не (боже упаси!) просто пропагандируете принятый в сообществе способ написания текстов. Что действительно важно — так это обучить студентов важности написания структурированного текста и использованию функций того инструмента, который они используют, для облегчения работы. А вместо этого мы наблюдаем евангелизм LaTeX с ложным выводом, что текстовые процессоры вообще не поддерживают структурированный текст. Если кто-то размечает заголовки разделов в текстовом редакторе, выбирая жирный шрифт или увеличивая размер шрифта, то он неправильно использует функции текстового редактора. Человеку следует показать режим структуры документа в Microsoft Word и Навигатор в LibreOffice Writer, научить автоматически генерировать содержание, что оба редактора делают одним нажатием кнопки. Сравнение хорошего использования LaTeX с плохим использованием текстовых редакторов несправедливо. Максимум, что можно сказать — это что знакомить с LaTeX вас с большей вероятностью будет человек, который действительно хорошо в нём разбирается, а вот знакомство с текстовыми редакторами с большей вероятностью будет поверхностным под неформальным инструктажем человека, который не очень хорошо в них разбирается. Поэтому число пользователей LaTeX, которые не используют функции структуризации документа, близко к нулю, а среди пользователей текстовых процессоров таких огромное количество.

В итоге, аргумент в пользу использования LaTeX при написании текстов более чем слабый. TeX решил изначальную проблему для учёных и математиков, но усложнял написание сопровождающих текстов рядом с математическими формулами; LaTeX частично смягчил эту проблему в те времена, когда существовало мало других надёжных систем набора и вёрстки и никакие из них не были предназначены для академического использования. Создателем TeX был, пожалуй, самый великий человек в компьютерных науках со времён фон Неймана. TeX и LaTeX стали реальными, работающими примерами свободного программного обеспечения как раз в то время, когда движение за свободное ПО начало набирать силу и появились евангелисты; всё началось с этого. Это хорошие причины для принятия в академических кругах TeX и LaTeX в конце 1980-х. Но никакая из этих причин не имеет ничего общего с предположением, что LaTeX подходит для написания текстов — и тот факт, что большинство людей не умеют правильно использовать текстовые редакторы, тоже не имеет ничего общего с предположением о превосходстве LaTeX.

5. Аргумент против написания текстов в LaTeX


Если вкратце, то документы LaTeX очень сложно читать до вёрстки, что делает неэффективным как написание текстов, так и редактирование. Это тезис, который должен быть понятен программистам: если важна читаемость кода, то не менее важна и читаемость текста. Документы LaTeX могут превращаться в в прекрасные читаемые PDF после набора и вёрстки, но метод их редактирования, мягко говоря, не оптимальный.

LaTeX, как уже отмечалось — это язык разметки. Разметка состоит из текста, перемежаемого кодом. Код встревает в содержание документа. Чтение размеченного текста требует интерпретации или фильтрации разметки, чтобы восстановить в своей голове изначальный текст. Это не является преимуществом при написании или редактировании прозы. Я покажу, что имею в виду.

Вот скриншот некоторого текста, размеченного в LaTeX. Текст взят с небольшой адаптацией из статьи, которую я опубликовал в июне. На скриншоте я редактирую этот текст в версии Emacs, которая поставляется с OS X, это мой привычный текстовый редактор на «маке»:


Редактирование LaTeX в Emacs 22 (с преднамеренной ошибкой)

Как можно заметить (нажмите на картинку для просмотра полноразмерной версии), заголовок внутри фигурных скобок определён как содержащий заголовок (\title{The IF community}), в то время как название раздела внутри пары фигурных скобок определено как содержащее название раздела (\section{A past that it could not transcend}). Это суть разметки. С чем она хорошо справляется — так это с однозначным определением заголовков разделов как таковых, что будет полезно на последующих этапах (например, когда потребуется применить конкретный стиль ко всем заголовкам разделов). Но использование для этого именно разметки (в отличие от альтернативных способов) разрушает восприятие текста человеком (включая редактора и самого автора): глядя на скриншот, мы видим текст, перемешанный с большим количеством служебных символов, которые не являются частью этого текста, и мы должны определить, какие слова и знаки пунктуации увидит конечный читатель. Это мешает понять, действительно ли мы используем правильные слова и знаки пунктуации. Неважно, насколько вы привыкли к этому языку разметки, он представляет собой ненужное когнитивное обременение. Эта специфическая проблема относится к разметке BibLaTeX для автоматической генерации цитат и библиографии, потому что разметка вообще не похожа на текст, который она сгенерирует в итоговом документе.

Кстати, одно из слов на скриншоте написано с ошибкой. Это опечатка, которую я вставил специально. Я знаю, где она находится, потому что сам вставил её туда, но попытка найти её вызывает боль в глазах.

Далее скриншот того же текста в редакторе LibreOffice Writer. Там присутствует та же самая опечатка, но на этот раз её гораздо легче заметить (нужно добавить, что проверка правописания её не заметила; и опять нажмите на картинку для увеличения):


Редактирование текста в LibreOffice Writer (с преднамеренной ошибкой)

Спойлер: опечатка в слове “devotes” (for “devotees”). Может быть, вы заметили её здесь, может и нет, может вы заметили её в разметке — но я думаю, вы согласитесь, что рассматривать документ с визуальной вёрсткой и шрифтом Sans было проще. Должен заметить, что цитаты и библиография сгенерированы автоматически (с помощью Zotero), но именно в таком виде, в каком они появятся в финальном документе (легко читаемом виде): там, где в варианте LaTeX используются \parencite[see][]{bennett_2002} и \printbibliography, в версии LibreOffice указано “(see Bennett 2002)” и реальная библиография.

Также хочу обратить внимание, что заголовки статьи и раздела указаны так же однозначно, как и в документе LaTeX. Когда я делал скриншот, курсор находился в заголовке статьи, хотя его не видно на скриншоте. Если посмотреть в левый верхний угол экрана (прямо под кнопками Zotero), вы увидите слово “Title” в выпадающем меню. Используя это выпадающее меню я указываю LibreOffice, что строка, где находится курсор, содержит заголовок статьи, и точно так же я указал, что строка “A past that it could not transcend” является заголовком раздела первого уровня (“Heading 1”, эквивалент тега HTML H1). Как и LaTeX, LibreOffice делает вывод, что текст за заголовком, который не помечен каким-либо стилем, — это основной текст, который принадлежит этому заголовку (хотя вы можете и явно указать, что это основной текст через то же выпадающее меню, упомянутое выше). Переместите курсор из одной строчки в другую — и значение в выпадающем меню само изменится в соответствии с тем, какой стиль выбран для текущего абзаца. Если хотите изменить стиль заголовков или основного текста по всему документу, то редактируете свойства стиля — а текстовый процессор применяет изменения ко всему документу. Также можно сохранять стили как шаблоны, а затем загружать их в любой документ на своё усмотрение, изменяя его внешний вид в соответствии с шаблоном. И конечно вы можете обмениваться шаблонами с другими пользователями, так что у всех документы будут оформлены в одном стиле.

Так что вопреки заявлениям LaTeX Project, мне не «приходится выбирать, какой шаблон использовать». Я не выбираю ни шрифт, ни его размер, ни стиль. LibreOffice сам делает это, поскольку он знает, как оформлять заголовки, подзаголовки и прочее. И вопреки заявлениям сотрудника MIT Research Science Institute, мне не приходится «тратить драгоценное время в муках, какой размер шрифта выбрать для заголовков разделов» — я просто указываю, что определённые фрагменты текста являются заголовками разделов, а LibreOffice подбирает размер шрифта. И в чём бы сотрудник Research Science Institute не пытался убедить студентов, «изменение форматирования [не означает], что вам придётся изменять отдельно оформление каждого фрагмента» — как вы можете «переопределить соответствующие команды» в LaTeX, так же вы можете переопределить соответствующие стили в LibreOffice (хотя на этом скриншоте я сохранил стили по умолчанию, как обычно делаю). Более того вы не «должны аккуратно следовать предложенным шаблонам», потому что вы можете менять шаблоны LibreOffice так же легко, как и в LaTeX. Всё это поддерживается и в Word. На самом деле сейчас хорошо снова взглянуть на вышеприведённые сравнения текстовых процессоров с LaTeX, потому что теперь понятно, что все они лживые: по сути, это пропаганда LaTeX.

Но вернёмся к процессу редактирования. Ладно, есть не такой вырвиглазный способ вычитывания документов LaTeX, как прочёсывание документа с разметкой. Можно сверстать итоговый документ, открыть и прочитать итоговый PDF, найти все необходимые места для правок и соответствующим образом отредактировать размеченный файл, заново его сверстать, снова вычитать и повторить процесс.

Если вы программист, то для вас может быть понятной аналогия с циклом кодирования-компиляции-отладки. Но не так большинство людей хочет писать тексты. Большинству из нас удобнее видеть на экране лист бумаги со словами и знаками пунктуации, которые в точности так и будут выглядеть в итоговом документе, а не смотреть на команды разметки вроде \parencite[see][]{bennett_2002}. Неважно, начинается шаблонный код с команд вроде \documentclass{article} или \begin{document} в начале документа. Просто наткнувшись посреди абзаца на нечто вроде \parencite[706]{lena_peterson_2008} нужно в уме преобразовать это в “(Lena and Peterson 2008, p. 706)”, и такая остановка прерывает ваш поток мыслей и затрудняет то, что вы в реальности должны делать: читать самому себе слова со знаками препинания и проверять, что они «звучат» как нужно и там нет ошибок.

Возможность редактировать документ, на который вы смотрите (в отличие от просмотра того, что на самом деле является исходным кодом документа), следует принимать как должное. Очевидно, для написания свободной прозы без ошибок лучше редактировать документ, в котором есть ‘…’ на месте многоточия, а не команды \ldots в соответствующих местах.

6. Так для чего подходит LaTeX?


Главными пользователями LaTeX являются учёные. Есть даже некоторые исследователи в области гуманитарных наук, которые тоже используют LaTeX (или какой-то его вариант). Эти люди используют LaTeX не потому что так делают все, наоборот, они идут против толпы. В результате они, вероятно, больше задумываются о реальных преимуществах LaTeX — а не о тех воображаемых преимуществах, перечисленных выше, о которых вещают евангелисты LaTeX.

Насколько я могу сказать, они выбирают LaTeX по причине, которая противположна стереотипному мнению, что нужно концентрироваться на содержимом, а не оформлении. Например, один из пользователь так объясняет свой выбор: «Компьютер должен позволить обычному пользователю создавать элегантно свёрстанную страницу, но в Word этого очень сложно достичь». Это переворачивает с ног на голову вышеуказанные аргументы в пользу написания текстов в LaTeX: такие авторы используют LaTeX (или его варианты), потому что они не верят в то, что «лучше оставить оформление документа дизайнерам»: на самом деле они используют его именно потому что хотят сами стать дизайнерами (в свою очередь, причиной этого является то, что они «беспокоятся… о внешнем виде документов»).

Вот для чего хорош LaTeX: не помогать людям писать тексты, а помогать красиво оформить их. Если для вас важно, то идите и посмотрите на него.

7. LaTeX: инструмент для набора и вёрстки, а не для написания текстов


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

LaTeX предоставляет один набор функций для таких ситуаций. Настольные издательские пакеты вроде InDesign предоставляют другой набор. На самом деле там даже более богатый набор. Возможно, многие из этих функций не нужны, если речь об обычных научных типах документов, таких как раздаточные материалы для конференций и лекций. Забудьте всю эту чушь, что LaTeX чем-то лучше текстового процессора в написании текстов: это не так. Но он лучше для набора и вёрстки. И он не требует такого внимательного эстетического выбора и опыта дизайна, как настольный издательский пакет, так что в этом смысле LaTeX может сэкономить вам время (и он не даёт так много возможностей облажаться), при условии, что верстаемый документ принадлежит к типу документов, которые люди обычно верстают в LaTeX. Преимущества LaTeX для академического использования состоят в том, что он производит разумно свёрстанные документы, которые хорошо выглядят именно в таком виде, в каком представители научных кругов обычно любят публиковать документы. За пределами этой комфортной зоны у него немного вариантов использования: TeX подходит практически для всего, но макросы, расширяющие TeX в LaTeX, в основном созданы чисто для научного использования. Например, я не запускал его для вёрстки публичного доклада от проекта Valuing Electronic Music, потому что это публичный доклад и я не хотел, чтобы он выглядел как научная статья.

Вот документы PDF, сгенерированные из файла LaTeX (слева) и с помощью функции «Экспортировать как PDF» в редакторе LibreOffice (справа). В обоих случаях я не менял никакие настройки по умолчанию (кроме активации умных цитат в LibreOffice). Версия LaTeX автоматически содержит дату, номера разделов и номера страниц, поскольку это стандартное форматирование документов LaTeX; вы легко можете продублировать эти функции в большинстве текстовых редакторов, но по умолчанию они не включены, так что я решил здесь их тоже не включать.


Думаю, вы согласитесь, что свёрстанная в LaTeX версия выглядит лучше, чем полученная экспортом из текстового процессора. Достаточно ли значительны эти изменения, чтобы оправдать дополнительные усилия при подготовке документа — решать вам.

8. Если мы не пишем в LaTeX, как нам использовать преимущества вёрстки в TeX?


Очевидным решением было бы писать документ в другом формате, а после окончания пройтись по нему и добавить разметку. Например, так я сделал LaTeX-версию параграфа, показанного выше: опубликованная статья не писалась в LaTeX, но я подумал, что следует стилизовать его под LaTeX для задач этого эссе. Но языки разметки лучше подходят для машин, чем для людей, и в наше время вы можете сэкономить время, если отдать разметку LaTeX на откуп компьютеру. Так что одно то, что документ должен быть свёрстан в LaTeX, не означает, что вам нужно писать его в этой программе.

Вот варианты для автоматической разметки текста:

  1. Писать в AbiWord, Scrivener, Emacs Org-mode или Texts. AbiWord (доступен под Windows и Linux), Scrivener (доступен под Windows и Mac) и Org-mode (доступен везде, где вы можете запустить Emacs) экспортируют вашу работу в файл LaTeX; Org-mode и Texts (доступен под Windows и Mac) могут дополнительно сверстать его в LaTeX, если у вас установлен пакет LaTeX. С помощью AbiWord можно также открыть файл, написанный в другом текстовом процессоре, а затем экспортировать его в LaTeX. Я давно не использовал AbiWord и ещё не протестировал Texts, но могу поручиться за Org-mode. Обратите внимание, что версия Org-mode, которая идёт с Emacs в комплекте с Mac OS X такого не делает: вам понадобится более новая версия.
  2. Писать в Word или LibreOffice, затем с помощью Pandoc конвертировать результат в файлы LaTeX [1]
  3. Писать в Markdown вообще в любом текстовом редакторе и с помощью Pandoc конвертировать файлы Markdown в файлы LaTeX (да, Markdown — это язык разметки, но он изначально разработан как простой и читаемый человеком язык; также обратите внимание, что хотя Texts является текстовым процессором, он всё сохраняет в Markdown). Также: расширение citeproc для Pandoc даёт Markdown более интуитивный синтаксис разметки цитат, чем у BibLaTeX, и поскольку knitr работает с Markdown, этот вариант позволяет вам автоматически внедрять сгенерированные таблицы и прочее, если вы используете R. Может быть, стоит почитать детальное руководство Кирана Хили к этому общему подходу.

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

9. Вёрстка собственной книги


Вы можете рассмотреть LaTeX как вариант самостоятельной вёрстки книги для издательства. Академические издатели ожидают подобного от учёных и также могут примириться с таким вариантом от исследователей в сфере гуманитарных наук. Это то, для чего Кнут изначально изобрёл TeX. Но следует учесть три вещи, прежде чем убеждать своего издателя позволить вам самому верстать свою книгу:

  1. Там уже есть человек, который занимается этой работой.
  2. Если вам так хочется сделать чужую работу, может, вам понравится также собрать физические копии, распечатанные на принтере, отвезти их на склад издателя (эй, они даже могут разрешить вам самому управлять погрузчиком!), провести маркетинговая кампанию со своего телефона и доставить копии покупателям и ритейлерам на своей машине. Погодите — зачем останавливаться на этом? Почему не настоять на личном управлении печатным прессом и машиной для переплёта? На самом деле, почему бы не купить механический ручной пресс, тогда можно напечатать и сделать переплёт дома, как Вирджиния и Леонард Вулфы?
  3. Даже если вы сверстаете свою книгу и вам нет дела до всего остального, теория сравнительных преимуществ Рикардо по-прежнему утверждает, что вы впустую тратите время.

Всё ещё не отказались от плана? Ладно, может быть, вёрстка собственной книги даёт вам личное удовлетворение, или типографика книги должна иметь определённый уникальный вид, который никто кроме вас не способен обеспечить. Хорошо; это в любом случае никому не причинит вреда. (Если бы такая практика распространилась не только на научные монографии и стала стандартной, тогда другое дело. Все дизайнеры книг остались бы без работы, а большинство книг или выглядели бы ужасно или были бы похожи друг на друга. Ничего хорошего).

10. Небольшое предупреждение о бесконечном неудобстве всего, что связано с LaTeX


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

У свободного и бесплатного программного обеспечения есть большая склонность к трудностям в установке и работе. TeX и LaTeX не исключение. Кроме того, если вы решитесь на действительно дикий и сумасшедший поступок — вроде замены шрифта на что-нибудь иное, кроме Computer Modern — то простые базовые TeX и LaTeX не позволят вам это сделать. (Вам действительно захочется использовать другие шрифты, кроме Computer Modern. Это не какой-то универсальный шрифт на все случаи жизни. Это просто цифровая версия шрифта, который по случайности использовался в первой редакции книги, для которой ко второй редакции Кнут создал TeX для вёрстки, и он действительно не подходит для некоторых вариантов использования, которые мне приходилось встречать, особенно для презентаций со слайдами). И всё кроме чистого TeX и LaTeX действительно очень, очень сложно установить. Настолько сложно, что большинство людей не справляются с установкой отдельных пакетов, а вместо этого устанавливают целиком нечто под названием TeX Live. Пакет Tex Live содержит практически всё, что может когда-нибудь понадобиться пользователю TeX или LaTeX, в одном удобном дистрибутиве. Единый удобный дистрибутив после установки занимает более двух гигабайт на диске: если быть точным, 2,4 гигабайта в версии для Mac — MacTeX. Для сравнения, LibreOffice требует примерно полтора гигабайта на диске под Windows или Linux и менее одного гигабайта на Mac. И в состав LibreOffice входят текстовый процессор, электронные таблицы, программа для презентаций, пакет для рисования, база данных, всё в одном. LaTeX — это просто программа для набора и вёрстки. Это безумие — особенно если у вас работает старое или дешёвое железо. И даже если вы решите отяготить свой винчестер установкой TeX Live, придётся приложить ещё немало усилий, чтобы заставить всё работать, и почти никакой вопрос там не объясняется ясно и чётко. Иногда возникает впечатление, что установка и настройка LaTeX превратилась в некий испытательный ритуал, участники которого дали обет страдать в одиночестве.

Вот абсолютно типичный вопль отчаяния какого-то пользователя, который пытается заставить LaTeX нормально работать с BibLaTeX и Biber (две программы из комплекта TeX Live, которые дополняют LaTeX в качестве альтернативы BibTeX, тоже включенной в комплект TeX Live, или для работы BibLaTeX вместе с BibTeX — уже запутались? Это только начало!):

«У меня выскакивают ошибки «Неопределённые ссылки» (There were undefined references) и [я] уже два дня не могу их исправить. Я попытался перейти с редактора Sublime Text 3 на TeXStudio на «маке», потом попробовал оба на PC. Готов попробовать что угодно в данный момент…

Я прочитал о хитрости при компиляции, но не уверен, как это сделать в SublimeText или TexStudio… Я столкнулся со многими проблемами и предпринял много обходных манёвров, которые привели к другим проблемам. Я в растерянности. Может кто-нибудь дать пару советов или ключевых слов, чтобы я поискал решение этих проблем, или полное решение? Не могу запустить даже минимальную рабочую конфигурацию. Готов установить что угодно.
Каждый раз, когда какой-нибудь новичок пытается запустить LaTeX, человек обрекает себя на несколько часов или несколько дней подобных проблем — плюс на всю жизнь возни с причудами TeX и LaTeX, даже если (как этот пользователь) человек использует относительно «дружественные» графические приложения вроде TeXstudio, а не пытаетесь совладать с Emacs или vi и командной строкой. Этот пользователь дошёл до такого отчаяния, что не только поменял программы-редакторы LaTeX, но поменял компьютеры в надежде, что всё заработает. А теперь ответ. Принятый в качестве подходящего ответ тщательно очерчивает решение, а затем объясняет причину проблемы следующим образом:

Существует возможность установить TeXstudio альтернативными способами для достижения такого же эффекта. Суть в том, что вам следует убедиться, что программы идут в следующей последовательности:

  • LaTeX
  • Biber
  • LaTeX

Это делается или вручную (как я это делаю), или можно автоматизировать разными способами. Обратите внимание, что та же основная идея действует с любым редактором: это особенность LaTeX, а не редактора.
Мда, насколько глупым был пользователь, который не догадался, что единственный способ заставить LaTeX правильно работать с Biber — это запустить его дважды, один раз до, а второй раз после! А теперь оцените отзыв на этот (необычно ясный) ответ с решением проблемы: «Подробности вашего ответа будут очень полезны для других неофитов вроде меня. Другие ответы предполагают высокий уровень компьютерной/LaTeX-грамотности, какой не у всех есть».

Это типичная история. Пойдёте по пути LaTeX — и рано или поздно придётся рвать на себе волосы. Вас предупреждали.

Примечания


1. Преобразование файла .odt со сгенерированной в Zotero библиографией в LaTeX при помощи Pandoc слегка сложнее, чем кажется. По моему опыту, лучше всего открыть файл .odt в LibreOffice и сохранить его как .docx (что превращает все ссылки Zotero и библиографию в обычный текст), затем с помощью Pandoc сначала конвертировать файл .docx в файл Markdown, а потом конвертировать файл Markdown в файл LaTeX. ^

Комментарии (62)


  1. neurocore
    04.10.2017 17:47
    +10

    Спорные утверждения. Да, нужно писать код в перемешку с текстом, но если ты соблюдаешь структуру, то всё прекрасно читается. Latex тебя не обманет, не скроет свои действия — ты ясно можешь видеть по коду что происходит. И да, тебе действительно не нужно заботится о внешнем виде, так слегка может быть подправить отступы для абзацев.
    Огромное число пакетов (достаточно зайти на CTAN) под любой случай, свои макросы. Можно использовать любой редактор (Sublime идеален). Для более чем 3-страничных проектов я совершенно точно предпочту Latex разным вордам.


  1. alltiptop
    04.10.2017 17:56
    +6

    Но ведь есть WYSIWYM редакторы LaTeX. Не то чтобы это путь по идеологии документа, но лучше чем odt > docx > md > tex


  1. ov7a
    04.10.2017 18:04
    +7

    Что-то тут сравнивается теплое с мягким — система верстки и текстовый редактор. И конечно тот факт, что emacs не подсвечивает опечатки — это проблема emacs, а не Latex. odt в emacs вообще невозможно редактировать — и что?


  1. pantlmn
    04.10.2017 18:55
    +13

    За перевод спасибо, но статья того не стоила.

    Такой длинный текст сводится к простому утверждению: автор просто «ниасилил» LaTeX. Вот его собственные слова:

    … начал создавать собственный документ в LaTeX (так никогда и не закончил его, это стало уроком)

    И учить студентов пользоваться LaTeX для написания научных работ — конечно, благо. Можно, конечно, написать кандидатскую и в ворде, даже сделать там библиографию, сноски и перекрёстные ссылки, но это будет, с одной стороны, крайне нестабильная конструкция, а с другой, она будет оставлять ощущение «недопиленности».

    У автора, наверное, не было «гуру», который бы ввёл его в предмет. А жаль.


    1. pantlmn
      04.10.2017 19:37
      +3

      Комментарий ко вставленной мною ссылке: 16 октября (то есть скоро) на Coursera стартует курс по LaTeX от ВШЭ.


      1. lgorSL
        05.10.2017 11:12
        +1

        Написал диплом в латехе, но сейчас для конспектов и прочего использую Markdown.


        1. в нём точно так же можно писать формулы.
        2. он намного проще, достаточно создать пустой файлик и начать писать.
        3. Аргумент против ворда и прочих сложных форматов — md не сильно отличается от простого текстового файла, поэтому можно юзать git или, например, грепом искать по куче файлов.


        1. pantlmn
          05.10.2017 11:17

          И каков Ваш инструментарий для редактирования / просмотра / отправки на печать / вывода в pdf?


          1. Arastas
            05.10.2017 11:34

            Любой редактор с поддержкой режима просмотрам экспорта в PDF? Я для мелких текстов использую Typora.


          1. lgorSL
            05.10.2017 13:05

            Использую retext (хотя писать можно хоть в блокноте), просмотр и экспорт в pdf там есть. На винде пробовал Remarkable, но он мне не очень понравился.


      1. Amet13
        05.10.2017 14:14

        Я три года назад проходил этот курс именно с него началось мое знакомство с LaTeX и писать бакалаврский и магистерский дипломы было очень удобно.


    1. hurtavy
      05.10.2017 11:48
      +2

      Ну… Писать диссертацию в LaTeX хорошо, когда есть готовые стилевые файлы. А вот когда пытаешься создать всё сам… Я так и не осилил. Особенно две библиографии. В итоге дописывал в Word


  1. askv
    04.10.2017 19:34
    +8

    Ой, ну понамешали теплое с мягким. Цель статьи непонятна.

    Есть разница при подготовке текста одним автором (коллективом авторов) отдельного произведения (книги) и статьи, которые обычно не публиковались раньше отдельно, а собирались в сборники или журналы. Это сейчас статью можно скачать отдельно в интернете. Кроме того, одна и та же статья могла отправляться в разные сборники-журналы.

    Также есть разница между разметкой документа для вертки и самой версткой. Разметку всегда делает автор (только он может сказать, где у него начало нового раздела, где лемма-теорема, а где ссылка на литературу). А верстка делается уже при подготовке к публикации в зависимости от того, это отдельный документ или составная часть сборника. Средства разметки и верстки могут быть разные.

    Немножко истории. Основной период, когда я что-то писал на научные темы, пришелся на 90-е годы. Сначала были компьютеры под DOS и никаких WYSIWYG редакторов, их тогда Гейтс только пропагандировал. Соответственно, максимум что можно было набрать — это plain text, в который формулы потом вписывались от руки, если оставить нужное число пробелов и пустых строк. Я даже тогда изобрел простенький язык разметки, с помощью которого можно было в нужных местах отмечать, где будет формула (обычная или выделенная) и программку, которая вставляла в места для формул нужно число пробелов, а затем выравнивала текст по ширине. Мои предшественники печатали тексты на пишущей машинке примерно таким же образом, оставляя нужное число пробелов. (Ходила даже легенда, что на кафедре нашли рукопись с выеденными формулами, т.к. мышам понравился вкус чернил, а напечатанные буквы они есть не стали.)

    Когда появился ТеХ это было огромным облегчением, так как формулы можно было набирать и они при печати выглядели именно так как нужно. Чем набирать формулы мышкой в Ворде под Windows 3.11 так это лучше застрелиться было сразу. Особенно если их много и они чуть сложнее чем a+b*c.

    Так вот читабельность исходного текста в ТеХе имеет мало значения, так как с текстом в таком виде обычно работает только автор, а все остальные статью видят уже в сверстанном виде. Так что сравнение с программным кодом не корректно.

    Статьи в ТеХе проще объединить в сборник и они все будут в одном стиле. Поэтому выбор шрифта для автора не имеет значения — к его статье будет применен тот шрифт, который выберет издательство. И там никакой верстальщик не будет разбираться в формулах, как именно их правильно набирать. (У Литтлвуда есть история, когда он сдал в издательство статью заканчивающуюся фразой «таким образом сигма следует сделать как можно меньше.» — при наборе наборщики выбрали самую маленькую букву сигма, какую только смогли найти в Лондоне.)


  1. Last_cat_in_universe
    04.10.2017 20:55
    +2

    В целом статья сколь правильная, столь и бессмысленная. Фактор религиозного восприятия LaTeX (как и значительной части OpenSource), о котором вскользь упоминает автор — сыграет ключевую роль. Фанату Dark Souls можно сколь угодно доказывать что сложность игры создаётся ущербным контролем персонажа, но он всё равно укажет на криворукость и кинет видео на прохождение игры на контроллере от Guitar Hero)
    Сам пользуюсь латехом (и линуксом, да) постоянно; определённые вещи в нём действительно проще делать, вроде набора формул. Однажды надо было оформить вывод данных в виде человекочитаемой таблицы для последующего включения в статьи, как это автоматизировать в редакторах мне сложно представить. В смысле автоматизации он столь же эффективен, как и gnuplot.
    Проблемы с латехом начинаются, когда возникает желание/необходимость сделать шаг-другой от стандартных настроек. Постоянное гугление рецептов, большая часть из которых являются самыми обычными грязными хаками и использованием побочных свойств команд.
    П.С. фанфакт с необходимостью повторной компиляции документа в некоторых случаях =) Вчитывайся в лог или проверяй откомпилированный документ на недоразумения


    1. kibb
      05.10.2017 16:59
      +1

      latexmk проверяет необходимость компиляции после изменения ссылок или оглавлениея.


  1. r5am
    04.10.2017 20:55
    +6

    В первый раз баловался TeX/LaTeX в 1998 году во время кризиса и в то время в Хwindow под Linux уже были для него визивинг-редакторы. Не так давно применил LaTeX на одном из проектов после семидневной попытки внести изменения и исправления в документацию для пользователей, написанную разными людьми в Ворде и ОпенОфисе. Полностью исправить кривые ссылки в оглавлении так и не удалось, мозговые штурмы и «дай я» тоже не помогли. Основное время отнимало передвигание между страницами таблиц и изображений со скриншотами — можно окультурить отображение, но только до того момента, пока кто-либо не внесёт в середину документа дополнительную информацию. Так как программный продукт разрабатывали несколько человек и затем они вносили, порой одновременно, в этот вордовский документ новую информацию, описывающую работу с новым функционалом, то документация представляла собой жалкое зрелище из множества версий этого документа — сбор в один документ можно приравнять к подвигу.

    Вот что дал переход на LaTeX:
    1.Просмотр документации в любой ОС (у клиентов нельзя было использовать Ворд, только ОпенОфис (ЛибраОфис);
    2.Возможность вести документацию в Гит-репозитории с одновременными множественными коммитами разными людьми и совершенно безболезненным смерживанием перед отправкой клиенту;
    3.Очень быстро добавлять новую информацию — действительно запомнить десять тегов и совершенно не задумываться о размещении таблиц и изображений вызывают детский неподдельный восторг;
    4.Сбор по Ctrl-F-что-то-там отличного PDF документа с работающими ссылками из оглавления на разделы, ссылками на рисунки и таблицы, перечнями рисунков и таблиц, культурными вставками исходных кодов всего за 15 секунд (пятнадцать, Карл) вне зависимости от размера документа.

    Поэтому призываю молодёжь не уподобляться «ниасилившему велосипед» автору оригинальной статьи (переводить такое смысла тоже особо не вижу), а учиться применять инструменты, лучше подходящие под конкретную задачу. Заявление на увольнение и резюме на две страницы всё же проще написать в Ворде
    :-)


    1. pantlmn
      04.10.2017 22:41

      Да, по причине примерно этих же пунктов я сменил не Word, a InDesign на LaTeX.


  1. SirEdvin
    04.10.2017 21:11
    +3

    TL; DR — Автор не прав, Latex один раз настроил и забыл, визуальные редакторы скрывают сложности и те всплывают всегда в неудачное время.


    …означает «позволить авторам преуспеть в написании документов», обладает (в лучшем случае) слегка нетрадиционным пониманием слов «позволить» или «написание», или, возможно, «преуспеть».

    И это вот вся ваша статья, да? И вот вам не приходится, скажем, писать название статьи на каждой странице, или где-то еще, например, в конце указывать дату? А обычно приходится и вот такие штуки очень помогают.


    И определённо нет необходимости принимать осознанное решение о шрифтах перед тем, как начать писать.

    Ну то есть, надо отложить проблему? И когда у вас будет отвратительно сверстанный документ, свалить на студентов работу по его дополнительной верстке, я правильно понимаю? В таком случае, делать осознанные выборы сначала значительно лучше, потому что опять же таки, название статьи, ее разделы и другие атрибуты довольно часто указываются на один раз и менять их каждый раз в нескольких местах не очень удобно.


    Но существуют другие способы решить проблему.

    Ни одного. Вот вы написали стиль, а толку? Вы будете сидеть и проверять в Word'e, что бы каждый абзац был точно таким, каким нужно, что бы никто не верстал пробелами, что бы все формулы и рисунки были оформлены правильно, что бы все заголовки и разделы имели правильные стили и так далее? Взять LaTeX раз 5 проще и куда эффективнее.


    в 2016 году, предложили использовать язык разметки?

    Да, потому что визуальные редакторы ужасны в плане производительности труда. Любое сложное действие делается или через комбинации клавиш, которые еще надо помнить или через менюшку, что довольно сложно. Уже даже Word смирился с этим и позволил писать формулы на TeX


    Аргумент против написания текстов в LaTeX

    Это только одна проблема — ваш редактор. Рассказывать, что команды и макросы менее нагляднее и интуитивнее, чем невидимые настройки визуального редактора, которые далеко не всегда заметны даже на верхней вкладке меню — это надо уметь.


    В итоге, визуальный редактор выигрывает только там, где вместо tex можно вполне взять md. И все.


  1. zerg59
    04.10.2017 21:28
    +6

    Огромный плюс латеха в том, что юзер своими ручками не может поменять стиль. Когда собираешь сборник тезисов из присланных файлов в ms Word то такого навстречаешь… То интервал сделают 0,95 вместо 1 чтобы строчка влезла, то поля поменяют то ещё чего-нибудь. Это несмотря на предоставленный шаблон. А в латехе голый текст. все рисунки однообразные, ссылки на литературу тоже. Если добавить возможность онлайн создания и проверки — то вообще благодать для оргкомитета конференции. Закончился срок приёма — сверстали одним кликом, проверили содержание и всё.


  1. nerudo
    04.10.2017 21:48
    -1

    Я не знаю до каких вершин добрался ТеХ за последние 10 лет, но по моему давнему опыту неудобства были следующие:
    1) Лишние манипуляции с картинками. В офисе я могу вставить картинку через клипборд, тут ее приходится сохранять, держать на диске, не терять и явно ссылаться на файл. Когда таких картинок 5 — пофиг. Но если нужно навтыкать скриншотов подобные манипуляции раздражают.
    2) Таблицы. Как ни крути, но в wysiwyg режиме все же удобнее и нагляднее
    3) Проверка орфографии. Пользовался консольным ispell. Работало, но не супер…


    1. San_tit
      05.10.2017 10:54
      +3

      С картинками, возможно, удобно в момент написания статьи, но вот когда эту статью надо (внезапно) отдать в печать и в издательстве просят оригиналы картинок, (внезапно) лежащие рядом в LaTeX картинки оказываются удобнее, чем искать картинки внутри docx (и хорошо, если при сохранении не пережимали медиафайлы, а то придется искать вообще где-то).


      Так что для серьёзной работы лучше LaTeX. Для резюме/слудеьки


      1. nerudo
        05.10.2017 11:09

        Если так, то да. Но если делаешь «для дома для семьи» конечный продукт в виде pdf…


  1. dmxrand
    04.10.2017 22:01
    +2

    Моя жена с трудом пользовалась вордом. В LaTeX написала около 500 курсовых. Обучение заняло 3 часа. Ей было понятно, что вот это заголовок. А в ворде она не отличала заголовок от текста который жирный и с размером шрифта больше обычного.


  1. Arastas
    04.10.2017 22:11
    +1

    Несмотря ни на что, скорость набора научного текста с формулами в латехе заметно выше (а процесс проще), чем в графическом редакторе. Хотя для коротких текстов может оказаться удобнее использовать markdown с поддержкой формул, например, Typora.


  1. aamonster
    04.10.2017 22:21
    +6

    Читал — хотелось материться на чайника, не освоившего инструменты (ни LaTeX, ни Word), но пишущего длинные простыни ерунды и пытающегося кого-то поучать.


    1. Как только надо написать в тексте формулу — Word превращается в инструмент пытки. В статьях по математике и физике формул хватает, как итог — TeX на порядок удобнее. Всё — этого достаточно для выбора пользователя.
    2. Word большинство использует неправильно (форматируя по месту, а не стилями). Апофеоз — выравнивание пробелами. Так что предпочтения издательств тоже понятны.
    3. Концепция боксы/клей/штрафы даёт куда больше гибкости, чем в ворде — но не факт, что эта гибкость нужна.
    4. А вот с картинками в TeX куда хуже (во всяком случае, было, когда я им пользовался).


    1. pantlmn
      04.10.2017 22:34

      Картинки в ТеХе умеют плавать, что немаловажно, когда надо разместить «Илл. 1» «где-то примерно тут, желательно вверху страницы».

      И в ТеХе можно оперировать с CMYK и PANTONE, что для подготовки документа тоже бывает немаловажно.


      1. aamonster
        04.10.2017 22:59

        В TeX всё умеет плавать (боксы-клей-штрафы). Но в принципе и в Ворде можно нужного плавания добиться, просто всё менее прозрачно и в больше соблазн кое-как прилепить примерно на место, а не сделать по уму (обратная сторона низкого порога вхождения)


        1. pantlmn
          04.10.2017 23:19

          Иногда в Word или InDesign кто-то до тебя сделал что-то «по уму», а ты теперь разбирайся, откуда вообще ноги растут.

          А в TeX-е все кишки наружу, хотя и они тоже бывают весьма закручены (классический пример — The TeXbook: посмотреть на код можно, а скомпилировать самостоятельно — фиг получится).


    1. hoegni
      05.10.2017 12:08
      +2

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


  1. pantlmn
    04.10.2017 22:45

    Кстати, картинка в начале неаккуратно выбрана — это логотип отнюдь не LaTeX-а, а одного из онлайн-проектов, использующего LaTeX.


  1. Alex_ME
    05.10.2017 02:13
    +1

    Если использовать в ворде и прочих стили — то все становится довольно удобно и легко менять. Редактор формул в 2007+ тоже неплох. Проблема в том, что многие реально верстают не тем местом и вставив их текст в документ с нужным форматированием он, в лучшем случае, останется как был, а в худшем — жутко поплывет.


    Что я не осилил — перекрестные ссылки на таблицы и рисунки. Получается дрянь вида
    "на Рисунок 1 изображено..."


    1. nerudo
      05.10.2017 07:37

      Я вставляю только номер и явно пишу руками «на рис.*** изображено»


      1. masai
        05.10.2017 11:33

        И потом все перенумеровываете, когда новую картинку в середину добавляете?


        1. nerudo
          05.10.2017 11:34

          Зачем? Номер вставляется в виде ссылки. Но только номер, без подписи.


          1. Alex_ME
            06.10.2017 22:35

            Как вставлять номер без подписи? Я не смог.


            1. nerudo
              06.10.2017 23:23
              +1

              В Microsoft Office не знаю, а в Open/Libre Office вставлять тип ссылки Numbering (Insert reference to: Numbering).


    1. telhin
      05.10.2017 11:13

      Иногда нужно сделать так, чтобы был обычный стиль, но например с выравниванием по правому краю, если потом, обновить стандартный стиль и текст набранный им, то выравнивание пропадает. Я понимаю, что можно создать специальный стиль с выравниванием по правому краю. Но потом, все общие изменения менять в 2-3 стилях сразу. Это как дублирующийся код, который сам по себе работает, но изменения связаны с повышенной вероятностью ошибки.


      1. Ndochp
        05.10.2017 14:49
        +1

        Но потом, все общие изменения менять в 2-3 стилях сразу

        Зачем? Делаем стиль «По правому краю» на основании «Обычный».
        Потом меняем шрифт у «Обычного» и он поменялся у всех. В ворде довольно неплохое наследование.

        Другое дело, что многоуровневые списки меня там убивают. Особенно когда нужно нумеровать заголовки и одновременно вставить внутрь параграфа еще один нумерованный список. Поведение становится совершенно непредсказуемым.
        Ну а 10 лет назад, когда я писал диплом ворд меня радовал номером в списках 0 при выводе на печать совсем несказанно.


    1. masai
      05.10.2017 11:34

      С нумерацией формул тоже беда.


    1. FSA
      06.10.2017 05:57

      Жена просила переработать PDF и выдать результат в Word с формулами в MathType. И тут я понял, что набор формул с кучей индексов и степеней (это самое простое) — это просто сущий ад даже по сравнению с LibreOffice, и, тем более, LaTeX. Просто так набрать что-то постоянно не обращаясь к мыши просто нереально.


      1. Alex_ME
        06.10.2017 22:38

        За MathType не скажу, в стандартном офисном можно все (почти?) вводить без мыши.
        Вот нашел хорошую информацию, может кому-то будет полезна.


  1. shuhray
    05.10.2017 05:43
    +6

    Я тоже однажды стал писать программу и не закончил. Фигня всё ваше программирование!


  1. Temmokan
    05.10.2017 06:40
    +5

    LyX или аналоги как посредник между «сырой» TeX-разметкой и удобочитаемым текстом?

    Который год им пользуюсь, не испытывая никаких затруднений, и получая на выходе вполне годный LaTeX-формат. «Что я делаю не так?»


  1. nonpar
    05.10.2017 10:37

    Мне кажется, главное преимущество систем вроде Tex — их бесплатность. С Word их сравнивать неправильно; аналогами, созданными для профессионального использования, скорее, являются верстальные программы вроде Adobe Frame Maker (ориентированный на книги и т.п. структурированные документы) или InDesign (общего применения). Для тех, кто умеет грамотно пользоваться их возможностями, аргументы и контраргументы автора статьи выглядят наивно. Другое дело, что в том же InDesign от обилия опций/меню/инструментов глаза разбегаются; это, с узко утилитарной точки зрения, нехорошо…


  1. wert_lex
    05.10.2017 11:25

    К вёрстке отношения никакого не имею, латехом пользовался. С книгами и научными статьями всё понятно. А насколько надо заморочиться, чтобы получить уровень вёрстки глянцевых журналов с помощью Latex? Видел краем глаза, как это делают в InDesign.


    1. pantlmn
      05.10.2017 11:48

      Не надо этого делать. LaTeX стоит выбирать, когда первичен текст, его аккуратная и структурированная подача. Глянцевый журнал идёт от картинки, Вы захотите там чуть-чуть подвинуть картинку, подобрать другой шрифт… В LaTeX на каждые «чуть-чуть» уйдёт несколько секунд. Оно Вам надо?


  1. windgrace
    05.10.2017 11:40

    А ещё автор забыл упомянуть автоматическую нумерацию формул, которая в LaTeX есть, а в Word — нет (в конце 2015 года точно не было, если что-то изменилось — дайте знать).


    1. hurtavy
      05.10.2017 11:59

      Для формул есть MathType, о чём Word сразу и предупреждает


      1. puff1n
        05.10.2017 14:21
        +1

        Жалко он только предупреждает, а не платит за него вместо вас.


  1. Dovgaluk
    05.10.2017 12:14
    +2

    Бывает работаешь в Word как положено, используешь стили. Потом надо вставить разрыв страницы перед заголовком — и стиль заголовка изчезает. Так себе удобство.

    Или по какой-то причине продолжает нумерацию списка, который отделён блоком текста. Когда разметка скрыта от пользователя, непонятно как на это влиять.


    1. mayorovp
      05.10.2017 12:52

      Влиять на это можно довольно просто: ПКМ — начать нумерацию заново


      1. Dovgaluk
        05.10.2017 13:00

        Это если не 10 таких мест, то можно пережить.


      1. Arastas
        05.10.2017 14:23

        И вот рука потянулась к мышке, глаза ушли от строки ввода в поисках курсора, потом в поисках нужного пункта меню. Теперь вернуть глаза на точку ввода, проверить, что список действительно начался заново, и вернуть руки на клавиатуру. Что я там писал-то?
        Чем меньше мышки, там быстрее набор текста.


        1. mayorovp
          05.10.2017 14:25

          Это отдельная проблема, не связанная с нумерацией списков :-)


        1. zagayevskiy
          05.10.2017 18:30

          А если эти все действия ещё вслух проговаривать — "тяяяянууу руууукууу к мыыышкеее..."...


  1. Amet13
    05.10.2017 14:34
    +3

    Поясню преимущества лично для себя при написании дипломов в LaTeX.
    1. Версионированость, закинул код в git, прописал в gitignore мусорные файлы, если что не так я не рыскаю в поиске diplom_01_01_2017_edited.odt и сотне других документов
    2. Коллаборация, я не кидаю каждый раз новый документ дипломному руководителю в письме, так как у него уже есть ссылка на репозиторий, где автоматически после каждого моего коммита собирается pdf'ка. Можно поделиться с другими своим шаблоном.
    3. Структура документа, все четко разложено по файликам и главам, картинки отдельно и оригинальном разрешении, если мне надо изменить блок-схему, то не нужно сто раз копировать/вставлять документ из LibreOffice в GIMP и обратно, можно еще заморочиться с TikZ, но это если схемы не очень сложные и есть немного времени чтобы поискать примеры.
    4. Единообразие, везде единый шрифт, все выглядит красиво и аккуратно, можно оставлять комментарии непосредственно в коде.
    5. Можно верстать презентацию аналогично документу, ведь на защите диплома скорее всего защищаешься с презентацией.
    6. Если приходишь от нормоконтроллера с правками по стилю, просто правишь 1-2 строчки, собираешь новую версию документа и печатаешь, в случае с обычным LibreOffice скорее всего это будет сделать сложнее, но это зависит от конкретной ситуации.
    7. Возможность использовать любой удобный текстовый редактор для написания текста, я например использовал Sublime Text.


    1. Arastas
      05.10.2017 16:03

      где автоматически после каждого моего коммита собирается pdf'ка.

      Я это прочитал так, что на стороне гитхаба TeX-овский исходник комплируется в pdf. Но ведь вы, наверное, просто комитите pdf?


      1. Amet13
        05.10.2017 16:08

        В TravisCI собирается. Ну и я по старинке pdf коммичу, т.к. раньше это делал до автосборки.


    1. pantlmn
      05.10.2017 22:01

      Да-да-да, особенно я люблю ТеХ за пункт 4 — что можно писать сколь угодно комментариев, которые никто, кроме тебе, не увидит (и кроме того, кто будет иметь доступ к git-репозиторию).


    1. arch1tect0r
      06.10.2017 22:40

      Полностью поддерживаю. Думал никто и не вспомнил, что LaTeX-файлы это просто текст, который удобно версировать с помощью git и можно сделать автосборку при желании. И можно проследить весь жизненный цикл статьи. А файлы с литературой можно вообще копировать и никогда заново не перенабирать, а только расширять, хоть в отдельном репозитории их держать.

      Я ещё добавлю от себя, что не надо всё время смотреть на текст размером 14пт с полуторным интервалом, которого влезает на А4 не так и много. Можно пользоваться любым текстовым редактором и там поставить визуальный шрифт какой нравится, зато в итоговом документе получится именно так как нужно по требованиям.

      Также дополню, что полгода назад публиковал статью в Scopus. Организаторы предоставили стилевой файл, который нужно было подключить, чтобы статья правильно отформатировалась(всего одна строка для подключения файла стиля). Я набрал текст, подключил файл и в итоге получил свою отформатированную статью по требованиям организаторов — вообще отлично я считаю.

      А ещё есть overleaf и sharelatex, которые позволяют в режиме реального времени смотреть что получается после набора текста, ничего не надо устанавливать и сами имеют огромную базу шаблонов всего и вся. Ну и overleaf имеет возможность доступа к проекту через git. Правда оба на бесплатной версии имеют ограничения, но для того чтобы начать пользоваться LaTeX — это очень удобные инструменты.

      P.S. сейчас пишу кандидатскую диссертацию в LaTeX


      1. chersanya
        06.10.2017 23:19

        sharelatex можно легко у себя поставить, типа локальная инсталляция + для коллег :) Соответственно нет лимита на количество коллабораторов например, ну и компиляция побыстрее (зависит от сервера).


  1. Arastas
    05.10.2017 16:03

    не туда


  1. worldmind
    05.10.2017 18:21

    Пришлось написать целую статью как бы в ответ.