
我的文档正文设置如下:
\renewcommand{\familydefault}{\sfdefault} % sans serif to default
\usepackage[defaultsans,osfigures,scale=1]{opensans} % change main font here
因此主体是 Open Sans 字体。我使用 sectsty 将章节标题设置为衬线字体 Computer Modern。我创建了一个新环境,以使文档的某些部分(例如,页码、标题、标题页上的名称)也具有 Computer Modern 风格,并具有以下自定义环境:
\newenvironment{compmod}{\fontfamily{cm}\selectfont}
并且它工作正常。除此之外,我想创建一个像上面那样的新环境,并且也是粗体(或按照我的喜好设置样式),但以下方法不起作用:
\newenvironment{compmod}{\fontfamily{cm}\fontseries{b}\selectfont}
我尝试了其他一些方法,但都无济于事。我的直觉是,因为我将主字体设置为另一个系列(和无衬线字体),所以发生了一些冲突。
任何见解都值得赞赏。
答案1
字体的选择似乎存在争议。
\documentclass{article}
\let\CMserif\rmdefault % save the default font family name
\usepackage[defaultsans,osfigures,scale=1]{opensans} % change main font here
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{\serifbold}
\newcommand{\serifbold}{\fontfamily{\CMserif}\bfseries}
\newenvironment{compmod}{\serifbold}{}
\begin{document}
\section{This title is serif}
This text is sans serif, \begin{compmod}and this is serif bold\end{compmod}.
\end{document}
如果缩小 OpenSans,至少高度是匹配的。
\documentclass{article}
\let\CMserif\rmdefault % save the default family name
\usepackage[defaultsans,osfigures,scale=0.82]{opensans} % change main font here
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{\serifbold}
\newcommand{\serifbold}{\fontfamily{\CMserif}\bfseries}
\newenvironment{compmod}{\serifbold}{}
\begin{document}
\section{This title is serif}
This text is sans serif, \begin{compmod}and this is serif bold\end{compmod}.
\end{document}
答案2
通常没有一个cm
家族,有cmr
和cmss
家族,而且粗体通常是bx
(粗体扩展)而不是b
你没有说,但在终端和日志中,你可能收到了这样的警告
LaTeX Font Warning: Font shape `OT1/cm/b/n' undefined
(Font) using `OT1/cmr/m/n' instead on input line 5.