使用字体的秘诀是什么?

使用字体的秘诀是什么?

背景

相对较新的 LaTeX 用户在这里疯狂了。

我只想使用戴·拉蒙字体,但这样做似乎几乎不可能。

问题

在 (La)TeX 中使用字体的秘诀是什么?有什么规律、理由或经验法则可循吗?还是我只需要不断尝试随机组合我找到的模式,直到找到某种效果?

笔记

尽管我真的想要做的是使用戴·罗曼,我有意将问题集中在字体上,因为似乎没有任何关于使用字体的万无一失的建议。我看到很多针对特定问题的解决方案,甚至字体,但正如下一节所见,这一切都是一团乱麻。

笔记2

是的,我已经阅读了戴·罗曼有问题的字体,它已安装,并已重新安装多次。找出一个持续的可靠的在文档中使用不同字体的方法。

先前的研究

为了弄清楚这一点,我查看了 FontCatalogue 档案中许多编译过的示例,发现似乎有多种指定字体的方法。我不确定何时该使用哪种方法。

有时您只需加载与字体同名的包并\normalfont\normalfont在文本前添加两次(为什么?):

\usepackage{bookman}
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\normalfont

其他时候您需要\normalfont\<font-name>在文本前添加:

\usepackage{calligra}
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\calligra

还有一些时候,您需要ic从字体名称中删除并添加,在文本前family创建:\normalfont\<font-name-minus-ic>family

\usepackage{egothic}
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\egothfamily

有时后面的第二个命令\normalfont似乎与包名称完全无关:

\usepackage{yfonts}
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\swabfamily

有时您还需要\renewcommand*在加载字体包之后和加载之前使用fontenc

\usepackage{PTSansCaption} 
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\normalfont

有时你可以这样做没有首先加载字体包正在加载fontenc(所有其他示例均在之前):

\usepackage[T1]{fontenc}
\renewcommand*\familydefault{\ttdefault} %% Only if the base font of the document is to be typewriter style
\begin{document}
\normalfont\normalfont

有时您可以使用\renewcommand*设置其他默认值,例如\rmdefault(前面两个示例是\familydefault

\renewcommand*\rmdefault{cmfib}
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\normalfont

有时您必须设置各种默认值:

\renewcommand*\ttdefault{lmvtt}
\renewcommand*\familydefault{\ttdefault} %% Only if the base font of the document is to be typewriter style
\usepackage[T1]{fontenc}
\begin{document}
\normalfont\normalfont

最后,有些似乎需要.fd直接加载文件(字体定义?)而不是通过\usepackage命令,设置一个\newcommand*(而不是\renewcommand*),跳过加载,并将文本前的fontenc重复更改为更复杂的内容:\normalfont\normalfont

\input Carrickc.fd
\newcommand*\initfamily{\usefont{U}{Carrickc}{xl}{n}}
\begin{document}
\normalfont\initfamily
\fontsize{12mm}{12mm}\selectfont 

答案1

这是一个几乎可以正常工作的 MWE:

\documentclass[danish]{article}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[T1]{fontenc}
\renewcommand\rmdefault{dayroms}

\begin{document}
\section*{Dayrom S}
For mange Aar siden levede en Keiser, som holdt saa uhyre meget af
smukke nye Kl\ae der, at han gav alle sine Penge ud for ret at blive
pyntet. Han br\o d sig ikke om sine Soldater, br\o d sig ei om Comedie
eller om at kj\o re i Skoven, uden alene for at vise sine nye Kl\ae
der. Han havde en Kjole for hver Time paa Dagen, og ligesom man siger
om en Konge, han er i Raadet, saa sagde man altid her: >>Keiseren er i
Garderoben!<<~--

\end{document}

戴罗姆

我几乎可以肯定这个例子对你来说会失败,因为我几乎可以肯定你没有安装字体。字体不是 TeX Live 的一部分。三种可能性:

  • Ubuntu 提供了一个您可以安装的软件包。
  • 你可以手动安装 CTAN 中的软件包,也许可以按照链接Speravir 在您原始问题的评论中提供了。
  • 您可以使用脚本安装字体getnonfreefonts,该脚本将自动为您完成该过程。这是 TeX Live 的一部分,但可能未由 Ubuntu 打包。两种可能性:
    • 它是由 Ubuntu 打包的(尽管我持悲观态度)。
    • 你可以使用以下说明从上游安装 TeX Live链接Speravir 在评论中提供。在这种情况下,最好删除您当前的安装,以避免将来产生混淆。

答案2

没有什么“秘密”;TeX 系统中的字体开始很简单,用户没有选择——每个人都使用现代计算机,因此,使用 Metafont 编写的处理字体的工具在 90 年代达到了稳定状态,并且不需要太多额外的支持。

当能够使用 Adob​​e Type 1 字体和 TeX 时,我们遇到了很多麻烦。我们不再能够只提供字体源,让 TeX 在后台编译字体(等等)。这就是为什么您觉得它如此困难的原因:即使有人创建了文件,您也需要将它们放到正确的位置,并进行一些魔术以确保系统注意到它们。这并不难,但查找文档可能并不简单。

看来我们又回到了原点,使用 TrueType 和 OpenType 字体。您需要一个替代的 TeX 引擎(XeTeX 或 LuaTeX),但这些引擎被设置为查找您的系统字体,无需您费心搜索。

请注意,我并不是在解决您的问题,只是向您展示这些问题是如何产生的。最好的办法是,在您想要使用字体时询问具体字体。

我认为

相关内容