据我所知,当调用该basketvald
包时,罗马字体系列的默认字体将更改为 baskervald。因此,可以使用以下命令调用 baskervald 字体\rmfamily
。
在下面的 MWE 中,我也调用了cabin
;因此,我用\sffamily
---调用这个字体
\documentclass[12pt]{book}
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage{cabin}
\usepackage{baskervald}
\begin{document}
\thispagestyle{empty}
\sffamily
\lipsum[1]
\vspace{10pt}
\rmfamily
\lipsum[2]
\vspace{10pt}
% % How to display the next paragraph in "real" Roman font---
\lipsum[2]
\end{document}
产生了三个段落:
问题:现在默认rmfamily
字体已设置为 baskervald,我如何以“真实”罗马系列(原始默认)字体显示第三段落?
谢谢。
答案1
您可以(暂时)将 Computer Modern Roman (cmr) 更新为\rmdefault
,然后通过 调用它\renewcommand\rmdefault{cmr}\rmfamily
。
\documentclass[12pt]{book}
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage{cabin}
\usepackage{baskervald}
\begin{document}
\thispagestyle{empty}
\sffamily
\lipsum[1]
\vspace{10pt}
\rmfamily
\lipsum[1]
\vspace{10pt}
% % How to display the next paragraph in "real" Roman font---
{\renewcommand\rmdefault{cmr}\rmfamily
\lipsum[1]}
\end{document}
答案2
如果您想多次使用 Computer Modern Roman --- 而不是一次性使用 --- 您可能更愿意定义类似于默认字体更改命令的命令。例如,
\documentclass[12pt]{book}
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage{cabin}
\usepackage{baskervald}
\DeclareRobustCommand{\cmrfamily}{%
\fontfamily{cmr}%
\selectfont}
\DeclareTextFontCommand{\textcmr}{\cmrfamily}
\begin{document}
\thispagestyle{empty}
\sffamily
\lipsum[1]
\vspace{10pt}
\rmfamily
\lipsum[2]
\vspace{10pt}
Hello! \textcmr{Hello!}
% % How to display the next paragraph in "real" Roman font---
\cmrfamily
\lipsum[2]
\rmfamily
Back to Baskervald.
\end{document}
然而,请考虑一下您是否真的需要这样做。除非您有特殊原因这样做,否则包含这种字体混合的文档会更差。太多不同的字体不利于排版。
当然,如果您正在排版一本字体样本书或撰写一篇关于 Cabin、Baskervald 和 CMR 之间差异的文章,那么这显然是非常不同的。但除此之外,请考虑使用您想要的字体是否明智!
答案3
没有“真正的”字体。但是,如果用户(或文档类)没有选择其他字体,LaTeX 会提供 Computer Modern 作为默认字体,因为不提供字体会导致文档为空(TeX做\nullfont
有一个没有字符的默认字体)。
众所周知,默认的罗马字体系列有符号名称cmr
,而默认的无衬线字体系列是cmss
。但您甚至不需要知道它:只需在选择新字体之前保存它们即可。
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
% save the default family name before changing it
\NewCommandCopy{\rmstandard}{\rmdefault}
\NewCommandCopy{\sfstandard}{\sfdefault}
\usepackage{cabin}
\usepackage{baskervald}
\usepackage{lipsum}
\NewDocumentCommand{\stdrmfamily}{}{\fontfamily{\rmstandard}\selectfont}
\DeclareTextFontCommand{\textstdrm}{\stdrmfamily}
\NewDocumentCommand{\stdsffamily}{}{\fontfamily{\sfstandard}\selectfont}
\DeclareTextFontCommand{\textstdsf}{\stdsffamily}
\begin{document}
Abc\textsf{Abc}\textstdrm{Abc}\textstdsf{Abc}
\vspace{10pt}
\sffamily
\lipsum[1][1-4]
\vspace{10pt}
\rmfamily
\lipsum[1][1-4]
\vspace{10pt}
\stdrmfamily
\lipsum[1][1-4]
\vspace{10pt}
\stdsffamily
\lipsum[1][1-4]
\end{document}