
我希望文檔標題中出現某些奇怪的口音。當使用常見字體時,我沒有這個問題,例如下面範例中的 Arial:我只需按照我想要的方式編寫重音符號,並且它可以工作。
然而,當我嘗試使用不太常見的字體時,重音符號不會彈出,我會遇到一個小問題。
我該如何處理這個問題?
謝謝。
\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}
答案1
它是很多如果您使用涵蓋必要字形的字體會更好。
對於少數缺失的字形,您可以執行以下操作。
對於 Goudy Sans Black 中的文本,\'
變得不同並偽造尖銳。如果您使用 沒問題ú
,它已經是單個 Unicode 字符,因此重音不會被偽造。
請注意\newfontface
而不是\newfontfamily
,因為您在單一實例中使用該字體,並且在呼叫它時不需要執行此操作\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}
答案2
答案3
由於您使用的是fontspec
, ,因此可以訪問 unicode 字體,因此您可以使用覆蓋“組合變音符號”unicode 塊的字體,並將內容堆積到您心中的內容,以一種快樂的“Cat-in-the -帽子”風格。
不過最好不要過度。也許除非是為嬰兒寫作。組合學對他們來說具有藝術價值。
微量元素
\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}