我是一名英国律师,正在尝试使用 LaTeX 以传统风格排版法律意见。我正在寻找一种自动编号段落和子段落的方法,即如下所示。使用 Word 中的多级列表可以很容易地做到这一点,但我不知道使用 LaTeX 的简单方法。任何帮助都将不胜感激。
是否可以创建如下所示的东西?
非常感谢!
编辑现在我已经按照我的意愿使用以下代码完成了这个工作:
\documentclass[a4paper, oneside, 12pt]{article}
\usepackage[english]{babel}
\usepackage{geometry}
\usepackage[T1]{fontenc}
\usepackage{newpxtext,newpxmath}
\usepackage{blindtext}
\usepackage[hang]{footmisc}
% \usepackage[none]{hyphenat}
% Set enumerate to have continuous numbering and make our sublist styles
\usepackage{enumitem}
\setlist[enumerate]{
resume,
align=left,
topsep=0.25cm,
itemsep=0.25cm,
leftmargin=1cm,
rightmargin=0cm,
itemindent=0cm,
labelsep=0cm,
labelwidth=1cm,
labelindent=0cm,
}
\newlist{enum-alpha}{enumerate}{1}
\setlist[enum-alpha]{
label=(\alph*),
align=left,
topsep=0.25cm,
itemsep=0.25cm,
leftmargin=1cm,
rightmargin=0cm,
itemindent=0cm,
labelsep=0cm,
labelwidth=1cm,
labelindent=0cm,
}
\newlist{enum-roman}{enumerate}{1}
\setlist[enum-roman]{
label=(\roman*),
align=left,
topsep=0.25cm,
itemsep=0.25cm,
leftmargin=1cm,
rightmargin=0cm,
itemindent=0cm,
labelsep=0cm,
labelwidth=1cm,
labelindent=0cm,
}
% Disable section numbering
\setcounter{secnumdepth}{0}
% Adjust section heading formats
\usepackage{titlesec}
\titleformat{\section}{\bfseries}{}{0pt}{}
\titleformat{\subsection}{\bfseries}{}{0pt}{\hspace*{1cm}}
\titleformat{\subsubsection}{\itshape}{}{0pt}{\hspace*{2cm}}
\begin{document}
\section{Heading}
\begin{enumerate}
\item \blindtext %\footnote{\blindtext}
\item \blindtext
\begin{enum-alpha}
\item \blindtext
\begin{enum-roman}
\item \blindtext
\item \blindtext
\end{enum-roman}
\item \blindtext
\end{enum-alpha}
\end{enumerate}
\section{Heading}
\subsection{Sub-heading}
\subsubsection{Sub-sub heading}
\begin{enumerate}
\item \blindtext
\begin{enum-alpha}
\item Test.\footnote{Test}
\item \blindtext
\end{enum-alpha}
\end{enumerate}
\subsection{Sub-heading}
\begin{enumerate}
\item \blindtext
\end{enumerate}
\end{document}
呈现效果如附件所示(仅截取前两页的屏幕截图):
每个枚举环境都需要 \begin 和 \end,这非常麻烦。我想知道是否有办法在 Markdown 中准备这样的文档,然后使用 pandoc 通过 LaTEX 将其转换为 PDF,以便像我的示例一样格式化嵌套列表。我怀疑根据列表的嵌套程度来设置列表定义会更容易,而不是使用命名子列表,例如:
\usepackage{enumitem}
\setlist[enumerate]{
align=left,
leftmargin=1cm,
itemindent=0cm,
labelsep=0cm,
labelwidth=1cm,
labelindent=0cm,
}
\setlist[enumerate,1]{
resume,
label=\arabic*.,
}
\setlist[enumerate,2]{
label=(\alph*),
}
\setlist[enumerate,3]{
label=(\roman*),
}
有人知道这是否可行吗?我在[这里]找到了一些讨论(https://docs.google.com/document/d/e/2PACX-1vSX5opye0KWQ687nLhYKW1VTs2DljUUl5fra4kicNK7ygj-_Qyc3lhuEQh3g94Z4mM7EKQLPPpa3L3Q/pub) 但看起来非常复杂。我想知道 Markdown 文件的序言或 pandoc LaTeX 模板的更改是否可以实现相同的结果。
答案1
我认为enumerate
环境就是您要找的。该选项resume
来自enumitem
包,允许从以前的环境中恢复编号enumerate
。
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate]{
align=left,
labelindent=0pt,
leftmargin=1cm,
labelsep=*,
}
\setlist[enumerate,3]{
label=(\roman*)
}
\begin{document}
\section*{Heading}
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\end{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\end{enumerate}
\end{enumerate}
\section*{Heading}
\subsection*{Sub-heading}
\begin{enumerate}[resume]
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\begin{enumerate}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\end{enumerate}
\end{enumerate}
\subsection*{Sub-heading}
\begin{enumerate}[resume]
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, ante a imperdiet placerat, diam libero blandit leo, quis ullamcorper.
\end{enumerate}
\end{document}
答案2
使用 的方式非常不同linguex
:只需键入 \ex.
即可创建主项、 \a.
启动嵌套列表以及\b.
向嵌套列表添加更多项。要关闭嵌套列表,请使用\z.
和 关闭主项和任何嵌套子列表,只需添加一个空行 (= \par
),因此您应该避免在源文本中的子项之间使用它。该示例没有显示任何空行,但\par
突出显示了它应该在的位置(以及它不应该在的位置)。
\documentclass{article}
\usepackage{linguex,lipsum}
\usepackage{lipsum} % just to avoid type dummy text
\renewcommand{\ExLBr}{}
\renewcommand{\ExRBr}{.}
\renewcommand{\SubExLBr}{(}
\renewcommand{\SubExRBr}{)}
\begin{document}
\section*{Heading}
\ex. \lipsum[1][1-2]\par
\ex. \lipsum[2][1-2]
\a. \lipsum[3][1-2]
\a. \lipsum[4][1-2]
\b. \lipsum[5][1-2]\z.
\b. \lipsum[6][1-2]\par
\ex. \lipsum[6][1-2]\par
\section*{Heading}
\subsection*{Sub-heading}
\ex. \lipsum[7][1-2]
\a. \lipsum[8][1-2]
\b. \lipsum[9][1-2]\par
\subsection*{Sub-heading}
\ex. \lipsum[10][1-2]\par
\end{document}