可覆盖的默认段落标题

可覆盖的默认段落标题

我目前正在为我们在工作中编写的报告创建一个新类。我们所有的报告都要求每个段落都有一个内联的、非编号的标题。大多数情况下,给定文档中的所有段落的标题都是相同的。但是,有时标题会发生变化。目前的做法如下:

\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

相关内容