使用段落作为枚举列表中的分隔符

使用段落作为枚举列表中的分隔符

笔记:乍一看,这可能看起来重复了使用 ENTER 键作为分项列表中的分隔符。但是,该问题涉及描述样式列表(未枚举),解决方案是从 \item 世界中删除该列表。下面的案例涉及编号列表,因此解决方案似乎更有可能需要保留在 \item 世界中。为了让这个问题保持独立,我重复了之前的问题的大部分内容。

背景:我妻子正在写一本家庭食谱。我主要将其作为学习练习,为该项目整理了 LaTex 代码。我希望食谱数据输入尽可能简单,将(几乎)所有处理代码都隐藏在后端。下面显示了我输入食谱说明步骤的第一步。我使用了一个 \InstructionList 命令,该命令接受可变数量的参数。如您所见,使用 \SplitList,每个编号说明都由 [;] 字符分隔。在理想情况下,我的妻子只需输入配料并使用新的段落指示符(两个连续的 ENTER 键)作为编号说明之间的分隔符。我尝试过使用 \cr 和 \newline 以及 \par 作为 \SplitList 分隔符,但没有成功。

我的问题:有没有办法将两个连续的 ENTER 键设置为可变长度的配方说明项列表之间的 \SplitList 分隔符?(也欢迎没有 \SplitList 的其他解决方案)。

我在这里特别指出了答案:使用 \SplitList 在新行上拆分Bruno Le Floch 编写,它似乎允许 \SplitList 以单身的ENTER 字符(可能不适合冗长的食谱说明)。我不太了解该代码,不知道是否可以(或应该)针对我的“新段落”方法进行修改。

\documentclass[11pt]{book}
\usepackage{enumitem, xparse}                                 

\NewDocumentCommand \InstructionList { >{\SplitList{;}} m }{% 
\begin{enumerate}[noitemsep] %
\ProcessList{#1}{\ProcessInstructions}
\end{enumerate}
}
\newcommand\ProcessInstructions[1]{\item #1}

\begin{document}
\InstructionList{
Preheat oven to 350 degrees (325 for convection). Spray baking sheets. ;
In a medium bowl, whisk together flour, cocoa, baking soda/powder and 
salt. Beat the butter and sugar on medium-high speed until light and 
fluffy. Add the eggs one at a time and mix well. Beat in vanilla extract 
and espresso. Add dry ingredients and mix until combined before adding 
nuts and chocolate. Mix just until incorporated. Dough will be stiff and 
sticky. ;
Divide dough into 2 equal pieces. Using as little flour as possible, roll
 each piece into logs that are 18 inches long. Flatten to 2" wide. Brush 
with beaten egg white and sprinkle with sugar. Bake until firm in the 
center, about 20-25 minutes. Cool for about 15 minutes before slicing and
 second bake. ;
With a serrated knife, cut logs into 1/2 inch slices. 
Lay on the baking sheets.  Bake for 10 minutes. 
Turn biscotti over after 5 minutes.
These biscotti harden as they cool, so don't over bake. 
}
\end{document}

答案1

这绝对是有可能的。

相关内容