
Куча файлов будет сгенерирована движком, например, pdfLaTeX, когда он компилирует файл TeX. Мой вопрос: нужно ли нам удалять все эти сгенерированные файлы, чтобы обеспечить правильную компиляцию, если мы перейдем на другой движок, например, XeLaTeX здесь.
Я уже некоторое время использую LaTeX и иногда переключаюсь между разными движками, но, я бы сказал, не сталкивался с проблемами компиляции.
решение1
В общем случае нет, но иногда да, то есть всегда безопаснее удалить, но это медленнее, так как может потребоваться больше запусков для разрешения перекрестных ссылок, но всегда есть вероятность, что в некоторых случаях возникнут ошибки и вам придется удалить, поэтому в таких случаях быстрее сначала удалить.
Лично я не удаляю, если только нет ошибки.
Наиболее распространенной причиной ошибок в «старых» дополнительных файлах при переключении движка является не столько смена движка, сколько смена пакета или опций, которые приняли другие значения по умолчанию, обнаружив используемый движок.
Например, этот файл работает с pdflatex или lualatex (или xelatex), но при переключении с pdflatex на luatex необходимо удалить файлы aux и toc, поскольку информация оглавления записывается с использованием inputenc
внутренних команд, не определенных в случае luatex/xetex.
Здесь есть довольно очевидный явный тест на используемый движок и ветка, загружающая inputenc и fontenc, но в других случаях ветка кода может быть скрыта внутри кода некоторого пакета и не быть видимой в документе, но иметь аналогичные эффекты в файле aux.
\documentclass{article}
\ifx\Umathchar\undefined
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\begin{document}
\tableofcontents
\section{hellö world}
\end{document}