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

Что такое LaTeX?


LaTEX (произносится как «лэйтех» или «латех») представляет собой инструмент для создания профессиональных документов. В его основе лежит парадигма редактирования WYSIWYM (что вижу, то и подразумеваю), то есть от пользователя требуется сосредоточиться только на содержимом документа, оставив его форматирование программе. Вместо ручного распределения текста по странице, как это делается в Microsoft Word или LibreOffice Writer, можно просто его вводить, позволив LaTeX заняться остальным.

Зачем нужен LaTeX?


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

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

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

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

Пишем первый документ


Изначально нам потребуется новый проект, начать который можно либо создав файл .tex, либо через Overleaf. Возьмем простейший пример:

\documentclass{article}

\begin{document}
First document. This is a simple example, with no 
extra parameters or packages included.
\end{document}


Здесь мы видим, что LaTeX уже позаботился о первом элементе форматирования, сделав отступ в начальной строке абзаца. Теперь более подробно рассмотрим, за что отвечает каждая часть кода.

Открыть пример в Overleaf

Первая строка объявляет тип документа, называемый классом. Класс определяет общее представление документа. Для разных типов документов требуются разные классы, то есть для CV/резюме будет использоваться свой класс, а для научного труда свой. В данном случае классом является article, самый простой и распространенный в LaTeX. Другие типы документов, с которыми вам, возможно, придется работать, могут потребовать использования других классов, например book или report.

После этого мы пишем содержание документа, заключенное в теги \begin{document} и \end{document}, представляющие его тело. Можете начать писать здесь текст и при желании вносить в него изменения.

Чтобы увидеть результат этих изменений в PDF, документ нужно скомпилировать. В Overleaf для этого нужно просто нажать Recompile. (Также можете настроить проект на автоматическую перекомпиляцию в процессе редактирования файлов, нажав на небольшую стрелку рядом с кнопкой Recompile и установив Auto Compile как On).

Если вы используете базовый текстовый редактор, например gedit, emacs, vim, sublime, блокнот и пр., то нужно будет компилировать документ вручную. Для этого просто выполните в терминале pdflatex <your document>. Подробнее об этом процессе можете почитать здесь.

При использовании специального редактора LaTeX вроде TeXmaker или TeXworks нужно просто нажать кнопку Recompile. Если не знаете, где она находится, обратитесь к документации.

Теперь, когда вы разобрались, как добавлять в документ содержимое, следующим шагом будет его именование. Для этого необходимо вкратце разобрать преамбулу.

Преамбула документа


В предыдущем примере текст вводился после команды \begin{document}. Все, что содержится в файле .tex до этого места, называется преамбулой. В ней можно определить тип создаваемого документа, используемый язык, нужные библиотеки (подробнее позже) и ряд других элементов. Вот пример типичной преамбулы:

\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}

А вот подробное разъяснение каждой строки:

\documentclass[12pt, letterpaper]{article}

Как уже говорилось, этой командой определяется тип документа. В нее также можно передавать дополнительные параметры, включенные в квадратные скобки через запятую. В данном примере эти параметры устанавливают размер шрифта (12pt) и размер страницы (letterpaper). Конечно же, для шрифта можно установить и другие размеры (9pt, 11pt, 12pt), но если размер не задан, то предустановленным значением будет 10pt. Что же касается размера страницы, то для него доступны варианты a4paperи legalpaper. Подробнее об этом можете почитать в статье Page size and margins.

\usepackage[utf8]{inputenc}

Эта команда задает кодировку документа. Ее можно опустить либо изменить на другой вариант, но рекомендуется использовать именно utf-8. Если вам не требуется конкретно другая кодировка, либо вы просто не уверены, то добавьте эту строку во вступление.

Добавление заголовка, автора и даты


Для добавления в документ заголовка, автора и даты необходимо внести во вступление три строки (только не в основное тело документа):

\title{First document}

Заголовок.

\author{Hubert Farnsworth}

Здесь размещается имя автора. При желании можно также добавить в фигурные скобки следующую команду:

\thanks{funded by the Overleaf team}

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

\date{February 2014}

Дату можно ввести вручную или использовать команду \today, чтобы она обновлялась автоматически при компиляции документа.

После добавления перечисленных строк преамбула должна выглядеть так:

\documentclass[12pt, letterpaper, twoside]{article}
\usepackage[utf8]{inputenc}

\title{First document}
\author{Hubert Farnsworth \thanks{funded by the Overleaf team}}
\date{February 2017}

Теперь, когда вы присвоили документу заголовок, автора и дату, можно вывести в нем эту информацию с помощью команды \maketitle. Ее нужно включить в ту часть тела документа, где вы хотите видеть заголовок.

\begin{document}

\maketitle

We have now added a title, author and date to our first \LaTeX{} document!

\end{document}


Открыть пример в Overleaf

Добавление комментариев


Как и в случае с любым кодом, зачастую будет нелишним добавлять комментарии. Комментарии – это включаемые в документ текстовые элементы, которые в итоге не отображаются и никак не него не влияют. Они помогают организовывать работу, делать пометки или закомментировать (отключать) строки/разделы при отладке. Чтобы создать комментарий в LaTeX, просто наберите символ % в начале строки, как показано ниже:

\begin{document}

\maketitle

We have now added a title, author and date to our first \LaTeX{} document!

% This line here is a comment. It will not be printed in the document.

\end{document}


Открыть пример в Overleaf

Жирный, курсив и подчеркивание


Теперь рассмотрим некоторые простые команды форматирования текста.
  • Жирный текст в LaTeX пишется внутри команды \textbf{...};
  • Курсив пишется с помощью команды \textit{...};
  • Подчеркнутый текст оформляется с помощью команды \underline{...}.

Вот пример этих трех видов форматирования:

Some of the \textbf{greatest}
discoveries in \underline{science} 
were made by \textbf{\textit{accident}}.


А вот еще одна очень простая команда: \emph{...}. Выполняемые ей для аргумента действия определяются контекстом – внутри обычного текста его выделенная часть переводится в курсив, а при использовании команды в курсивном тексте происходит обратное.

Пример:

Some of the greatest \emph{discoveries} 
in science 
were made by accident.

\textit{Some of the greatest \emph{discoveries} 
in science 
were made by accident.}

\textbf{Some of the greatest \emph{discoveries} 
in science 
were made by accident.}


Более того, некоторые пакеты, например Beamer, изменяют поведение команды \emph.

Открыть пример в Overleaf

Добавление изображений


В Overleaf для добавления изображений их сначала нужно будет загрузить.

Пример:

\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {images/} }

\begin{document}
The universe is immense and it seems to be homogeneous, 
in a large scale, everywhere we look at.

\includegraphics{universe}

There's a picture of a galaxy above
\end{document}


Открыть пример в Overleaf

LaTeX не способен обрабатывать изображения самостоятельно, поэтому приходится использовать сторонний пакет. С помощью пакетов можно измерять предустановленный вид документа LaTeX и совершать другие действия. В данном случае нам нужно добавить в документ изображение, для чего потребуется библиотека graphicx, которая привнесет новые команды: \includegraphics{...} и \graphicspath{...}. Для использования graphicx включите во вступление следующую строку: \usepackage{graphicx}.

Команда \graphicspath{ {images/} } сообщает LaTeX, что изображения находятся в каталоге images в текущей директории.

Команда \includegraphics{universe}, в свою очередь, уже конкретно добавляет изображение в документ. Здесь universe представляет имя файла, содержащего изображение, без его расширения, поэтому universe.png стал просто universe. Имя файла изображения не должно содержать пробелов и многоточий.

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

Подписи, метки и ссылки


С помощью окружения figure изображения можно подписывать, размечать, а также делать на них ссылки:

\begin{figure}[h]
    \centering
    \includegraphics[width=0.25\textwidth]{mesh}
    \caption{a nice plot}
    \label{fig:mesh1}
\end{figure}

As you can see in the figure \ref{fig:mesh1}, the 
function grows near 0. Also, in the page \pageref{fig:mesh1} 
is the same example.


Открыть пример в Overleaf

В примере выше показаны три важные команды:

  • \caption{a nice plot}: подписывает изображение. При создании списка изображений данная подпись будет в них использована. Поместить ее можно как под, так и над рисунком.
  • \label{fig:mesh1}: если вам нужно сослаться на изображение внутри документа, установите метку с помощью этой команды. Метка пронумерует изображение и при использовании вместе со следующей командой позволит на него сослаться.
  • \ref{fig:mesh1}: этот код будет замещен числом, соответствующим изображению, на которое делается ссылка.

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

Примечание: если вы используете подписи и ссылки на собственном компьютере, то вам потребуется скомпилировать документ дважды, чтобы они сработали. Overleaf делает это автоматически.

Создание списков


Списки в LaTeX создаются очень просто. Делается это с помощью различных окружений списков. Окружения – это разделы, которые требуется представить отличным от остальной части документа образом. Начинаются они с \begin{...}, а завершаются на \end{...}.

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

Неупорядоченные списки


Неупорядоченные списки создаются пространством itemize. Каждая запись должна предваряться управляющей последовательностью \item, как показано ниже:

\begin{itemize}
  \item The individual entries are indicated with a black dot, a so-called bullet.
  \item The text in the entries may be of any length.
\end{itemize}

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


Открыть пример в Overleaf

Упорядоченные списки


Для упорядоченных списков используется тот же синтаксис, но в другом окружении. В данном случае этим окружением выступает enumerate:

\begin{enumerate}
  \item This is the first entry in our list
  \item The list numbers increase with each entry we add
\end{enumerate}


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

Открыть пример в Overleaf

Добавление математических выражений


Одно из главных удобств LaTeX состоит в простоте использования математических выражений. Этот инструмент предоставляет два режима их написания: режим inline (встраивание) и режим display (отображение). Первый используется для написания формул, являющихся частью текста. Второй позволяет создавать выражения, не входящие в состав текста или абзаца, а размещаемые на отдельных строках. Вот пример режима встраивания:

In physics, the mass-energy equivalence is stated 
by the equation $E=mc^2$, discovered in 1905 by Albert Einstein.


Для размещения уравнений в режиме встраивания используйте один из следующих разграничителей: \( ... \), $ ... $ или \begin{math} ... \end{math}. Работают они равнозначно, поэтому выбор определяется лишь собственным предпочтением.

Режим отображения предлагает два варианта: без нумерации и с нумерацией.

The mass-energy equivalence is described by the famous equation
\[ E=mc^2 \]
discovered in 1905 by Albert Einstein. 
In natural units ($c = 1$), the formula expresses the identity
\begin{equation}
E=m
\end{equation}


Для вывода уравнений в режиме отображения используйте один из следующих разграничителей: \[ ... \], \begin{displaymath} ... \end{displaymath} или \begin{equation} ... \end{equation}. Применять $$ ... $$ нежелательно, так как он может внести несогласованные интервалы, а также коряво работать с некотороми математическими пакетами.

Важно: окружение equation* предоставляется в виде стороннего пакета. Подробнее об этом рекомендую почитать статью по amsmath.

Открыть пример в Overleaf

Для использования многих команд при работе с математикой необходим пакет amsmath, поэтому не забудьте его добавить. Ниже показан пример некоторых его базовых команд:

Subscripts in math mode are written as $a_b$ and superscripts are written as $a^b$. These can be combined an nested to write expressions such as

\[ T^{i_1 i_2 \dots i_p}_{j_1 j_2 \dots j_q} = T(x^{i_1},\dots,x^{i_p},e_{j_1},\dots,e_{j_q}) \]
 
We write integrals using $\int$ and fractions using $\frac{a}{b}$. Limits are placed on integrals using superscripts and subscripts:

\[ \int_0^1 \frac{dx}{e^x} =  \frac{e-1}{e} \]

Lower case Greek letters are written as $\omega$ $\delta$ etc. while upper case Greek letters are written as $\Omega$ $\Delta$.

Mathematical operators are prefixed with a backslash as $\sin(\beta)$, $\cos(\alpha)$, $\log(x)$ etc.


Открыть пример в Overleaf

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


Базовое форматирование


Теперь разберем написание аннотаций, а также форматирование документов LaTeX в разных главах, разделах и абзацах.

Аннотации


В научных трудах принято включать краткий обзор основной темы работы. В LaTeX для этого есть специальное окружение abstract. Это окружение помещает текст в специальном формате в начало документа.

\begin{document}

\begin{abstract}
This is a simple paragraph at the beginning of the 
document. A brief introduction about the main subject.
\end{abstract}
\end{document}


Открыть пример в Overleaf

Абзацы и перевод строки


\begin{document}

\begin{abstract}
This is a simple paragraph at the beginning of the 
document. A brief introduction about the main subject.
\end{abstract}
 
Now that we have written our abstract, we can begin writing our first paragraph.
 
This line will start a second Paragraph.
\end{document}


Открыть пример в Overleaf

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

Чтобы создать новую строку без создания очередного абзаца нужно вставить точку разрыва строки, для чего используется \\ (двойной обратный слэш, как в примере) или команда \newline.
При этом не следует использовать несколько \\ или \newline для «имитации» абзацев с увеличенными интервалами между ними, так как это приведет к конфликту с внутренними алгоритмами LaTeX. Для подобного эффекта рекомендуется использовать двойные пустые строки, после чего добавлять во вступление \usepackage{parskip}.

Дополнительную информацию по теме можно найти в статье Paragraphs and new lines.

Главы и разделы


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

\chapter{First Chapter}

\section{Introduction}

This is the first section.

Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit.   Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...

\section{Second Section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\subsection{First Subsection}
Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales...

\section*{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem


Открыть пример в Overleaf

Команда \section{} отмечает начало нового раздела, а внутри скобок содержит его имя. Нумерация разделов происходит автоматически и может быть отключена добавлением символа * в команду создания раздела: \section*{}. Можно также использовать подразделы, \subsection{} и даже подподразделы, \subsubsection{}. Ниже перечислены основные уровни вложенности:


Обратите внимание, что \part и \chapter доступны только в классах report и book.

Более подробный разбор структуры документа описан в статье Sections and Chapters.

Создание таблиц


Простые таблицы


Вот простейший пример создания таблицы:

\begin{center}
\begin{tabular}{ c c c }
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\  
 cell7 & cell8 & cell9    
\end{tabular}
\end{center}


По умолчанию для создания таблиц в LaTeX используется окружение tabular. В этом окружении нужно указывать параметр, в нашем случае {c c c}. В таком виде он сообщит LaTeX, что в таблице будет три столбца, и текст внутри этих столбцов нужно разместить по центру. Можно также использовать r для выравнивания текста по правому краю и l для выравнивания по левому.

Для указания разрывов в записях таблицы используется символ &. Количество символов выравнивания в каждой строке всегда должно быть на один меньше, чем количество столбцов. Чтобы перейти к очередной строке таблицы используется команда создания новой строки, \\. Всю таблицу мы заключаем в окружение center, чтобы она размещалась по центру страницы.

Открыть пример в Overleaf

Добавление границ


Окружение tabular достаточно гибкое и позволяет размещать разделяющие строки между каждым столбцом.

\begin{center}
\begin{tabular}{ |c|c|c| } 
 \hline
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\ 
 cell7 & cell8 & cell9 \\ 
 \hline
\end{tabular}
\end{center}


Границы можно добавлять при помощи команды рисования горизонтальной линии \hline и параметра рисования вертикальной линии |.

  • { |c|c|c| }: эта команда объявляет, что в таблице будут использованы три столбца, разделенные вертикальными линиями. На необходимость вертикального разделения указывает символ |.
  • \hline: эта команда вставит горизонтальную линию. В примере выше горизонтальными линиями мы ограничили верх и низ таблицы, но при желании ими можно разделить ее всю.

Вот еще один пример:

\begin{center}
 \begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 \hline
 2 & 7 & 78 & 5415 \\
 \hline
 3 & 545 & 778 & 7507 \\
 \hline
 4 & 545 & 18744 & 7560 \\
 \hline
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\end{center}


Порой создание таблиц в LaTeX вызывает затруднения, поэтому вам может потребоваться обратиться к онлайн-инструменту TablesGenerator.com, чтобы экспортировать код LaTeX для окружения tabular. Копировать и вставлять данные из приложений электронных таблиц можно через опцию FilePaste table data.

Открыть пример в Overleaf

Подписи, метки и ссылки


Как и изображения, таблицы можно пописывать и делать на них ссылки. Единственное отличие – это использование вместо figure окружения table.

Table \ref{table:data} is an example of referenced \LaTeX{} elements.

\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\caption{Table to test captions and labels}
\label{table:data}
\end{table}


Открыть пример в Overleaf

Примечание: если вы используете подписи и ссылки на своем компьютере, то для работоспособности ссылок нужно будет скомпилировать документ дважды. Overleaf делает это автоматически.

Добавление содержания


Процесс создания содержания очень прост и реализуется командой \tableofcontents:

\documentclass{article}
\usepackage[utf8]{inputenc}
 
\title{Sections and Chapters}
\author{Gubert Farnsworth}
\date{ }
  
\begin{document}
  
\maketitle
  
\tableofcontents

\section{Introduction}
   
This is the first section.
      
Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit.   Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...
       
\section*{Unnumbered Section}
\addcontentsline{toc}{section}{Unnumbered Section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\section{Second Section}
       
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...
         
\end{document}


Разделы, подразделы и главы включаются в содержание автоматически. Чтобы добавить записи вручную, например для указания непронумерованного раздела, используйте команду \addcontentsline, как показано в примере.

Открыть пример в Overleaf

Скачивание готового документа


Завершенный документ в формате PDF можно скачать через расположенное слева меню, кликнув PDF.

Есть и более быстрый способ через нажатие кнопки Download PDF в окне просмотра PDF, как показано ниже:


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


  1. shoorick
    26.08.2021 16:33
    +6

    произносится как LAY-tek или LAH-tek

    В русскоязычной литературе обычно пишут проще, прямо кириллицей — «произносится как „тех“» (когда речь идёт про TeX вообще). Иногда и обоснование добавляют: Χ — это греческая «хи», а не латинский «икс».


    1. Stronczzz
      26.08.2021 18:20
      +1

      ага, а то можно и до латекса доболтаться ))

      А вообще, классная штука на самом деле - позволяла на 486 с Нортон Коммандером статьи и дипломы ваять изумительного качества.


      1. shoorick
        30.08.2021 12:07

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


  1. Lexicon
    26.08.2021 19:03
    +1

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


  1. haqreu
    26.08.2021 19:22
    +10

    Изначально нам потребуется новый проект. Для этого можно просто создать на компьютере файл .tex 

    Ага. Только не забудем проapt-get install texlive-full и пять гигабайт дискового пространства. А, вы под виндой? Счастья вам и бубен в придачу. Кстати, ваши 30 минут уже давно вышли :)


    1. PereslavlFoto
      26.08.2021 19:47
      -2

      Нет смысла устанавливать все пакеты. Достаточно установить лишь нужную часть.

      Под windows для этого нужно всего лишь 400 мегабайт.


      1. haqreu
        26.08.2021 19:53
        +11

        О, а какая часть нужная?? Как показывает практика, рано или поздно нужно вообще всё. Ну да даже если "всего лишь" 400 метров, это не просто "создать файл .tex". Это найти правильную среду, отметить нужные галочки, настроить пути и прочие пляски с бубном. А потом окажется, что переносы в русском не работают. Have fun!

        Если что, я латех нежно люблю, и вообще моя профессия неразрывно с ним связана :)
        Но данный текст - это тупо реклама overleaf (смешно, кстати, одни рекламщики [ruvds] используют рекламные материалы других [overleaf]). Они, конечно, молодцы, только это не про латех, это про деньги. И их иструменты - весьма специфичная вещь.


        1. PereslavlFoto
          26.08.2021 21:36
          +1

          Какие пакеты нужны, то будет ясно при сборке документа.

          Про настройку вы правы. В винворде без настройки тоже нет русских переносов.

          Мой опыт показал, что за 10 минут всё можно настроить.

          Я согласен с вашей оценкой этой статьи. Я тоже не понял, для кого она написана.


    1. PrinceKorwin
      26.08.2021 19:50
      +1

      Кстати. LaTEX это было именно то, что меня перевело на сторону Linux :)

      Инсталляция и работа на машине с малым объемом памяти. Тогда работал с небольшой научной типографии при институте. И LaTEX был просто спасением и способом заработка.


    1. lz961
      27.08.2021 09:57
      +3

      а какие есть проблемы с Виндорй? MikTex прекрасно работает и может подтягивать недостающие пакеты в процессе компиляции.


      1. haqreu
        27.08.2021 10:06

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


        1. lz961
          27.08.2021 11:06
          +2

          В конечном счёте важно, чтобы на стороне редакции компилировалось. Но ваш бубен там бессилен.


          1. haqreu
            27.08.2021 11:22
            +1

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


            1. PereslavlFoto
              27.08.2021 13:17

              Far + Colorer, отлично работает и нетребователен к ресурсам.


              1. haqreu
                27.08.2021 14:02

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


                1. PereslavlFoto
                  27.08.2021 14:04
                  -2

                  Автоматическая сборка = командный файл.

                  Контроль версий очень хорошая штука, однако занимает много места на диске.


                  1. shoorick
                    30.08.2021 12:09
                    +1

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


            1. serejk
              27.08.2021 14:41
              +1

              Я остановился на кроссплатформенном texmaker, работает без проблем.


            1. lisper
              27.08.2021 20:29

              Emacs + AUCTeX. Основная проблема - настроить это все)


            1. lz961
              27.08.2021 21:18

              редактирование -- notepad++
              рисунки -- inkscape
              библиография -- jabref/notepad++
              среда -- far с настроенными горячими клавишами
              Для просмотра промежуточного результата использую yap и компилирую, соответственно, в dvi -- получается быстрее, чем при использовании pdf; к тому-же yap обновляет содержимое сразу же при перекомпиляции. Такой вариант не позволяет по клику в скомпилированном файле перейти к позиции в исходнике.

              Использовал git, особых преимуществ именно при вёрстке статей не увидел.


    1. SemyonSinchenko
      27.08.2021 14:50
      +1

      Для решения таких проблем и придумали Overleaf, где уже собраны все пакеты и уже настроено 100500 шаблонов.


      1. haqreu
        27.08.2021 14:58
        +2

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


    1. ShashkovS
      27.08.2021 17:17

      Не, под виндой уже всё давно отлично с miktex'ом и автоустановкой недостающих пакетов.
      MikTeX уже даже на мак и в линкус завезли. А вот texlive дружелюбной автоустановкой пакетов и GUI'ём для их поиска так и не обзавёлся.


    1. masai
      02.09.2021 01:04

      Только не забудем проapt-get install texlive-full и пять гигабайт дискового пространства. А, вы под виндой? Счастья вам и бубен в придачу.

      Установите Tectonic он намного меньше (где-то 20 мегабайт) и тянет из интернета (или кэша) только то, что нужно для компиляции. Да и пользоваться удобнее, так как одна команда делает сразу всё: несколько проходов, библиографию и т.д. Каких-то несовместимостей особо не замечал.

      Странно, что его в комментариях никто не упомянул. Удобная штука. Как минимум, стоит попробовать.


  1. user_man
    26.08.2021 19:43
    +19

    Latex не для тех, кто хочет освоить что-то за 30 минут. То есть автор не понимает, о чём он пишет.

    Latex, это конвертор из данных о разметке документа в некий генерируемый внешний вид. Точно таким же конвертором является, например, ваш браузер, который точно так же конвертирует HTML-разметку в то, что вы видите. Но никто в здравом уме не пишет статьи про "освойте HTML" за 30 минут. Точнее, такие статьи изначально ориентированы на обман, ибо замануха.

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

    Ну и если сравнить Latex с MS Word, то имеем:

    1. Нет нужды учить язык.

    2. Нет нужды учить связь между тэгами и внешним видом.

    3. Нет нужды в справочниках.

    То есть в ворде просто пишете свою формулу в редакторе формул и не вспоминаете ни о каких языках. Именно просто. А не как в латексе.


    1. PereslavlFoto
      26.08.2021 19:48
      -1

      Гм… Подскажите, пожалуйста, как в ворде сделать один документ, который можно редактировать по частям, не загружая его весь целиком?

      Спасибо.


      1. MMik
        27.08.2021 10:48
        +5

        Создайте Master Document в Word, включите в него Subdocuments отдельными файлами. Редактировать можете отдельные файлы, а читать, печатать или экспортировать в другие форматы можете всё целиком из мастер документа. Функцинал доступен с Word 2007.


    1. astenix
      26.08.2021 21:10

      Освоил латекс за 31 минуту. Сохраняю файлы проекта в юникоде с BOM. Делаю отворот приворота без фотографии.


    1. anger32
      26.08.2021 22:44
      +2

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

      Да вы оптимист, батенька! Я бы даже сказал ОПТИМИСТИЩЕ!!!! Latex это не язык -- это секта. А вместо библии у нее гигатонны манов и доков на пакеты: https://ctan.org/pkg/:P

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


      1. PereslavlFoto
        26.08.2021 22:47

        Вы перегибаете. Не нужны маны. Достаточно одну книжку прочитать + один FAQ + одно руководство по кириллизации.


        1. anger32
          26.08.2021 22:57
          +5

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

          А вот при необходимости генерировать собственные tex- шаблоны с разным комплексным контентом приходит понимание того, что изобретательности ацких чертей нет границ.


          1. PereslavlFoto
            26.08.2021 23:00
            +6

            Нельзя отрицать того, что язык TeX создан нечеловеческим разумом. На это указывали мне два доктора наук.


            1. anger32
              27.08.2021 00:13
              -2

              Нельзя отрицать того, что язык TeX создан нечеловеческим разумом. На это указывали мне два доктора наук

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


              1. PereslavlFoto
                27.08.2021 01:10
                +2

                Это были доктора физмат наук.


            1. gearbox
              27.08.2021 10:17
              +2

              Дональд Кнут рептилоид?


            1. lz961
              28.08.2021 12:01
              +1

              В том-то и проблема, что он создан человеческим разумом. Разумом теоретиков, работающих в области фундаментальных наук которые:
              a) ставят задачи сами для себя,
              б) считают свою часть работы сделанной, руководствуясь своими собственными соображениями, а не объективной ценностью результата.
              В режиме "через полтора месяца это должно работать, причём работать вообще, а не только в ваших руках + полный набор КД, ПД и руководство по эксплуатации" такие люди работать не любят, и, похоже, не могут. Ну и результат у них выходит соответствующий -- сложный для применения.


              1. PereslavlFoto
                28.08.2021 13:35
                -1

                Результат сложный, однако удобный и очень эффективный.


                1. lz961
                  28.08.2021 14:30

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

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


                  1. PereslavlFoto
                    28.08.2021 14:49
                    +1

                    Пожалуйста! :-)

                    Дано 5 000 текстов статей. Надо вывести их в одинаковом оформлении. Решение: создать подходящий стилевой файл, разметить эти тексты простыми командами.

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

                    Даны книги, в которых нужна более-менее серьёзная работа:

                    • составить список иллюстраций,
                    • составить два-три указателя, в том числе сводные указатели для нескольких томов, отмечая в тексте места, вынесенные в указатель,
                    • использовать во всех иллюстрациях одинаковый шрифт,
                    • использовать церковнославянские и греческие тексты,
                    • сохранить в вёрстке авторское разбиение машинописи на сроки,
                    • ввести красивые многоцветные буквицы,
                    • ввести маргиналии, привязанные к основному тексту,
                    • дать подстраничные примечания, дать примечания к этим примечаниям, отдельно дать примечания редактора, отдельно дать примечания переводчика, отдельно дать ссылки на литературу,
                    • дать генеалогические деревья,
                    • дать двуязычный текст, сопоставленный по абзацам,
                    • дать библиографию из нескольких тысяч позиций, состоящую из нескольких десятков разделов, оформленную по ГОСТ и сортированную по алфавиту, и указатель авторов для этой библиографии.

                    Следовательно, нужна программа, которая всё это поддерживает.

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

                    Даны тексты, которым нужны иллюстрации, построенные по заданным формулам. Графическая программа не позволяет вычислить графики. Следовательно, нужна верстальная программа, которая вычислит графики.

                    Вот первое, что сразу приходит в голову. Конечно, есть и более серьёзные задачи.


                    1. lz961
                      28.08.2021 15:05

                      Про 5000 статей вы ничего нового не сказали. Всё остальное похоже на фантазии об устройстве издательского дела, точнее о том, как оно "в идеале" должно быть устроено. Я же говорю про конкретику, ожидается, что вы опишите задачи и то, как они с помощью LaTeX решаются в реальной практике. Говорите о книгопечатание -- приводите в пример издательства, работающие с LaTeX.


                      1. PereslavlFoto
                        28.08.2021 15:34

                        Я своими глазами видел всё, что описано выше, кроме билингвы.


  1. mickvav
    26.08.2021 20:44
    +1

    Ссылочки на платный сервис за 10$/mo отдельно доставляют, конечно. Особенно когда можно написать makefile который все тебе соберет за 10-15 минут. 5 гигов на диске в наше время - не аргумент вообще, imho.


    1. haqreu
      26.08.2021 22:25

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


    1. playermet
      27.08.2021 12:25
      +2

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


      1. mickvav
        27.08.2021 13:20

        Неограниченного числа простых документов. 1 минута компиляции для LaTeX-a - не очень много. И история изменений (которая у меня будет опять же бесплатно при локальной инсталляции, если мне не лень делать git init/git commit/...) - важная штука.


        1. playermet
          28.08.2021 13:27

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

          Имхо, для объема документа который выйдет за таймаут компиляции в Overleaf и целый день установки и настройки рабочей среды не будет иметь особого значения. Ну или нужно делать что-то специфичное, где тяжелых картинок как в семейном фотоальбоме.


  1. anatolii_kostrygin
    27.08.2021 11:40

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


  1. PereslavlFoto
    27.08.2021 18:17

    Товарищи, не знает ли кто, как из latex компилировать в html или в mediawiki-разметку?


    1. saidelman
      27.08.2021 19:19
      +1

      https://github.com/jgm/pandoc
      Попробуйте эту штуку


      1. PereslavlFoto
        27.08.2021 19:21

        Спасибо!

        Несколько лет назад я пробовал пандок, однако он не парсил стилевые файлы, а работал только в очень тесных рамках стандартного latex.

        А вам удавалось через пандок обрабатывать пользовательские макросы?


        1. saidelman
          27.08.2021 20:06

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


    1. Ausweis_ss
      28.08.2021 08:07

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


      1. PereslavlFoto
        28.08.2021 13:34
        +1

        Ворд очень неудобен по сравнению с латехом. И настраивать его трудно, и пользоваться им трудно.


  1. AaRoN_2021
    28.08.2021 10:26

    Мое мненние об этой программы, да она крутая и классная, даже мне самому понравилось посидеть поизучать. Еще это программа мне напомнила на язык программирования или HTML там тоже впринципе синтаксис похож. Вобщем наверное это лучшая программа чем Word, но Word тоже по сути удобен и люди пользуются очень много чем LaTeX. Я вобще думаю что Word-ом пользуются старички а вот LaTeX пользуются совершенно молодые люди.


    1. lz961
      28.08.2021 11:43

      Латехом как раз старпёры и пользуются, поскольку в 90-х это было практически единственное средство, позволяющее создавать на ПЭВМ текст с формулами. Единственной известной мне альтернативой был Чиврайтер. Ну и "молодёжь", стремящаяся показать свою принадлежность к псевдоинтеллектуальной псевдосубкультуре, использует с этой целью латех при наборе лабораторок-курсовиков-дипломов.


      1. shoorick
        30.08.2021 12:19

        В девяностые (ну ладно, в конце их) и ворд позволял формулы вставлять, причём без использования MS Equation и необходимости елозить мышкой — там были EQ-поля, где можно было написать техоподобную формулу вида {eq \f(\r(2);42)}, а на выходе, после нажатия Ctrl+F9 (или Shift+F9?) получить то, что надо. Там были корни, дроби, матрицы, суммы, произведения, интегралы, степени с индексами и наложение символов друг на друга — мне этого хватило для диплома, ни в чём другом я формулы тогда и не набирал.


      1. masai
        02.09.2021 01:12

        Ну не единственное, просто самое популярное. Как минимум был ещё troff/eqn. Но это для любителей ретро даже по тем меркам. :)