给出了一堆段落:
Para. A ...
Para. B ...
Para. C ...
如何让LaTeX自动为它们编号,即
1. Para. A. ...
2. Para. B. ...
3. Para. C. ...
我见过以下建议:
\newcounter{parnum}
\newcommand{\N}{%
\noindent\refstepcounter{parnum}%
\makebox[\parindent][l]{\textbf{\arabic{parnum}.}}}
% Use a generous paragraph indent so numbers can be fit inside the
% indentation space.
\setlength{\parindent}{2em}
从这里开始:comp.text.tex: Re: How do I number paragraphs in LaTeX?
然后在每个要编号的段落前面使用\ N,即
\N Para. A. ...
\N Para. B. ...
\N Para. C. ...
我也看到了Sarovar和numberpar的引用,但两者都被称为“不稳定”或“不可预测”,以及“随机中断”之类的内容,这让我很谨慎。< / p>
我想在这里提出一些可能是最佳行动方案的意见,我认为这是一个值得讨论的话题。
感谢您对此的关注和兴趣。
编辑:我尝试了以下
\begin{enumerate}
\item Para No. 1
\item Para No. 2
...
\end{enumerate}
然而,它会导致排版问题,特别是因为我在散布章节标题ala。
\begin{enumerate}
\item Para No. 1
\item Para No. 2
\section{Part II}
\item Para No. 5
\item Para No. 6
...
\end{enumerate}
,标题“第二部分”的部分有时会在页面的最底部结束(即它不与以下文字保持一致)。
答案 0 :(得分:17)
我认为有三种可能的解决方案(至少!)不涉及滚动自己或其他人的宏,具体取决于你想要做什么。
1如果整个文档需要编号,请使用\paragraph
,这是一个较低级别的分区命令(如\ chapter,\ section,\ subsection等)
有关详细信息,请参阅LaTeX wikibook。
\setcounter{secnumdepth}{5}
...
\paragraph{If we want to} do something ...
(你可能会发现这个过度/丑陋,因为它需要一个正确嵌套的部分和子部分结构)
请注意,如果您使用回忆录文档类(我毫不犹豫地推荐),\setcounter
行将变为\maxsecnumdepth{paragraph}
2如果它只是一小块,请使用列表:
\begin{enumerate}
\item Para No. 1
\item Para No. 2
...
\end{enumerate}
3如果要调整格式,可以使用通用列表(\begin{list}...\end{list{}
)。除了A Guide to LaTeX
答案 1 :(得分:4)
在我的情况下,我最终通过重新定义一个像段落一样工作的新宏\P
来解决这个问题。
\newcounter{paranum}
\newcommand{\P}{\vspace{10pt}\noindent\textbf{\refstepcounter{paranum}\theparanum}\textbf}
写一个新的“段落”我做
\P{Paragraph title No. 1} ...text...
...
\P{Paragraph title No. 2} ...text...
要将枚举链接到我使用的部分
\newcounter{paranum}[section]
\newcommand{\P}{\vspace{10pt}\noindent\textbf{\thesection.\refstepcounter{paranum}\theparanum}\textbf}
我知道这实际上是拙劣的,但最终还是为我工作。
答案 2 :(得分:2)
我认为另一种选择是ledmac
包。以下是文档中的引用:
普通的\ label,\ ref和\ label \ pageref宏可以在编号的文本中使用,并以熟悉的方式操作。例如,这是一种编号方式 编号文本中的段落,然后能够参考段落编号, 除了行号和页码。
\newcounter{para} \setcounter{para}{0}
\newcommand{\newpara}{%
\refstepcounter{para}%
\noindent\llap{\thepar. }\quad}
\newcommand{\oldpara}[1]{%
\noindent\llap{\ref{#1}. }\quad}
\ newpara和\ oldpara的定义将数字放在左边距和 该段的第一行是缩进的。您现在可以编写如下内容:
\linenummargin{right}
\beginnumbering
\pstart
\newpara\label{P1} A paragraph about \ldots
\pend
In paragraph~\ref{P1} the author \ldots
\pstart
\oldpara{P1} This has the same
\edtext{number}{\Afootnote{\ref{P1} is the paragraph, not line}}
as the first paragraph.
\pend
\endnumbering
然而,我自己从未尝试过这个。
答案 3 :(得分:2)
解决这个问题的方法是使用由印度特里凡得琅River Valley Technologies的CV Radhakrishnan编写的 parano 软件包。
我从以下网页了解此解决方案 http://www.ub-filosofie.ro/~solcan/wt/gnu/n/np.html