
Gibt es eine Möglichkeit, ein rechtes doppeltes Anführungszeichen direkt über einem Punkt zu setzen (wenn das Zitat mit einem Punkt endet)? Nicht links (zum Beispiel ."), nicht rechts (zum Beispiel ".), sondern direkt darüber. Das Foto unten ist ein Beispiel vonBäume, Karten und Theoremevon Jean-Luc Doumont.
Antwort1
Eine Möglichkeit besteht darin, zwischen dem Anführungszeichen und dem Punkt ein negatives „Kerning“ einzufügen:
\documentclass{article}
\begin{document}
Here is an unkerned quotation mark: ``\dots''.
Here is a kerned quotation mark: ``\dots''\kern-0.5em.
\end{document}
Der TeX-Befehl \kern-0.5em
fügt zwischen dem Anführungszeichen und dem darauffolgenden Punkt ein Leerzeichen ein. Sie müssen ein wenig mit dem genauen Abstand experimentieren, aber die Verwendung eines Maßes wie , -0.5em
das mit der Schriftgröße skaliert wird, sollte einigermaßen gut funktionieren.
Automatisches Kerning mit LuaLaTeX
Wie andere bereits vorgeschlagen haben, können Sie dies mit Makros tun, aber wenn Sie dies automatisch tun möchten, müssen Sie diese Kerning-Informationen anscheinend in die schriftspezifische Kerning-Tabelle aufnehmen. Dies kann mitLuaLaTeXwie folgt:
Erstellen Sie zuerst eine Datei:Palatino.fea
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
pos \quotedblright \period -1000;
} kern;
Laden Sie diese Schriftinformationen nun mit fontspec
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[FeatureFile=Palatino.fea]{Palatino}
\begin{document}
Here is an automatically kerned quotation mark: ``\dots''.
Here is a manually kerned quotation mark: ``\dots''\kern-0.5em.
\end{document}
Beachten Sie, dass Sie dies jetzt kompilieren müssen lualatex
und dass Sie die benutzerdefinierten Kerning-Informationen für jede Schriftart hinzufügen müssen, die Sie verwenden möchten.
Antwort2
Ich würde dies lediglich als einen \rlap
mit -ed beginnenden Punkt (oder im Sinne von LaTeX als \makebox[0pt][l]
) festlegen, verpackt in ein Makro:
\documentclass{article}
\newcommand{\qperiod}{\rlap{.}}
\begin{document}
Some text: ``\dots''.
Some text: ``\dots''
Some text: ``\dots\qperiod''
\end{document}
Durch die Makroumhüllung sind bei Bedarf globale Änderungen möglich.
Antwort3
Hier verwende ich einen Stapel. Das stacktype
ist entweder „L“ für Lang oder „S“ für Kurz (Standard). Wenn „L“, ist der Stapel-„Abstand“ von Grundlinie zu Grundlinie. Durch die Einstellung auf 0pt
wird angegeben, dass die beiden Komponenten dieselbe Grundlinie haben (im Gegensatz dazu ist ein kurzer Stapelabstand die vertikale Lücke zwischen der Oberseite des „Ankers“ und der Unterseite des gestapelten Elements). Das stackalignment
definiert die horizontale Ausrichtung (Standard c=Mitte). Hier habe ich es auf Linksausrichtung eingestellt.
\documentclass{article}
\usepackage{stackengine}
\renewcommand\stacktype{L}
\renewcommand\stackalignment{l}
\begin{document}
by ``\dots\stackon[0pt]{.}{''}
\end{document}
Dasselbe Ergebnis kann unter Umgehung aller Parametereinstellungen durch Verwendung des generischen stackengine
Makros mit 8 obligatorischen Argumenten erreicht werden:
by ``\dots\stackengine{0pt}{.}{''}{O}{l}{F}{F}{L}
Die acht obligatorischen Argumente sind:
- Stapelabstand
- Ankerelement
- gestapeltes Element
- Über- oder Unterstapeln
- l(links) c(en) oder r(rechts) horizontale Ausrichtung
- R/F für „quietstack“ („T“ bedeutet erstellt, aber nicht gedruckt)
- T/F für „useanchorwidth“ („T“ bedeutet, dass die Ankerbreite die Gesamtstapelbreite bestimmt)
- S(kurzer) oder L(anger) Stapel