Большинство пользователей игнорирует всякие файлы, создаваемые LaTeX. Нужны они ему зачем-то, и ладно. На самом деле…
foo.logЕсли у нас был foo.tex, то создастся foo.log—независимо какой TeX мы используем. И TeXу этот файл совсем не нужен. Он нужен пользователю. Помимо общей информации о том, какие исполняемые, документкласс и пакеты были использованы и их местоположение (полезно как последний резерв для нахождения причин ошибок при компиляции) он содержит всевозможные предупреждения—о переполненных или неполных боксах, о неопределенных ссылках (\ref и всех подобных \pageref, \footref, \eqref и т.д.)
Код:
LaTeX Warning: Reference `myeq' on page 5 undefined on input line 134
и цитатах (\cite)
Код:
LaTeX Warning: Citation `greatbook' on page 4 undefined on input line 58,
o некоторых объектах с тем же \label и \bibitem (которые LaTeX не различает в этом контексте):
Код:
LaTeX Warning: Label `bar' multiply defined.
Это случается даже если один раз было \label{bar}, а второй раз—\bibitem{bar}
Не все Warning имеет смысл исправлять, но указанные выше—обязательно.
-- 19.05.2014, 04:41 --foo.auxОбщая информацияaux — сокращение от auxiliaire (вспомогательный)
Когда LaTeX впервые компилирует foo.tex все \ref и иже с ним, и \cite неопределены. Но при этом latex спасает эту информацию в foo.aux в такой форме
Код:
\newlabel{myeq}{{1.2}{4}}
\bibcite{greatbook}{GB}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Всякая фигня}{5}}
где для уравнений (или теорем—в общем любого environment, на которое можно сослаться дается номер (первое число—1.2), и страница (последнее число—4).
Когда latex компилирует foo.tex в следующий раз, он сразу загружает foo.aux в память и стирает файл, используя информацию в памяти для заполнения всех ссылок и цитирований. Но если foo.aux сильно испорчен, latex зависает и тогда следует прервать компиляцию и удалить foo.aux и начать сначала.
Сколько раз прогонять latex?Популярное мнение—дважды. Однако при второй компиляции страницы могут измениться, поэтому—трижды. Мне неизвестны естественные примеры, в которых следует компилировать более трех раз (но можно легко написать искусственные, которые каждый раз компилируются по разному). Существует скрипт latexmk который компилирует до тех пор, пока результат не стабилизируется)
ВариацииЕсли foo.tex содержит \include, (скажем foo1.tex, foo2.tex, foo3.tex), то у нас будет foo1.aux, foo2.aux, foo3.aux и foo.aux, который не дублирует содержание foo1.aux, foo2.aux, foo3.aux, но говорит, что такие файлы имеются и расположены они там-то и там-то. Если мы включаем в преамбулу \includeonly{foo3.tex}, то foo1.aux, foo2.aux используются latex для извлечения информации о номерах уравнений и т.д. в foo1.tex и foo2.tex
Пакет hyperref изменяет foo.aux, дописывает туда информацию об anchor (т.е. то место в pdf на которое можно сослаться), для теорем и секций—информацию об имени (нужна для команды \nameref, введенной в этом пакете).
Другие пакеты, документклассы и даже команды обычно создают свои вспомогательные файлы (toc, idx и т.д. и т.п.)