我将在接下来的几周内重新排版一些旧书(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
放置了行的末尾(开头引号后面的内容)。