我不知道这个问题是不是太蠢了,但是是否可以强制将每种字体都设置为普通字体或\mdseries
特殊字体?我花了一个小时寻找解决方案,但只找到了如何在斜体字体中强制使用普通字体的方法;但这不是我想要的。
以下是我的 MWE。
\documentclass{article}
\begin{document}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\end{document}
那么,如何才能让结果变成“最优等成绩”而不是“总结 精液ʟᴀᴜᴅᴇ'?
答案1
有些版本switch
从一种“风格”变为另一种“风格”
我使用了没有命令的版本\text...
只是为了进行比较。
\documentclass{article}
\let\textscorig\textsc
\let\textbforig\textbf
\let\textitorig\textit
\newcommand{\MakeAllLookTheSameAndBoring}{%
\renewcommand{\textsc}[1]{##1}%
\renewcommand{\textbf}[1]{##1}%
\renewcommand{\textit}[1]{##1}%
}
\newcommand{\MakeAllLookDifferent}{%
\let\textsc\textscorig
\let\textbf\textbforig
\let\textit\textitorig
}
\begin{document}
\MakeAllLookTheSameAndBoring
{\mdseries summa cum laude}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\MakeAllLookDifferent
{\mdseries summa cum laude}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\end{document}
答案2
没有真正简单的解决方案,因此这里是 MWE,其中包含 Christian Hupfer 评论的扩展版本。然后,您的正常字体由\rmfamily
、\mdseries
和定义\upshape
。
\documentclass{article}
\let\sffamily\rmfamily
\let\ttfamily\rmfamily
\let\bfseries\mdseries
\let\scshape\upshape
\let\slshape\upshape
\let\itshape\upshape
\let\em\upshape
\begin{document}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\end{document}
答案3
重新定义\selectfont
为始终发出\fontseries{m}
和\fontshape{n}
:
\usepackage{xpatch}
\xpretocmd\selectfont{\fontshape{n}\fontseries{m}}{}{}
如果你想要一个字体仅在局部统一的版本,
\documentclass{article}
\usepackage{xpatch}
\usepackage{letltxmacro}
\LetLtxMacro\standardselectfont\selectfont
\LetLtxMacro\boringselectfont\selectfont
\xpretocmd\boringselectfont{\fontshape{n}\fontseries{m}}{}{}
\def\BORINGFONTS{\LetLtxMacro\selectfont\boringselectfont}
\def\VARIEDFONTS{\LetLtxMacro\selectfont\standardselectfont}
\begin{document}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\BORINGFONTS
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\VARIEDFONTS
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
{\BORINGFONTS{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}}
{\mdseries \textbf{summa} \textit{cum} \textsc{laude}}
\end{document}