使用相同内容和不同布局构建多个文档的选项

使用相同内容和不同布局构建多个文档的选项

我需要使用相同的内容制作两个文档布局。我将大量使用命令input{}来执行此操作,但这比这更复杂。我正在寻找有关如何最好地构建文档的建议。

我有 10 种乐器,每种乐器都有一个介绍校准手术后期处理, 和维护文档部分。因此,该文档有 50 多个部分。

一个版本需要按照乐器来排列,如下所示:

  • 文档简介
  • 仪器 1
    • 介绍
    • 校准
    • 操作……
  • 仪器 2
    • 介绍
    • 校准

ETC。

我需要按操作顺序排列的文档的第二个版本,因此:

  • 文档简介
  • 校准
    • 1 中
    • 在 2
    • ...
    • 10 年
  • 运营
    • 1 中
    • 在 2

ETC。

如您所见,仅编写一个 shell 脚本来构建一个.tex充满 的包装器文档\input{}是不够的,因为每个输入的 tex 文档都需要不同的标题,例如深度和标题。\subsection{Instrument 1}一个文档中的\subsubsection{Calibration}在另一个文档中会变成 ,尽管下面的段落中是完全相同的文本。

我可以让 shell 脚本决定什么是 asubsection以及什么是 a subsubsection,但现在我写的bash更多LaTeX

有没有sections类似itemize环境的东西?对于itemize,我不需要告诉它它的深度与itemitemitemize类似subsubsubsection,它会自动处理。

关于如何最好地编写一次并编译两次的任何其他建议都将非常感激。

答案1

好的,您有 10 个仪器,每个仪器有 6 个部分,总共 60 个。最简单的方法是创建 60 个输入文件。filecontents如果您不想手动创建所有文件,可以使用环境。这些文件不应包含分段命令。

然后将分段命令放入两个不同的主文件中:

% File 1:
\section{Doc Intro}

\section{Instrument 1}
\subsection{Intro}
\input{instr1-intro}
\subsection{Calib}
\input{instr1-calib}
\subsection{Ops}
\input{instr1-ops}
% ...

\section{Instrument 2}
\subsection{Intro}
\input{instr1-intro}
\subsection{Calib}
\input{instr1-calib}
\subsection{Ops}
\input{instr1-ops}
% ...

% etc.

% File 2:
\section{Doc Intro}

\section{Calibration}
\subsection{Instrument 1}
\input{instr1-intro}
\subsection{Instrument 2}
\input{instr2-intro}
\subsection{Instrument 3}
\input{instr3-intro}
% ...

\section{Operations}
\subsection{Instrument 1}
\input{instr1-ops}
\subsection{Instrument 2}
\input{instr2-ops}
\subsection{Instrument 3}
\input{instr3-ops}
% ...

% etc.

您可以使用循环来完成这部分工作:

\newcount\instrument
\instrument=1
\loop\ifnum\instrument<11\relax
  \section{Instrument \the\instrument}
  \subsection{Intro}
  \input{instr\the\instrument-intro}
  \subsection{Calib}
  \input{instr\the\instrument-calib}
  \subsection{Ops}
  \input{instr\the\instrument-ops}
  % ...
  \advance\instrument by 1\relax
\repeat

\section{Calibration}
\loop\ifnum\instrument<11\relax
  \subsection{Instrument \the\instrument}
  \input{instr\the\instrument-calib}
  % ...
  \advance\instrument by 1\relax
\repeat

\foreachpgf可以在这里使用,可能更容易处理。它还可以迭代章节标题。

答案2

s是否有section类似itemize环境的东西?对于 itemize,我不需要告诉它它的深度与itemitemitemize类似subsubsubsection,它会自动处理。

\section通常不是环境,而这就是一刀切的问题\section。例如,LaTeX 如何知道下一个\section是子部分还是兄弟部分?

但也许您可以将文档划分作为环境来实现,然后以这种方式跟踪部分的深度。

相关内容