Как вызвать шрифт Roman Family после вызова пакета Baskervald?

Как вызвать шрифт Roman Family после вызова пакета Baskervald?

Я понимаю, что когда кто-то вызывает пакет 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}

Хижина, Баскервальд и 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}

введите описание изображения здесь

Связанный контент