[Tex/LaTex] Adding an open-quote mark to the start of each line in a multiline quotation

punctuationquotingtypography

I'm going to be re-typesetting some old books (from the late 18th Century) in the coming weeks, and a few of them are old enough that they use an archaic typographic convention for quotation: every line of a multi-line quote begins with an open quotation mark. This is subtly different from a decorated block quote (see http://en.wikipedia.org/wiki/Quotation_mark#History), since there is no margin change or other indicator, except that each line is decorated on the left.

I have a nagging feeling I've seen a package that actually does this, but the search terms make it pretty unfindable. Does anybody have any advice for reproducing this behavior? I'd actually like to capture it as part of the project.

Here's an example I've found in Google Books: http://books.google.com/books?id=nY8FAAAAQAAJ&dq=review&pg=PA190#v=onepage&q&f=false .

As you can see, the quotation start is indicated by inline where it starts, but the first character set on every subsequent line is also until the quote closes. In other words, the quote mark occurs at the start (with some following space, actually) of every newline created, after the quotation opens, and only until the quotation closes.

Best Answer

\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}

(The \unskip is there only for technical reasons.)

enter image description here

lineno puts a zero width \hbox at the left margin and uses \makeLineNumber to decide what to typeset in it. In a quotation environment the left margin is the same, but lines are shifted right by \leftmargin, so we have to cover this space. Then we typeset another zero width box with contents on its left (\llap{x} does the same as \makebox[0pt][r]{x} but it's more efficient) and then we issue the \hss command for telling TeX that this whole business will not occupy any space (so it can stay in a zero width box without overfilling it).

"Solution" for paragraph mode

I'm afraid that reproducing that kind of book requires a lot of manual intervention. Here is a partial solution:

\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}

In the argument of quotedlines you put the end of the line (what goes after the quote mark at the beginning).

enter image description here

Related Question