如何用 LaTeX 为我的引文编号

如何用 LaTeX 为我的引文编号

我想对文档中出现的引文进行编号。我喜欢 LaTeX 对环境所做的操作equation,并且希望有类似的功能,这样如果我输入

\begin{quote}
Quote 1  
\end{quote}
more text more text more text  
\begin{quote}
Quote 2  
\end{quote}

equation如果我使用了环境,这两个引号就会出现在旁边,并且带有数字。

感谢您的帮助。

答案1

(编辑:请参阅其他人在评论中提出的补充建议。)

这是一个使用 的简单方法\parbox

\documentclass[12pt]{article}
\usepackage{lipsum}

\newcounter{quotecount}
\newcommand{\MyQuote}[1]{\vspace{1cm}\addtocounter{quotecount}{1}%
     \parbox{10cm}{\em #1}\hspace*{2cm}(\arabic{quotecount})\\[1cm]}

\begin{document}
\lipsum[1]
\MyQuote{\lipsum[2]}
\lipsum[3]
\MyQuote{\lipsum[4]}
\lipsum[5]

\end{document}

简单测试

答案2

resume一种方法是使用包裹enumitem,这让您可以灵活地选择如何对引文进行编号。下面我定义了一个深度为 2 的列表,并使用数字表示第一级引文,并使用字母表示第二级引文(如果有)。添加蓝色只是为了让引文环境脱颖而出:

在此处输入图片描述

笔记:

  • 添加这个showframe包只是为了让您能够看到文本的边缘在哪里。

参考:

代码:

\documentclass{article}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{xcolor}

\usepackage{enumitem}
\newlist{myQuoteEnumerate}{enumerate}{2}% Set max nesting depth
\setlist[myQuoteEnumerate,1]{label=(\arabic*)}% Use numbers for level 1
\setlist[myQuoteEnumerate,2]{label=(\alph*)}%   Use letters for level 2

\newenvironment{MyQuote}{%
    \begin{myQuoteEnumerate}[resume=*,series=MyQuoteSeries]%
    \color{blue}%
    \item \begin{quote}%
}{%
    \end{quote}%
    \end{myQuoteEnumerate}%
}%

\begin{document}
\noindent
some text some text some text
%
\begin{MyQuote}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris et diam viverra mauris commodo eleifend. Donec quis massa nisi.  
    \begin{MyQuote}
        Suspendisse magna nisi, rhoncus sed sagittis sed, auctor id quam. Phasellus quis neque ut tellus tristique accumsan. Curabitur dignissim laoreet pellentesque. Integer placerat consectetur commodo. 
    \end{MyQuote}
\end{MyQuote}
%
more text more text more text
%
\begin{MyQuote}
    Proin elit massa, sollicitudin vitae consectetur sit amet, sollicitudin nec nisl. Nulla facilisi.
\end{MyQuote}
\end{document}

相关内容