根据嵌套为 \input 添加额外缩进

根据嵌套为 \input 添加额外缩进

我有一个关于如何使用 LaTeX 进行特定编程的问题。目前,我正在编写技术文档,其中一个过程可以有嵌套的子过程,每个子过程也可以嵌套。诀窍是我不知道子过程可以位于哪个级别,但我想在过程为 \input 时添加缩进,并在到达文档末尾时删除缩进(缩进几乎是 push/pop)。

我的想法是这样的:

\paragraph{Reference the following procedure:}
% TODO: Indent one level
\input{_MySubProcedure.tex}
% TODO: Remove one indent level
\paragraph{Next steps...}

再次强调,重点是我不知道确切地这里要缩进多少,我只知道我需要添加一些固定的数量,并在 \input 末尾删除相同的数量。

在此先谢谢您提供的任何帮助!

答案1

所以我讨厌在发布问题后不到一小时就回答自己的问题,但我确实找到了一些满足我需求的东西。使用 changepage 包可以访问 \adjustwidth,我将其包装成一个新命令:

% Indent the entire document by 1em..
\newcommand{\subprocedure}[1]{ \begin{adjustwidth}{1em}{0pt}\input{#1}\end{adjustwidth} }

使用上述命令,我现在可以通过用 \subprocedure 替换每个 \input 来获得我需要的嵌套。

相关内容