Kp-Fonts 的内部字体名称是什么?

Kp-Fonts 的内部字体名称是什么?

我已经检查过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}

输出

相关内容