如何在正文中指定规则

如何在正文中指定规则

我想在主体中写入规则,如何编写正确的 TeX 代码以保证规则前后有稍大一点的空间。

示例图片

答案1

对于这样的“规则”的从头定义很简单:

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\newcounter{rules}
\newenvironment{rules}
  {\par\medskip\refstepcounter{rules}%
   \normalfont RULE~\therules.\quad\itshape\ignorespaces}
  {\par\medskip}
\begin{document}
\begin{rules}
\lipsum*[1]
\end{rules}
\lipsum*[2]
\begin{rules}
\lipsum*[3]
\end{rules}
\lipsum*[4]
\end{document}

环境rules在相当于\medskip(即6pt plus 2pt minus 2pt或)的上方和下方插入一个间隙。在和起始之间插入(或)\medskipamount的间隙\quad1emRULE #.斜体文本。如果需要,也可以使用\label-来引用\ref

lipsum提供虚拟文本,乱数风格。


rule可以使用以下方法避免环境第一段的缩进\noindent

%...
\newenvironment{rules}
  {\par\medskip\refstepcounter{rules}%
   \noindent\normalfont RULE~\therules.\quad\itshape\ignorespaces}
  {\par\medskip}
%...

对于更精细的段落缩进管理,请考虑使用parskip包裹

答案2

\newtheorem,借助amsthm可以轻松自定义。这似乎比“手动”定义环境更复杂,但它可以更好地确保文档各个部分之间的一致性;\topsep例如,LaTeX 在列表环境之前使用的空间。

\documentclass{article}
\usepackage{lipsum} % for mock text

\usepackage{amsthm}
\newtheoremstyle{rule}
  {\topsep}  % space above
  {\topsep}  % space below
  {\itshape} % body font
  {}         % indent amount (empty = no indent)
  {}         % theorem head font (empty = normal font)
  {.}        % punctuation after theorem head
  { }        % space after theorem head
  {}         % theorem head spec (empty = normal)

\theoremstyle{rule}
\newtheorem{RULE}{RULE}

\begin{document}
\lipsum[1]

\begin{RULE}\label{periscope}
\lipsum[2]
\end{RULE}

Here's the number:~\ref{periscope}. \lipsum[3]

\end{document}

之后的所有\newtheorem声明\theoremstyle{rule}都将继承样式中定义的相同参数。预定义样式为plaindefinition(直立字体)和remark,但可以创建新样式,如下所示。

在此处输入图片描述

相关内容