我目前正在为我们在工作中编写的报告创建一个新类。我们所有的报告都要求每个段落都有一个内联的、非编号的标题。大多数情况下,给定文档中的所有段落的标题都是相同的。但是,有时标题会发生变化。目前的做法如下:
\documentclass{article}
\begin{document}
\section{A Section}
\subsection{A SubSection}
(f) Para 1
(f) Para 2
(g) Para 3
(f) Para 4
\end{document}
在上面的例子中,本文档要求大多数段落以“f”开头,但少数段落以“g”开头。我想要做的是设置一个前导命令来设置默认段落标题,然后设置一个每个段落的命令来覆盖此默认标题,例如:
\documentclass{article}
\defaultHeading{f}
\begin{document}
\section{A Section}
\subsection{A SubSection}
Para 1
Para 2
\paraHead{g} Para 3
para 4
\end{document}
使用任一方法都应该生成如下文档:
1 节
1.1 子节
(f)第1款
(f)第2款
(g)第3款
(f)第4款
答案1
我猜你想要的是下面这样的东西:
\documentclass{article}
\usepackage{blindtext}
\newcommand\headinga[1][default heading]{%
\paragraph{#1}}
\newcommand\headingb[1][default heading]{%
{\bfseries\noindent (#1) }}
\newcommand\headingc[1][default heading]{%
\vspace{\baselineskip}{\bfseries\noindent (#1)
\par\noindent}}
\begin{document}
\section{A Section}
\subsection{A SubSection}
\headinga \blindtext \par
\headinga[another heading] \blindtext \par
\headinga \blindtext \par
\cleardoublepage
\headingb \blindtext \par
\headingb[another heading] \blindtext \par
\headingb \blindtext \par
\cleardoublepage
\headingc \blindtext \par
\headingc[another heading] \blindtext \par
\headingc \blindtext \par
\end{document}
实现起来可能更清晰,但这应该给你一个起点。
查看 article.cls 来了解 的原始定义\paragraph{<text>}
。
正如@egreg在其评论中提到的,LaTeX\par
以多种方式使用段落()。这些对于普通用户来说并不总是显而易见的。
您可以定义一个新环境,在其中重新定义空白行(或\par
)。但是,如果您有 2 个段落属于同一标题/项目,会发生什么情况?
上述方法具有语义标记的优点,用户/作者在写作时期待发生某些事情\headinga
。