我正在使用 scrbook 类在 Latex 中编写文档,并且已将主字体更改为 Palladio。问题是现在我不喜欢默认的无衬线字体,我想更改它。我该如何实现?我只想更改无衬线字体,我尝试过类似以下方法:
\documentclass[a4paper,10pt,twoside, DIV=8]{scrbook}
\usepackage[sc]{mathpazo}
\usepackage[defaultsans]{venturis}
\linespread{1.05} % Palladio needs more leading (space between lines)%
\usepackage[T1]{fontenc}
但它不起作用,“defaultsans”似乎是“venturis”的未知选项,我得到了一个错误(并且整个文档都变成了无衬线字体,这是我不想要的)。我实际上想尝试 Venturis 和 Epigraphica。关于如何实现这一点有什么建议吗?
(此外,如果您对哪种无衬线字体与 Palladio 最相配有任何建议……)
答案1
该venturis
软件包将衬线字体和无衬线字体都设置为相应的 Venturis 变体。它没有仅启用 Venturis Sans 的选项\sffamily
。
但你也许可以通过改变加载顺序来实现这一点;确实有效。但我认为这不是一个好的选择。
\documentclass[a4paper,10pt,twoside, DIV=8]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{venturis}
\usepackage[sc]{mathpazo}
\linespread{1.05} % Palladio needs more leading (space between lines)%
\begin{document}
This is in ``MathPaZo''
\textsf{This is in Venturis Sans}
X\textsf{X}a\textsf{a}
\end{document}
如果下一个问题是如何删除有关 的烦人的信息性消息Font shape T1/yv1/mc/n has incorrect series value `mc'
,很抱歉:除非软件包维护者修复它,否则你几乎无能为力。
答案2
你也可以使用fontspec
for来执行此操作xelatex
,lualatex
前提是你安装了相关 OTF 版本的字体(TeX Gyre 系列来自这里和文丘里管这里)。
\documentclass[a4paper,10pt,twoside, DIV=8]{scrbook}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}
\setsansfont{VenturisSans ADF}[Scale=MatchLowercase]
\linespread{1.05} % Palladio needs more leading (space between lines)%
\begin{document}
\section{This title is set in Venturis}
\begin{itemize}
\item This is in \TeX\ Gyre Pagella, with some maths $e=mc^2$.
\item \textsf{This is in Venturis Sans}
\item X\textsf{X}a\textsf{a}
\end{itemize}
\end{document}
笔记
unicode-math
自动调用fontspec
,为您提供三种字体设置命令。文丘里管比 Palatino 类似管要小一点,所以我使用
fontspec
了[Scale=MatchLowercase]
增加X-height 使得 sans 字体与主字体相匹配。有可能
mathpazo
提供了一些您无法从中获得的更巧妙的设置unicode-math
,但我从未发现过任何设置。这种方法迫使您使用
xelatex
或lualatex
代替pdflatex
。
如果你想要更“传统”的组合,你可以安装 Helvetica 风格的 OTF 版本,例如 TeX Gyre Heroes,然后更改setsansfont
行
\setsansfont{TeX Gyre Heros}[Scale=MatchLowercase]
得到这个