我需要使用相同的内容制作两个文档布局。我将大量使用命令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
宏\foreach
也pgf
可以在这里使用,可能更容易处理。它还可以迭代章节标题。
答案2
s是否有
section
类似itemize
环境的东西?对于 itemize,我不需要告诉它它的深度与itemitemitemize
类似subsubsubsection
,它会自动处理。
\section
通常不是环境,而这就是一刀切的问题\section
。例如,LaTeX 如何知道下一个\section
是子部分还是兄弟部分?
但也许您可以将文档划分作为环境来实现,然后以这种方式跟踪部分的深度。