Wie kann man in BibLaTeX Titel und Untertitel durch einen Doppelpunkt abgrenzen, aber nicht, wenn der Titel mit einem Fragezeichen endet?

Dec 09 2020

Mit BibLaTeX möchte ich Titel und Untertitel durch einen Doppelpunkt trennen, wie dies bei einigen Zitierstilen der Fall ist. Ich möchte jedoch, dass der Mechanismus erkennt, ob der Titel mit einem Anführungszeichen endet, und wenn dies der Fall ist, das weglässt subtitlepunct.

Die Dokumentation in §4.7.3 lautet:

\addcolon Fügt einen Doppelpunkt hinzu, es sei denn, vor ihm steht ein Komma, ein Semikolon, ein anderer Doppelpunkt oder ein Punkt.

Kann ich dieser Liste ein "Anführungszeichen" hinzufügen? Dh gibt es eine Lösung, die vermeidet \isdot?


\documentclass{article}

\begin{filecontents}{test.bib}
    @book{testbook,
      author = {A. U. Thor},
      year = {2020},
      title = {An example title?},
      subtitle = {An example subtitle}
    }
\end{filecontents}

\usepackage{biblatex}
\addbibresource{test.bib}
\renewcommand*{\subtitlepunct}{\addcolon\space}

\begin{document}
    \nocite{testbook}
    \printbibliography
\end{document}

Antworten

5 moewe Dec 09 2020 at 22:38

Sie können zuvor \addcolonmit mit akzeptable Interpunktion deklarieren \DeclarePunctuationPairs. Die Standardeinstellung

\DeclarePunctuationPairs{colon}{*!?}

Ermöglicht Abkürzungspunkte, Ausrufezeichen und Fragezeichen vor einem Doppelpunkt. Nach allen anderen Satzzeichen wird der Doppelpunkt unterdrückt.

Sie wollen wahrscheinlich

\documentclass{article}

\usepackage{biblatex}

\renewcommand*{\subtitlepunct}{\addcolon\space}

\DeclarePunctuationPairs{colon}{*}

\begin{filecontents}{\jobname.bib}
@book{testbook,
  author   = {A. U. Thor},
  year     = {2020},
  title    = {An example title?},
  subtitle = {An example subtitle}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \nocite{testbook}
  \printbibliography
\end{document}

Beachten Sie, dass dies \DeclarePunctuationPairsnormalerweise sprachspezifisch ist und daher normalerweise gelebt werden muss \DefineBibliographyExtras. Dies ist in der MWE nicht erforderlich (die weder babelnoch lädt polyglossia), kann jedoch in Ihrer realen Anwendung sehr relevant sein. Weitere Informationen finden Sie unter Erkennung von Interpunktionszeichen in Biblatex .