
Ich möchte, dass in den Überschriften meines Dokuments bestimmte seltsame Akzente erscheinen. Dieses Problem habe ich nicht, wenn ich gängige Schriftarten verwende, wie Arial im folgenden Beispiel: Ich schreibe den Akzent einfach so, wie er erscheinen soll, und es funktioniert.
Wenn ich jedoch versuche, weniger gebräuchliche Schriftarten zu verwenden, wird der Akzent nicht angezeigt und es tritt eine Störung auf.
Wie kann ich mit diesem Problem umgehen?
Danke schön.
\documentclass[oneside,centered,twocolumn]{book}
\usepackage{titlesec}
\usepackage{titling}
\usepackage{fancyhdr}
\usepackage{fontspec}
\newfontfamily\partfont[]{Goudy Sans Black BT}
\newfontfamily\secfont[]{Arial}
\titleformat{\chapter}%
{\partfont\bfseries\Huge}{\thechapter.}{10pt}{}
\titleformat*{\section}{\LARGE\partfont}
\titleformat*{\subsection}{\Large\secfont}
\begin{document}
\chapter{ǘ} % <---- FAILS
\section{ü} % <---- WORKS
\section{ú} % <---- WORKS
\section{ǘ} % <---- FAILS
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris...
\subsection{ǘ}
\end{document}
Antwort1
Es istvielbesser, wenn Sie Schriftarten verwenden, die die erforderlichen Glyphen abdecken.
Für eine Handvoll fehlender Glyphen können Sie wie folgt vorgehen.
Bei Text in Goudy Sans Black \'
wird es anders und täuscht den Akut vor. Kein Problem, wenn Sie verwenden ú
, das ist bereits ein einzelnes Unicode-Zeichen, sodass der Akzent nicht gefälscht wird.
Beachten Sie \newfontface
anstelle von , da Sie die Schriftart in einer einzelnen Instanz verwenden und dies beim Aufrufen \newfontfamily
nicht erforderlich ist (es wird sowieso nur eine Warnung erzeugt).\bfseries
\documentclass[oneside,twocolumn]{book}
\usepackage{titlesec}
\usepackage{titling}
\usepackage{fancyhdr}
\usepackage{fontspec}
\usepackage{newunicodechar}
\makeatletter
\newunicodechar{ǘ}{\ifnum\strcmp{\f@encoding}{goudy}=0 \'{ü}\else ǘ\fi}
\DeclareUnicodeEncoding{goudy}{
\input{tuenc.def}
\DeclareTextCommand{\'}{goudy}[1]{\goudy@fakeacute{#1}}
}
\newcommand{\goudy@fakeacute}[1]{%
\leavevmode
\vbox{%
\ialign{%
##\cr
\hidewidth\hskip0.05em\char"B4\hidewidth\cr
\noalign{\nointerlineskip\vskip-1.1ex}
#1\cr
}%
}%
}
\makeatother
\newfontface\partfont{Goudy Sans Black BT}[NFSSEncoding=goudy]
\newfontfamily\secfont{Arial}
\titleformat{\chapter}{\partfont\Huge}{\thechapter.}{10pt}{}
\titleformat*{\section}{\LARGE\partfont}
\titleformat*{\subsection}{\Large\secfont}
\begin{document}
\chapter{\'{ü} or ǘ}
\section{ü}
\section{ú}
\section{\'{ü} or ǘ}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris...
\subsection{ǘ}
\end{document}
Antwort2
Ich wollte „old-school“ vorschlagen \'ü
, aber Goudy Sans Black BT hat keine separaten Akzentzeichen (Akut oder Umlaut).
Eine peinliche Antwort, die einigermaßen für den Anschein funktioniert, aber nicht für die Textehrlichkeit oder die Suche, ist
\section{{\protect\boldmath$\acute{\mbox{ü}}$} Math Acute}
Antwort3
Da Sie Unicode-Schriftarten verwenden fontspec
und daher Zugriff auf diese haben, können Sie eine Schriftart verwenden, die den Unicode-Block „Kombinierende diakritische Zeichen“ abdeckt, und die Dinge im lustigen „Katzen-im-Hut“-Stil nach Herzenslust aufstapeln.
Aber übertreiben Sie es besser nicht. Außer vielleicht, wenn Sie für Kleinkinder schreiben. Für sie hat Kombinatorik einen künstlerischen Wert.
MWE
\documentclass{article}
\usepackage{xcolor}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\newfontface\fbtext{Noto Serif Black}[Colour=red]
\begin{document}
{\fbtext
u^^^^0308^^^^0301
}
c^^^^0330^^^^0332^^^^030e^^^^030f
a^^^^0324^^^^0325^^^^0328^^^^0300^^^^0301^^^^0302^^^^0303
t^^^^0310^^^^032b^^^^034c^^^^0325^^^^032a
\end{document}