Baskervald パッケージを呼び出した後に Roman Family フォントを呼び出す方法は?

Baskervald パッケージを呼び出した後に Roman Family フォントを呼び出す方法は?

私の理解では、パッケージを呼び出すとbasketvald、Roman ファミリーのデフォルトが 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}

これにより、次の 3 つの段落が生成されます。

ここに画像の説明を入力してください

質問: デフォルトのrmfamilyフォントが baskervald に設定されたので、3 番目の段落を「実際の」 Roman ファミリー (元のデフォルト) フォントで表示するにはどうすればよいですか?

ありがとう。

答え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 を 1 回限りではなく複数回使用したい場合は、デフォルトのフォント変更コマンドに類似したコマンドを定義することをお勧めします。たとえば、

\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}

キャビン、バスカーヴァルド、CMR

しかし、本当にこれを行う必要があるかどうかを検討してください。これを行う特別な理由がない限り、このようにフォントが混在するドキュメントは見栄えが悪くなります。フォントが多すぎると、タイポグラフィがうまく機能しません。

もちろん、フォント サンプルの本をタイプセットしたり、Cabin、Baskervald、CMR の違いについての記事を書いたりする場合は、明らかに大きく異なります。ただし、それ以外の場合は、希望どおりのものを使用することを賢明に検討してください。

答え3

「本当の」フォントは存在しません。しかし、LaTeXは、ユーザー(またはドキュメントクラス)が別のフォントを選択しない限り、Computer Modernをデフォルトのフォントとして提供します。これは、フォントを提供しないと空のドキュメントになってしまうためです(TeXする\nullfont文字のない と呼ばれるデフォルトのフォントがあります)。

デフォルトの Roman フォント ファミリにはシンボリック名がありcmr、デフォルトの sans serif ファミリには があることはよく知ら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}

ここに画像の説明を入力してください

関連情報