当我使用该包(Palatino 字体)时,使用和命令(或者和命令)mathpazo
生成的字体形状看起来与预期不同:第一个生成斜体文本,第二个生成倾斜文本。\textit
\textsl
\itshape
\slshape
但是,当我使用newpxtext
或tgpagella
包(也是Palatino字体)时,\textit
和\textsl
都会产生仅限斜体文本。你可以用以下 MWE 尝试一下:
\documentclass{article}
\usepackage{mathpazo}
%\usepackage{newpxtext}
%\usepackage{tgpagella}
\begin{document}
\texttt{itshape}: \textit{The quick brown fox jumps over the sleazy dog.}
\texttt{slshape}: \textsl{The quick brown fox jumps over the sleazy dog.}
\end{document}
顺便说一句:我使用 MikTeX 和 pdflatex。
当使用 运行此示例时tgpagella
,会出现一个警告,指出sl
不可用,因此it
使用 来代替:
LaTeX 字体警告:大小 <10> 的字体形状“OT1/qpl/m/sl”不可用(字体)在输入行 10 上尝试使用字体形状“OT1/qpl/m/it”。(取自 .log 文件)
但是,当我使用时没有出现任何警告newpxtext
。显然,sl
只是定义为it
与此包相同的字体形状。
我的问题:有没有办法使用这个newpxtext
包和能够使用实际倾斜的文本吗?我对使用它newpxtext
来代替其他两个包特别感兴趣,因为我想将它与newpxmath
许多论坛中推荐的包一起使用。
答案1
这里我重新定义\textsl
并\slshape
调用mathpazo
字体。
\documentclass{article}
%\usepackage{mathpazo}
%\usepackage{newpxtext}
\usepackage{tgpagella}
\let\svtextsl\textsl
\renewcommand\textsl[1]{\bgroup\fontfamily{ppl}\selectfont\svtextsl{#1}\egroup}
\let\svslshape\slshape
\renewcommand\slshape{\fontfamily{ppl}\selectfont\svslshape}
\begin{document}
\texttt{itshape}: \textit{The quick brown fox jumps over the sleazy dog.}
\texttt{slshape}: \textsl{The quick brown fox jumps over the sleazy dog.}
Normal text and \slshape now in slshape. \upshape Back ``up'' again.
\end{document}
唯一的陷阱,如果您想这么称呼它,那就是如果您在这个修订版中操作\slshape
并更改字体系列,如\rmfamily
,您将返回斜体形状,因为(正如 OP 所知)slshape
默认字体系列未知,无论是nepxtext
还是tgpagella
。
答案2
您可以用以下方式替换字体调用\slshape
:
\documentclass{article}
\usepackage{newpxtext}
\makeatletter
\AtBeginDocument{%
\DeclareFontShape{T1}{zpl\zpl@figurealign\zpl@figurestyle}{m}{sl}{<-> pplro8t}{}%
\DeclareFontShape{T1}{zpl\zpl@figurealign\zpl@figurestyle}{b}{sl}{<-> pplbo8t}{}%
}
\makeatother
\begin{document}
\texttt{upshape}: \textup{The quick brown fox jumps over the sleazy dog.}
\texttt{itshape}: \textit{The quick brown fox jumps over the sleazy dog.}
\texttt{slshape}: \textsl{The quick brown fox jumps over the sleazy dog.}
\end{document}
请注意,这不会遵循您在加载时对旧式数字所做的可能选择newpxtext
。
我会避免这种情况。我一般都同意 Knuth 的排版选择,但绝对不同意倾斜字体,我发现这种字体与直立字体几乎没有区别,而且很丑。