使用字體的秘訣是什麼?

使用字體的秘訣是什麼?

背景

相對較新的 LaTeX 用戶在這裡會發瘋。

我想做的就是使用戴·拉蒙 S字體,但似乎幾乎不可能做到這一點。

問題

在 (La)TeX 中使用字體的秘訣是什麼?有什麼規律、理由或經驗法則可供遵循嗎?或者我需要繼續嘗試隨機組合我發現的模式,直到有效果為止?

筆記

雖然我都真的想做的是使用戴·羅曼·S,我故意將問題集中在一般字體上,因為似乎沒有任何關於使用字體的可靠建議。我看到很多針對特定問題的解決方案,甚至是一般的字體,但正如在下一節中可以看到的,這一切都是一團糟。

筆記2

是的,我有 RTFM戴·羅曼·S有問題的字體,已安裝,並且已重新安裝多次。找出一個仍然是痛苦的持續的可靠的在文件中使用不同字體的方法。

先前的研究

在試圖弄清楚這一點的過程中,我查看了 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命令,設置 a \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}

戴羅姆S

我幾乎可以肯定這個範例對您來說會失敗,因為我幾乎可以肯定您沒有安裝該字體。該字體不是 TeX Live 的一部分。三種可能性:

  • Ubuntu 提供了一個可以安裝的軟體套件。
  • 您可以按照中的說明手動從 CTAN 安裝軟體包連結Speravir 在您原始問題的評論中提供。
  • 您使用腳本安裝字體getnonfreefonts,該腳本將為您自動執行該過程。這是 TeX Live 的一部分,但可能不是由 Ubuntu 打包的。兩種可能性:
    • 它是由 Ubuntu 打包的(儘管我持悲觀態度)。
    • 您可以使用中的說明從上游安裝 TeX Live連結Speravir 在評論中提供。在這種情況下,最好刪除目前的安裝,以避免將來出現混亂。

答案2

沒有什麼「秘密」; TeX 系統中的字體一開始很簡單,用戶別無選擇——每個人都使用現代計算機,因此,使用 Metafont 編寫的處理字體的工具在 90 年代達到了穩定狀態,並且不需要太多額外的東西支持。

當可以透過 TeX 使用 Adob​​e Type 1 字體時,複雜性對我們造成了極大的打擊。我們不能再只是提供字體來源,然後讓 TeX 在幕後處理字體編譯(等等)。這就是為什麼你發現它如此困難:即使有人創建了這些文件,你也需要將它們放到正確的位置,並進行一些魔法以確保系統注意到它們。這並不困難,但要尋找文件可能並不簡單。

看來我們又回到了起點,即 TrueType 和 OpenType 字體。您需要一個替代的 TeX 引擎(XeTeX 或 LuaTeX),但這些引擎的設定是為了找到您的系統字體,而無需您進行太多的反省。

請注意,我並沒有解決您的問題,只是展示它們是如何出現的。最好的方法是在您想要使用單一字體時詢問它們。

我認為

相關內容