Простой препроцессор для латекса: определить, являетесь ли вы включенным файлом или компилируемым файлом. в одиночку

Я работаю над огромным скриптом в \ latex.

Я хочу иметь возможность компилировать каждую из глав как автономную, потому что это проще для сеансы взлома с помощью Latex.

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

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

Было бы здорово иметь доступный латексный препроцессор, который поддерживает операторы C-like #define и # ifdef- # else- # endif. Это в значительной степени облегчило бы письмо. Вы знаете, существует ли что-то подобное в латексе, или как вы можете сделать что-то подобное? Google не дал мне удовлетворительного ответа на этот вопрос.

EDIT:

Было бы здорово иметь доступный латексный препроцессор, поддерживающий C-подобные операторы #define и # ifdef- # else- # endif. Это в значительной степени облегчило бы письмо. Вы знаете, существует ли что-то подобное в латексе, или как вы можете сделать что-то подобное? Google не дал мне удовлетворительного ответа на этот вопрос.

EDIT:

Было бы здорово иметь доступный латексный препроцессор, поддерживающий C-подобные операторы #define и # ifdef- # else- # endif. Это в значительной степени облегчило бы письмо. Вы знаете, существует ли что-то подобное в латексе, или как вы можете сделать что-то подобное? Google не дал мне удовлетворительного ответа на этот вопрос.

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

Главы в моем сценарии должны выглядеть примерно так (Псевдокод)

IF being_just_included defined
   %No header here, and document has already begun
ELSE
\input{common_header.tex} %Header things all my documents use
\begin{document}
ENDIF

%%% Lots of stuff

IF being_just_included defined
   %Nothing to do here
ELSE
   \end{document}
END IF

Напротив, мой полный исходный файл сценария должен выглядеть так

\input{common_header.tex}
DEFINE being_just_included
\begin{document}
\input{preamble.tex}
\input{first_chapter.tex}
\input{second_chapter.tex}
\input{third_chapter.tex}
\end{document}

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

6
задан shuhalo 1 May 2011 в 01:04
поделиться