编号引文

编号引文

我想创建一个nquote基于displayquote(表单csquotes包)的新环境,我可以对其进行编号,并在侧面显示该编号,以便我可以在我的文档中引用引文,就像您对等式所做的那样。

这是我目前所拥有的:

\usepackage[csquotes]
\newcounter{nquotes}
\newenvironment{nquote}
    {
    \refstepcounter{nquotes}
    (\thenquotes)\space
    \begin{displayquote}
    }
    { 
    \end{displayquote}
    }

但数字出现在引文之前的行首。我希望它出现在引文的旁边。

答案1

我在@Ingmar 的帮助下设计了一个解决方案,他建议使用\marginpar,但我却使用了\marginnote(来自marginnote包):

\usepackage[csquotes]
\usepackage[marginnote]
\newcounter{nquotes}
\newenvironment{nquote}
    {
    \refstepcounter{nquotes}
    \begin{displayquote}
    \marginpar{(\thenquotes)}
    }
    { 
    \end{displayquote}
    }

答案2

你是指这样的吗?

\documentclass{article}
\usepackage{csquotes}

\usepackage{lipsum}

\newcounter{nquotes}
\makeatletter
\newenvironment{nquote}
 {%
  \refstepcounter{nquotes}%
  \renewcommand{\item}{\@item[\nquote@label]}%
  \begin{displayquote}%
 }
 {\end{displayquote}}
\newcommand{\nquote@label}{%
  \makebox[0pt][r]{\makebox[\leftmargin][l]{\hspace{\labelsep}(\thenquotes)}}%
}
\makeatother

\begin{document}

\lipsum[1][1-5]

\begin{displayquote}
\lipsum[2]
\end{displayquote}

\lipsum[1][1-5]

\begin{nquote}\label{x}
\lipsum[2]
\end{nquote}

The quote is number~\ref{x}.

\lipsum[3]

\end{document}

在此处输入图片描述

如果您使用的话,可以进行一个小的修改以使锚点处于正确的位置hyperref

\documentclass{article}
\usepackage{csquotes}
\usepackage{hyperref}

\usepackage{lipsum}

\newcounter{nquotes}
\makeatletter
\newenvironment{nquote}
 {%
  \renewcommand{\item}{%
    \stepcounter{nquotes}%
    \@item[\nquote@label]%
    \addtocounter{nquotes}{-1}%
    \refstepcounter{nquotes}%
  }%
  \begin{displayquote}%
 }
 {\end{displayquote}}
\newcommand{\nquote@label}{%
  \makebox[0pt][r]{\makebox[\leftmargin][l]{\hspace{\labelsep}(\thenquotes)}}%
}
\makeatother

\begin{document}

\lipsum[1][1-5]

\begin{displayquote}
\lipsum[2]
\end{displayquote}

\lipsum[1][1-5]

\begin{nquote}\label{x}
\lipsum[2]
\end{nquote}

The quote is number~\ref{x}.

\lipsum[3]

\end{document}

答案3

我最近就做过类似的事情。完整示例如下:

\documentclass{article}

\usepackage{csquotes}
\usepackage{babel}

\newcounter{quote}
\AtBeginEnvironment{displayquote}{\refstepcounter{quote}}
\AtEndEnvironment{displayquote}{\hfill Quote \#\bfseries\thequote}

\begin{document}
\section{Introduction}

\begin{displayquote} Lorem ipsum dolor sit amet, 
consetetur sadipscing elitr, sed diam nonumy eirmod 
tempor invidunt ut labore et dolore magna aliquyam
erat, sed diam voluptua.
\end{displayquote}

Some more text. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea 
takimata sanctus est Lorem ipsum dolor sit amet.

\begin{displayquote} Et justo duo dolores et ea rebum. Stet clita kasd  gubergren, no sea takimata sanctus est 
Lorem ipsum dolor sit amet.
\end{displayquote}

Some more text. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea 
takimata sanctus est Lorem ipsum dolor sit amet.

\end{document} 

相关内容