newpx
有一个包含并使用的文档bold
,small caps
以及large
文本(使用 MikTeX 2.9)。
\documentclass{article}
\usepackage[largesc]{newpxtext}
\begin{document}
Normal
\textbf{Bold textbf}
{\bfseries Bold bfseries}
\large{large}
\large{\textbf{large Bold}}
\large{\textbf{\textsc{large Bold Small Caps}}}
\end{document}
MikTeX 抛出了这些LaTeX 字体信息在日志文件中。
LaTeX Font Info: Font shape `T1/zpltlf/bx/n' in size <10> not available
(Font) Font shape `T1/zpltlf/b/n' tried instead on input line 6.
LaTeX Font Info: Font shape `T1/zpltlf/b/n' will be
(Font) scaled to size 10.0pt on input line 6.
LaTeX Font Info: Font shape `T1/zpltlf/m/n' will be
(Font) scaled to size 12.0pt on input line 10.
LaTeX Font Info: Font shape `T1/zpltlf/bx/n' in size <12> not available
(Font) Font shape `T1/zpltlf/b/n' tried instead on input line 12.
LaTeX Font Info: Font shape `T1/zpltlf/b/n' will be
(Font) scaled to size 12.0pt on input line 12.
LaTeX Font Info: Font shape `T1/zpltlf/bx/sc' in size <12> not available
(Font) Font shape `T1/zpltlf/b/sc' tried instead on input line 14.
LaTeX Font Info: Font shape `T1/zpltlf/b/sc' will be
(Font) scaled to size 12.0pt on input line 14.
两个问题:
bx
1)当我使用textbf
( ) 时,为什么会调用 bold extended ( ) b
?使用 时bfseries
,bx
不会调用,也不会LeTeX 字体信息被触发!
2)我可以通过删除所有的LaTeX 字体信息,尤其是在拥有大量论文文档时?
答案1
的内核值为\bfdefault
,bx
但 NewPX 字体使用b
,事实上,在t1zpltlf.fd
文件中你会发现如下行
\DeclareFontShape{T1}{zpltlf}{bx}{n}{<->ssub * zpltlf/b/n}{}
当您这样做时\bfseries
(在处理时隐式完成\textbf
),LaTeX 会将字体系列设置为bx
,因此会出现“静默替换”(由声明ssub
),但它仍会在日志文件中记录为“字体信息”。
如果用 声明了替换sub
,则不仅在日志文件中出现“字体信息”消息,而且在控制台上还会出现“字体警告”。
如果全部粗体系列中使用的字体有一个b
系列符号,而不是bx
,你可以这样做
\renewcommand{\bfdefault}{b}
在序言中。但我不建议这样做:它只会减少“字体信息”消息的数量,而不会带来真正的好处。
使用以下代码
\documentclass{article}
\usepackage[largesc]{newpxtext}
\renewcommand{\bfdefault}{b}
\begin{document}
Normal
\textbf{Bold textbf}
{\bfseries Bold bfseries}
{\large large\par}
{\large\textbf{large Bold}\par}
{\large\textbf{\textsc{large Bold Small Caps}}\par}
\end{document}
日志文件将有
LaTeX Font Info: Font shape `T1/zpltlf/b/n' will be
(Font) scaled to size 10.0pt on input line 9.
LaTeX Font Info: Font shape `T1/zpltlf/m/n' will be
(Font) scaled to size 12.0pt on input line 13.
LaTeX Font Info: Font shape `T1/zpltlf/b/n' will be
(Font) scaled to size 12.0pt on input line 15.
LaTeX Font Info: Font shape `T1/zpltlf/b/sc' will be
(Font) scaled to size 12.0pt on input line 17.
第一次加载字体时,仅记录一次信息。
顺便说一句,请注意\large
,与所有字体大小声明一样,它不是带有参数的命令。
答案2
您也会收到该消息\bfseries
。但在文档中您只会收到一次,因为从那时起 latex 就知道应该用这种字体设置组合来替换:
\documentclass{article}
\usepackage[largesc]{newpxtext}
\begin{document}
Normal
{\bfseries Bold bfseries}
blblb
{\bfseries Bold bfseries}
\end{document}
给出了第 6 行的消息,但没有给出第 10 行的消息:
... scaled to size 10.0pt on input line 6.
在您的示例中,它\textbf
首先出现,因此触发了消息。
人们可以压制这些信息,但我怀疑你能取得多大的胜利。
答案3
1) 这两个命令并不完全相同。您可以这样想*:\bfseries
表示“从现在开始切换到默认粗体字体,无论它是什么。”这可能会或可能不会扩展,具体取决于您使用的字体系列。如果您的字体系列不包含粗体形状,LaTeX 会抱怨并使用替代字体。(\bfseries
只关心您是否处于数学模式。)
该命令\textbf
使用 LaTeX 的新字体选择方案,即,它会尝试巧妙地“增加粗体”到调用它的位置所使用的字体系列和字体形状。默认情况下,它会尝试添加扩展粗体,因为这是您在使用默认系列 Computer Modern(或 Latin Modern)时所期望的。
文档类article
也只加载一些特定的字体大小,如果您尝试使用一些特殊的字体大小,它就会发出警告。
2) 是的。嗯,这要视情况而定。首先,尝试使用\package{lmodern}
并查看它是否更适合您的需求。它允许使用更多字体大小,并且不会对此抱怨。如果您使用的是 pdf(la)tex,请查看此处:禁止 Fontaxes 警告
* 不要把钱押在这上面。