[Tex/LaTex] Avoid inverted exclamation and question marks, when followed by quotes

punctuation

In an automated system that is generating LaTeX to render PostScript and PDF, i need to avoid an ambiguity in LaTeX:

  • Two backticks (``) produce a closing doublequote:
  • A question/exclamation mark followed by a backtick (?`) produces the inverted character: ¿
  • Combined, when trying to display a question mark followed by a quote (,,what?``), LaTeX produces the following output: „what¿‘

What is the best practise to avoid this?
The desired output is: „what?“

Best Answer

You can disable the ligatures using microtype:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\DisableLigatures[?,!]{encoding=T1}

\begin{document}
,,Hier?``

,,Hier!``
\end{document}

enter image description here

Or teach the automated system to use UTF-8 and input the “real” characters:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}
„Hier?“

„Hier!“
\end{document}

As cgnieder suggests, there's another possibility:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\begin{document}
"`Hier?"'

"`Hier!"'
\end{document}