LaTeX 中的样式枚举

LaTeX 中的样式枚举

我正在写日记,并使用标准enumitem包来编写枚举列表。我当前使用的列表是:

在序言中

\usepackage[shortlabels]{enumitem}

并在文档中

\begin{enumerate}[label=\textbf{\arabic*}.]
%code to executed here
\end{enumerate}

然而,期刊团队要求我将其改为以下内容:

______________________

练习二十

______________________

其中 XX 是计数器,例如 1、2、3 ... 等等。我不知道该怎么做。唯一想到的就是将 TIkZ 与自创的枚举器结合起来。但是,我无法想出执行此操作所需的正确宏。

有什么帮助吗?

答案1

我使用过,amsthm因为你的练习看起来很像amsthm包中定义的练习。我邀请你阅读该文档。

优点是你可以很好地、轻松地设计出事物的样式,缺点是每个示例都有一个环境。

这是我得到的结果:

\documentclass[letterpaper,12pt]{article}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{xca}{Exercise}
\newenvironment{myexercise}{%
\par\noindent \rule{4pc}{1pt}\begin{xca}}%
{\end{xca}\noindent\rule{4pc}{1pt}}
\begin{document}
\begin{myexercise}
Test
\end{myexercise}
\end{document}

结果如下:

在此处输入图片描述

以下是主要内容:

  • \theoremstyle{definition}使用 amsthm 的预定义样式

  • \newtheorem{xca}{Exercise}建立了一个新定理(xca按照上述风格锻炼

  • 然后我必须制定规则,我给出的规则\rule{4pc}{1pt}对我来说似乎很好。它们可能需要微调

  • 的作用\par\noindent是结束上一段并且不留缩进。noindent环境之后也是必需的。


编辑

由于 OP 需要一些不同的东西,即\newline标题后面的,我定义了一个新的theoremstyle并应用了它。amsthm文档已经全部解释了

\documentclass[letterpaper,12pt]{article}
\usepackage{amsthm}
\newtheoremstyle{mydefinition}%
{3pt}% space above
{5pt}% space below
{}% body font
{}% indent
{\bfseries}% header font
{.} % header punctuation
{\newline}% after header space
{}%
\theoremstyle{mydefinition}
\newtheorem{xca}{Exercse}
\newenvironment{myexercise}{\par\noindent \rule{4pc}{1pt}\begin{xca}}{\end{xca}\noindent\rule{4pc}{1pt}}
\begin{document}
\begin{myexercise}
Test
\end{myexercise}
\end{document}

结果:

在此处输入图片描述

笔记:我放置了一些顶部和底部分离的虚拟示例,只是为了表明您可以在那里放置“正常”尺寸。

答案2

这是另一种可能性,使用ntheorem。我修补了break样式以定义一种ruled样式,并使用 添加了一点处理microtype

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{ntheorem}
\usepackage{microtype}
\usepackage{fourier, cabin}

\makeatletter
\newtheoremstyle{ruled}%
  {\hrule\qquad\item[[\indent\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
          ##1\ ##2\theorem@separator}\hbox{\strut}}}] \leavevmode\vspace*{-1.3ex}\hrule\vspace{2ex}}%
  {\hrule\item[\indent\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
          ##1\ ##2\ (##3)\theorem@separator}\hbox{\strut}}}] \leavevmode\vspace*{-1.3ex}\hrule\vspace{2ex}}
\makeatother
\theoremstyle{ruled}%
\theoremheaderfont{\lsstyle\sffamily\scshape}
\theorembodyfont{\normalfont}
\newtheorem{exercise}{Exercise}

\begin{document}

\begin{exercise}[An exciting exercise]
 Prove that equality is an equivalence relation.
\end{exercise}

\end{document} 

在此处输入图片描述

相关内容