Усечение компиляции «входного» файла

Усечение компиляции «входного» файла

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

Самый простой способ добиться этого в одном документе — просто переместить этот материал ниже строки \end{document}, после чего LaTeX его молча проигнорирует. Однако теперь, когда я работаю над большим проектом, я использую команды \include{} для каждого раздела и теперь могу больше использовать этот обходной путь. Я знаю, что могу закомментировать (т. е. поставить перед каждой строкой символ %) этот дополнительный материал, но он загромождает весь файл. Я знаю, что могу также переместить все это в другой файл, но это слишком хлопотно, учитывая, что мне обычно этот материал больше не нужен (а если и нужен, то я предпочту просто поискать в конце текущего документа).

Кто-нибудь знает команду типа "\end{include}", которая бы приказала компилятору молча игнорировать все, что осталось в текущем файле?

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

\begin{document}
  sketchA
  sketchB
  sketchC
\end{document}

Таким образом, я всегда могу прочитать каждый набросок с полным форматированием LaTeX. Затем, скажем, я останавливаюсь на варианте C, печатаю это красиво и перемещаю остальное под команду \end{document}:

\begin{document}
  niceC
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  sketchA
  sketchB

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

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

Итак, мой вопрос: есть ли команда \X, которая будет игнорировать часть эскизов, если мой входной файл выглядит следующим образом?

niceC
\X
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sketchA
sketchB

?

решение1

Используйте команду `\endinput', чтобы показать явный конец файла. Компилятор LaTeX не будет ничего читать после этой команды. Для ясности я бы рекомендовал вам использовать ее следующим образом

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput %%%%%%%%%%%%%%%%% Every thing ignored after this line
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

решение2

Если вы поместите свои различные эскизы в отдельные файлы, вы сможете вводить их по запросу:

\documentclass{article}
\usepackage{tikz}

\newcommand{\MultInput}[2]{%
    \foreach \i in {#1} {%
        \pgfmathparse{{#2}[\i-1]}%
        \input{\pgfmathresult}}%
}


\begin{document}

% inputs sketchB.tex
\MultInput{2}{"sketchA","sketchB","sketchC"}

% inputs sketchC.tex then sketchA.tex
\MultInput{3,1}{"sketchA","sketchB","sketchC"}

\end{document}

Связанный контент