Hängende Interpunktion mit Anführungszeichen im linken Rand?

Hängende Interpunktion mit Anführungszeichen im linken Rand?

Plain TeX verfügt über eine Methode zum Erstellen hängender Interpunktion, bei der ein Satzzeichen/-zeichen unmittelbar links neben einem Text effektiv im Rand steht.

Ich möchte dies mit Anführungszeichen tun, sodass der Textkörper des Zitats auf beiden Seiten eingerückt ist, die öffnenden Anführungszeichen jedoch links vom öffnenden Zeichen stehen. Dies ist der gewünschte Effekt:

``Lord Bacon, in 'the true marshalling of the sovereign degrees of
  honor,' assigns the first place to 'the Conditores Imperiorum, 
  founders of States and Commonwealths'; and, truly, to build up from 
  the discordant elements of our nature the passions, the interests, 
  and the opinions of the individual man, the rivalries of family, clan, 
  and tribe, the influences of climate and geographical position, the
  accidents of peace and war accumulated for ages,– to build up from these 
  oftentimes warring elements a well-compacted, prosperous, and powerful 
  State, if it were to be accomplished by one effort or in one generation
  would require a more than mortal skill.''

Ich kann dies tun mit quote:

\begin{quote}
{}\hspace{-5pt}{``}Lord Bacon, in 'the true marshalling

would require a more than mortal skill.''   
\end{quote}

aber das scheint umständlich. Gibt es eine bessere Methode?

Antwort1

Ihre Methode {}\hspace{-5pt}{``}ist insofern umständlich, als dass Sie die tatsächliche Breite der führenden Anführungszeichen schätzen müssen ``. Diese Berechnung lässt sich mit dem Makro vermeiden, \makebox[0pt][r]{``}das ein rechtsbündiges Feld mit der Breite Null platziert, wodurch der Text effektiv nach links überlappt wird. Wie Sie sehen, spart dies jedoch nicht viel Tipparbeit.

Eine Möglichkeit, damit umzugehen, besteht darin, dieses Makro in ein eigenes Element einzufügen \defund es aufzurufen \andIquote, sodass wie im ersten Beispiel meines MWE lediglich „on“ \andIquoteals erstes Element im Zitat aufgerufen wird.

Ein besserer Weg besteht vielleicht darin, wie ich es für das zweite Zitat tue, eine neue Umgebung zu erstellen, die ich nenne quotedund die automatisch Anführungszeichen am Anfang und Ende der Umgebung einfügt.

\documentclass{article}
\def\andIquote{\makebox[0pt][r]{``}}
\newenvironment{quoted}
{\quote\andIquote\ignorespaces}{\unskip''\endquote}
\begin{document}

\begin{quote}
\andIquote Lord Bacon, in 'the true marshalling

would require a more than mortal skill.''   
\end{quote}

\begin{quoted}
Lord Bacon, in 'the true marshalling

would require a more than mortal skill.   
\end{quoted}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

wenn ich mich recht erinnere, ist dies eine der Begründungen für Knuths Definition von \llap; dies wurde in Latex übernommen. Es muss wirklich nur im horizontalen Modus verwendet werden, daher sollten Sie dies sicherstellen, indem Sie \noindentam Anfang Ihres zitierten Absatzes verwenden:

\begin{quote}
\noindent\llap{``}Lord Bacon, in 'the true marshalling ...

Antwort3

Zusätzlich zu Steven Segletes' Antwort könnten Sie (in Bezug auf die Schnittstelle) erwägen, dieAbonnierenPaket, das verschiedene Hooks zur Erstellung einer automatischen Umgebung für die Anzeige von Zitaten bereitstellt. Der potenzielle Vorteil besteht darin, dass es die Notwendigkeit vermeidet, am Anfang eines Zitats ein Zitat hinzuzufügen \andIquote: Vorausgesetzt, Sie möchten, dass alle Zitate auf diese Weise formatiert werden, wird dies automatisch für Sie erledigt.

Die "Benutzer"-Syntax ist

\begin{displayquote}[cite][closing-punctuation] 
...
\end{displayquote}

\mkbegispquoteMithilfe der von und bereitgestellten „Hooks“ \mkenddispquotekönnen Sie festlegen, dass öffnende und schließende Anführungszeichen automatisch um jedes angezeigte Zitat gesetzt werden. (Ich habe auch eine Alternative zu Stevens Methode gezeigt, die Anführungszeichen in den Rand zu setzen, obwohl seine Methode genauso gut funktionieren würde.)

\documentclass{article}
\usepackage{csquotes}

\renewcommand{\mkbegdispquote}[2]{\strut\llap{``}}
% #1 is closing punctuation, #2 is citation. 
% We don't use them in this instance, but they
% need to be "catered for"
\renewcommand{\mkenddispquote}[2]{#1''\ifblank{#2}{}{#2}}
% #1 is closing punctuation, #2 is citation.
% again, we provide for them if needed

\begin{document}
\begin{displayquote}
Here is a displayed quotation, which should be long enough to go over a number
of lines. In this case I have not specified any closing punctuation or citation
for the quotation.
\end{displayquote}

\begin{displayquote}[][\ldots]
Here is another displayed quotation. In this case there is some specified
punctuation which goes at the end of the quotation before the closing mark.
\end{displayquote}

\begin{displayquote}[cite]
Here is yet another displayed quotation, this time with a citation to be included
in the mix, which will be printed at the end of the quotation, after the quotes 
are closed.
\end{displayquote}

\end{document}

Drei Beispielzitate

verwandte Informationen