在多行引号中的每一行开头添加一个开引号?

在多行引号中的每一行开头添加一个开引号?

我将在接下来的几周内重新排版一些旧书(18 世纪晚期),其中一些书已经很老了,它们使用了一种古老的排版惯例来引用:多行引文的每一行都以一个开引号开头。这与装饰块引文有微妙的不同(见http://en.wikipedia.org/wiki/Quotation_mark#History),因为没有边距变化或其他指示,只是每行都在左侧进行装饰。

我有一种挥之不去的感觉,我曾经见过一个可以做到这一点的软件包,但搜索条件却让它很难找到。有人能给出重现这种行为的建议吗?我实际上想将其作为项目的一部分来捕获。

以下是我在 Google Books 中找到的一个例子:http://books.google.com/books?id=nY8FAAAAQAAJ&dq=review&pg=PA190#v=onepage&q&f=false

如您所见,引文的开头由 inline 表示,但后续每行的第一个字符也一样,直到引文结束。换句话说,引号出现在引文开始后创建的每个换行符的开头(实际上后面有一些空格),直到引文结束。

答案1

\documentclass{article}
\usepackage{lineno,kantlipsum}

\newcommand{\leftquotes}{\def\makeLineNumber{%
  \ifnum\value{linenumber}=1 \else\hskip\leftmargin\llap{``}\hss\fi}}

\newenvironment{quotedquotation}
  {\quotation\linenumbers\leftquotes}
  {\endquotation}

\begin{document}
\begin{quotedquotation}
``\kant*[1]\unskip''
\end{quotedquotation}
\end{document}

(这\unskip仅是出于技术原因。)

在此处输入图片描述

亚麻布\hbox在左边距处放置一个零宽度,并使用 来\makeLineNumber决定在其中排版什么。在quotation环境中,左边距相同,但行向右移动\leftmargin,因此我们必须覆盖这个空间。然后我们排版另一个零宽度框,其左侧有内容(\llap{x}与 相同,\makebox[0pt][r]{x}但效率更高),然后我们发出\hss命令告诉 TeX 整个业务不会占用任何空间(因此它可以留在零宽度框中而不会填满它)。

段落模式的“解决方案”

恐怕复制这样的书需要大量的人工干预。以下是部分解决方案:

\documentclass{article}
\usepackage{lineno,kantlipsum}

\newenvironment{quotedlines}[1]{\leavevmode\rlap{`}\kern.5em#1{\parfillskip=0pt\par}%
  \begingroup\leftskip=.5em
  \def\makeLineNumber{\rlap{`}}\linenumbers\noindent\ignorespaces}
  {\par\endgroup}

\begin{document}
\kant*[1]
\begin{quotedlines}{Here starts}
\kant*[2]
\end{quotedlines}
\kant[3]
\end{document}

在你提出的论点中,quotedlines放置了行的末尾(开头引号后面的内容)。

在此处输入图片描述

相关内容