我已经检查过kpfonts.sty
:
\renewcommand{\sfdefault}{jkpss\kp@petitesmajuscules\kp@flig\kp@style}
看起来这个名字jkpss\kp@petitesmajuscules\kp@flig\kp@style
不太正确。那么这个字体的真正名字是什么呢?
那么如何调用Kpfonts
第二种字体呢?
答案1
正如我之前所说,所有 Kp-Font 变体的低级名称都记录在手册中。但我必须承认,这可能很难理解。
所以我觉得我应该在这里展示一些例子。关于你在评论中提出的问题,请参见最后。
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{lmodern} % "Latin Modern" as default font set
\newcommand*{\testfont}[2]{\textsf{#1 (\texttt{#2}):} {\fontfamily{#2}\selectfont
Best off (sic!) 1234567890 Questions}\par}
\setlength{\parindent}{0pt}
\begin{document}
\section*{Examples for low level names of Kp-Fonts}
\testfont{Roman}{jkp}
\testfont{Roman light}{jkpl}
\testfont{Roman, large smallcaps}{jkpk}
\testfont{Roman light, no f-ligatures}{jkplf}
\testfont{Roman, large smallcaps, old style numbers}{jkpkosn}
\testfont{Roman light, oldstyle}{jkplos}
\testfont{Roman, very oldstyle}{jkpvos}
\smallskip
\textsc{\fontfamily{jkp}\selectfont Usual SmallCaps vs.\\
\fontfamily{jkpk}\selectfont Large SmallCaps}
\bigskip
\testfont{Sans Serif}{jkpss}
\testfont{Sans Serif, large smallcaps}{jkpssk}
\testfont{Sans Serif, no f-ligatures}{jkpssf}
\testfont{Sans Serif, oldstyle}{jkpssos}
\testfont{Sans Serif, very oldstyle}{jkpssvos}
\smallskip
\textsc{\fontfamily{jkpss}\selectfont Usual SmallCaps vs.\\
\fontfamily{jkpssk}\selectfont Large SmallCaps}
\bigskip
\testfont{Teletype}{jkptt}
\testfont{Teletype, oldstyle numbers}{jkpttosn}
\testfont{Teletype, oldstyle}{jkpttos}
\testfont{Teletype, very oldstyle}{jkpttvos}
\end{document}
对于您的文档,您应该根据自己的喜好定义一个或两个命令。我将在这里使用基本的 Kp-Font roman,如上所示jkp
:
\rmfamily
类似于或\bfseries
: 的开关\newcommand{\kproman}{\fontfamily{jkp}\selectfont}
,但您必须将其设置在组中。比较一下我在 中的示例中所做的操作\newcommand*{\testfont}
。类似于
\textrm
或\textbf
分组命令:\newcommand{\textkproman}[1]{{\fontfamily{jkp}\selectfont#1}}
,请注意用于分组的双括号。
答案2
字体取决于您传递给包的选项。我没有检查包文件,但我假设您没有将代码包含在和中\makeatletter
,\makeatother
因为以下内容有效:
(字体名称使用罗马系列 kpfont 打印,并带有相应的选项,除了第三个示例,我在其中切换到 Computer Modern 字体来打印名称)
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[lighttext,oldstylenums]{kpfonts}
\begin{document}
\makeatletter
jkpss\kp@petitesmajuscules\kp@flig\kp@style
\makeatother
\sfdefault
\end{document}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[lighttext,veryoldstyle]{kpfonts}
\begin{document}\pagestyle{empty}
\makeatletter
jkpss\kp@petitesmajuscules\kp@flig\kp@style
\makeatother
\sfdefault
\end{document}
在第三个例子中,我使用另一种字体来打印名称,以解决评论中提出的问题Scott H.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[lighttext,veryoldstyle,largesmallcaps]{kpfonts}
\begin{document}\pagestyle{empty}
\usefont{T1}{cmr}{m}{n}
\makeatletter
jkpss\kp@petitesmajuscules\kp@flig\kp@style
\makeatother
\sfdefault
\end{document}