![更改 Tufte 类文档正文的 Sans-Serif 字体](https://linux22.com/image/441313/%E6%9B%B4%E6%94%B9%20Tufte%20%E7%B1%BB%E6%96%87%E6%A1%A3%E6%AD%A3%E6%96%87%E7%9A%84%20Sans-Serif%20%E5%AD%97%E4%BD%93.png)
我相信我已经查看了相关问题,并尝试了很多方法。但我找不到一种方法来更改 Tufte 类文档中的无衬线字体,而不会引入其他不良影响,例如,神秘地损害其他非无衬线区域(例如 \em} 内)中的部分(但不是全部)小写字母形状。我只是想用 Cabin 或其他更“温暖”的字体替换 Helvetica。我使用 Tufte 类是因为我喜欢旁注。MWE(不尝试更改无衬线字体)如下。
\documentclass{tufte-handout}
\newcommand{\morehere}[1]{{\sffamily\small\color{orange}{\bfseries ! #1}}}
\newcommand{\cn}[1]{\textsc{#1}}%
\usepackage{zref-savepos,zref-user}
\newif\ifantilabe
\newcounter{antilabe}
\newcommand{\cd}[1]{%
\par
\ifantilabe
\makebox[0pt][l]{\textsc{#1}.}%
\zsaveposx{antilabe-\theantilabe-b}%
\hspace{\numexpr\zposx{antilabe-\theantilabe-a}-\zposx{antilabe-\theantilabe-b}\relax sp}%
\space
\else
\textsc{#1.}%
\fi
\antilabefalse
}
\newcommand{\antilabe}{%
\unskip
\stepcounter{antilabe}%
\antilabetrue
\zsaveposx{antilabe-\theantilabe-a}%
}
\usepackage{parskip}
\begin{document}
\setlength{\parindent}{0in}
\setstretch{0.9}
\cd{Bob} I am a bit of verse dialogue. You see,\\
Modern audiences adore plays in verse,\\
So this play will bring great glory to me\\
\& no doubt fill my soul!\footnote{It is unclear whether \cn{Bob} has a soul.}\antilabe
\cd{Ted} If not your purse.
{\em I am a stage direction. The music begins. \cn{Bob} \& \cn{Ted} sing.}
{\sffamily
\cd{Bob} I am a lyric.\\
I am {\em unhappy} to be in the Helvetica typeface.\\
I find it cold \& tight.\\
It breaks my heart.
}
\morehere{I am a note reminding the playwright to finish writing this song.}
\end{document}
更新
我想用“误解 \em(及其他)环境……并不是 Tufte 类问题”来回答这个问题,但我仍然对切换字体系列(例如无衬线)的各种方法以及它为什么/如何影响其他事物感到困惑。如果有人知道关于这个主题的全面讨论,请告诉我。答案可能很简单,如果我坚持使用 \emph{} 之类的最佳实践,那么字体系列选择的方式就无关紧要了(不会破坏我的代码,因为它并不脆弱)。