自动和复杂枚举

自动和复杂枚举

我正在尝试创建一本结构如下的规则手册:

第1章

规则 1 - 规则名称

规则 2 - 规则名称

第2章

规则 3 - 规则名称

对于这本规则书来说,重要的是我可以稍后在其他规则/章节之间添加新规则和章节,或者只是重新排序它们。目前我只使用普通的文本编辑器(如 Word/Google Docs)。这意味着每次我添加新内容或重新排序时,我都必须手动调整所有数字。此外,如果引用了其中一章/文章,我也必须调整它们。这是一项艰巨的工作。

我想知道使用 LaTeX 是否能解决其中一些问题,但我不是专家,所以我希望你们中的一些人能帮助我。是否可以:

  • 像我上面展示的那样,有一个自动枚举。这将是一个枚举,其中数字不是第一个(即数字前始终有单词“规则”),并且枚举会持续到各个章节(即它不会重置)。
  • 能够以与通常使用\label和类似的方式引用这些规则/章节\ref。当添加/更改某些内容时,这些引用也会自动调整。

非常感谢您的帮助!

答案1

我的印象是您想要章节标题。为了输入清晰,我提供了一个\Rule命令,它只是\section

oneside选项只是制作一张独立的图片

\documentclass[a4paper,oneside]{book}
\usepackage{titlesec}

\titleformat{\section}[block]
  {\large\bfseries}
  {Rule \thesection\ --- }
  {0pt}
  {}

\newcommand{\Rule}{\section}
\newcommand{\Ruleref}[1]{Rule~\ref{#1}}
\counterwithout{section}{chapter}

\begin{document}

\chapter{Basic rules}

\Rule{Very basic rule}\label{rule:basic}

This is the first and basic rule.

\Rule{Less basic rule}

This is a less basic rule.

\chapter{Advanced rules}

\Rule{Difficult rule}

This is a difficult rule.

\Rule{Awkward rule}

Following this rule is unintuitive, see~\Ruleref{rule:basic}
for confirmation.

\end{document}

在此处输入图片描述

答案2

以下是如何使用 明确执行此操作enumitem,定义一个新列表:

\documentclass{report}
\usepackage{enumitem}
\newlist{rules}{enumerate}{1}
\setlist[rules,1]{wide = 0pt, label=Rule \arabic* – , font=\sffamily, leftmargin=*}
\usepackage{lipsum}

\begin{document}

\chapter{Foo}
\lipsum[11]
\begin{rules}
  \item Blah blah blah!
  \item Meow!
\end{rules}

 \chapter{A chapter on chapters}
\begin{rules}[resume*]
  \item Bleh bleh bleh!
\end{rules}

\end{document} 

在此处输入图片描述 在此处输入图片描述

答案3

有多种方法可以实现这一点,这里是使用 amsthm定理包的替代方法。您也可以使用,thmtools这样您就可以按照自己喜欢的方式进行设计。

\documentclass{book}
\usepackage{amsmath, amsthm, lipsum}
%\usepackage{thmtools}
\newtheoremstyle{note}% name
{3pt}% Space abovei1
{3pt}% Space belowi1
{\upshape}% Body font
{}% Indent amounti2
{\bfseries}% Theorem head font
{}% Punctuation after theorem head
{.5em}% Space after theorem headi
{}% Theorem head spec (can be left empty, meaning `normal' )
\theoremstyle{note}
\newtheorem{Rule}{Rule}
\usepackage{hyperref}
\begin{document}
\chapter{First}

\begin{Rule}[Some Test]
\lipsum[1]\label{1}
\end{Rule}

\begin{Rule}
\lipsum[3] \label{2}
\end{Rule}
\ref{1}\ref{2}
\end{document}

相关内容