![Tipa 更改字体样式不起作用](https://linux22.com/image/335304/Tipa%20%E6%9B%B4%E6%94%B9%E5%AD%97%E4%BD%93%E6%A0%B7%E5%BC%8F%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我尝试更改 tipa 字体样式,但它只适用于打字机样式...我使用了与手册相同的示例,但粗体、无衬线和倾斜没有改变......
\documentclass[12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[a4paper, text={16.5cm, 25.2cm}, centering]{geometry}
\usepackage[sfdefault]{ClearSans}
\usepackage[utf8]{inputenc}
\setlength{\parskip}{1.2ex}
\setlength{\parindent}{0em}
\usepackage[T1]{tipa}
\usepackage{tipx}
\begin{document}
Slanted
\textipa{\slshape f@"nEtIks}
\textipa{\textsl{f@"nEtIks}}
\textsl{\textipa{f@"nEtIks}}
Bold
\textipa{\bfseries f@"nEtIks}
\textipa{\textbf{f@"nEtIks}}
\textbf{\textipa{f@"nEtIks}}
Sans serif
\textipa{\sffamily f@"nEtIks}
\textipa{\textsf{f@"nEtIks}}
\textsf{\textipa{f@"nEtIks}}
Type writer
\textipa{\ttfamily f@"nEtIks}
\textipa{\texttt{f@"nEtIks}}
\texttt{\textipa{f@"nEtIks}}
\end{document}
它看起来应该是这样的,这是手册中的例子
这就是我的例子...
答案1
ClearSans 系列不支持 T3 编码。实际上,您会从输入文件中收到三个警告:
LaTeX Font Warning: Font shape `T3/ClearSans-LF/m/n' undefined
(Font) using `T3/cmr/m/n' instead on input line 11.
LaTeX Font Warning: Font shape `T3/ClearSans-LF/m/sl' undefined
(Font) using `T3/ClearSans-LF/m/n' instead on input line 11.
LaTeX Font Warning: Font shape `T3/ClearSans-LF/b/n' undefined
(Font) using `T3/ClearSans-LF/m/n' instead on input line 16.
第一个警告说 ClearSans-LF 没有可用的 T3 编码字体,因此cmr
用它替代。第二个警告用唯一可用的倾斜字体替代它,cmr
最后一个也是如此。
由于该ClearSans
包对等宽字体没有任何作用,因此您得到的是普通字体。
如果你想拥有好的替换,你必须定义它们。
\documentclass[12pt]{article}
\usepackage[sfdefault]{ClearSans}
\usepackage[T1]{tipa}
\usepackage{tipx}
\DeclareFontFamily{T3}{ClearSans-LF}{}
\DeclareFontShape{T3}{ClearSans-LF}{m}{n}
{<-> ssub * cmss/m/n }{}
\DeclareFontShape{T3}{ClearSans-LF}{b}{n}
{<-> ssub * cmss/bx/n }{}
\DeclareFontShape{T3}{ClearSans-LF}{m}{it}
{<-> ssub * cmss/m/sl }{}
\DeclareFontShape{T3}{ClearSans-LF}{m}{sl}
{<-> ssub * cmss/m/sl }{}
\begin{document}
Slanted
\textipa{\slshape f@"nEtIks}
\textipa{\textsl{f@"nEtIks}}
\textsl{\textipa{f@"nEtIks}}
Bold
\textipa{\bfseries f@"nEtIks}
\textipa{\textbf{f@"nEtIks}}
\textbf{\textipa{f@"nEtIks}}
Sans serif
\textipa{\sffamily f@"nEtIks}
\textipa{\textsf{f@"nEtIks}}
\textsf{\textipa{f@"nEtIks}}
Type writer
\textipa{\ttfamily f@"nEtIks}
\textipa{\texttt{f@"nEtIks}}
\texttt{\textipa{f@"nEtIks}}
\end{document}
答案2
老问题,但我找到了更好的解决方案。
\usepackage{substitutefont}
\substitutefont{T3}{\rmdefault}{ptm}
\substitutefont{T3}{\sfdefault}{phv}
\substitutefont{T3}{\ttdefault}{cmtt}
它的作用是 - 告诉 LaTeX 编译器,当遇到 T3 编码中的相应默认值时,不要使用指定为默认值的字体,而是使用替换字体(例如,ptm 为 Times,而不是 serif 默认值)。然后 LaTeX 将查找该替换的 t3 编码文件(该文件位于 tipa 包目录中),并使用它(t3ptm.fd
、t3phv.fd
、t3cmtt.fd
),这样 tipa 字体就会被使用。