Skip to content

Commit daf139b

Browse files
committed
L-lesson-14 translation
1 parent a70ddf8 commit daf139b

1 file changed

Lines changed: 70 additions & 0 deletions

File tree

zh-hant/lesson-14.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
layout: "lesson"
3+
lang: "zh-hant"
4+
title: "選擇字型和使用 Unicode 引擎"
5+
description: "本課介紹了 LaTeX 如何解釋 Unicode 輸入以及這如何影響你的輸入內容和使用的字型。了解 Unicode 和 OpenType 字型支援。"
6+
toc-anchor-text: "字型和 Unicode 引擎"
7+
toc-description: "選擇字型和檔案編碼。"
8+
---
9+
10+
# 字型和Unicode引擎
11+
12+
<span
13+
class="summary">本課介紹了 LaTeX 如何解釋 Unicode 輸入以及這如何影響你的輸入內容和使用的字型。了解 Unicode 和 OpenType 字型支援。</span>
14+
15+
當 TeX 和 LaTeX 最初開始被廣泛使用時,它們基本上只能直接處理歐洲語言,儘管也有一些使用其他字母(如希臘語和俄語)的能力。
16+
17+
## 重音和帶重音的字母
18+
19+
最初,重音和帶重音的字母是使用控制序列或宏來輸入的,比如`\c{c}`表示'ç',`\'e`表示'é'。雖然有些人繼續使用這些輸入方法因為它們可能更容易輸入,但其他人希望能夠直接使用鍵盤上的鍵來輸入這些符號。
20+
21+
在 Unicode 之前,LaTeX 為許多類型的 *檔案編碼* 提供了支援,這些編碼允許以本地方式編寫各種語言的文字 — 例如,使用`latin1`編碼,法語使用者可以寫'`déjà vu`',LaTeX 會在內部將帶重音的字母轉換為 TeX 命令以產生正確的輸出。
22+
23+
這種方法在使用`pdflatex`引擎的現代 LaTeX 中仍在使用。預設情況下,所有檔案都被假定為 Unicode(UTF-8 編碼),除非另有指定。儘管這個引擎限於8位字型,但大多數歐洲語言都可以得到支援。
24+
25+
## 字型選擇
26+
27+
使用`pdflatex`的字型選擇使用了健壯的 LaTeX 字型選擇方案,如今在標準 LaTeX 發行版中有許多可直接使用的字型。例如,TeX Gyre 字型是一套基於大多數人熟悉的常見字型的高質量字型,如 Times、Helvetica、Palatino 等。要載入這些字型,只需載入一個具有適當名稱的宏包。對於 Times 的替代品,TeX Gyre 的名稱是 Termes:
28+
29+
```latex
30+
\usepackage{tgtermes}
31+
```
32+
{: .noedit :}
33+
34+
對於`pdflatex`,大多數字體都可以通過宏包訪問。你可以檢視 [LaTeX字型目錄](https://www.tug.org/FontCatalogue/)[CTAN上的'字型'主題](https://www.ctan.org/topic/font)來了解一些選項。你也可以在網際網路上搜尋你想要的字型,並尋找`pdflatex`相容的宏包版本。如果你想使用專有字型,你可以搜尋合適的克隆版本,對於大多數應用來說,這與原版足夠相似。
35+
36+
## Unicode時代
37+
38+
由於`pdflatex`限於8位檔案編碼和8位字型,它不能原生使用現代 OpenType 字型,也不能輕鬆地在使用不同字母(或指令碼,用技術術語來說)的多種語言之間切換。有兩個替代 pdfTeX 的引擎,它們原生使用 Unicode 輸入和現代字型:XeTeX 和 LuaTeX。對於 LaTeX,這些通常在你的編輯器中分別使用`xelatex``lualatex`引擎來呼叫。
39+
40+
<p class="hint">例如,本教程的中文版本就指定 XeLaTeX 為編譯引擎,並使用`xeCJK`宏包來支援中文。</p>
41+
42+
在這些引擎中,字型選擇由`fontspec`宏包完成,對於簡單的文件可以像這樣簡單:
43+
```latex
44+
% !TEX program=lualatex
45+
\usepackage{fontspec}
46+
\setmainfont{texgyretermes-regular.otf}
47+
```
48+
{: .noedit :}
49+
50+
這選擇了 TeX Gyre Termes 字型,就像在`pdflatex`示例中一樣。值得注意的是,這種方法適用於 _任何_ OpenType 字型。一些可用於`pdflatex`的字型也可以通過它們各自的宏包用於`xelatex``lualatex`,或者通過使用`fontspec`如上所示載入你計算機上安裝的任何字型。
51+
52+
[LaTeX字型目錄](https://www.tug.org/FontCatalogue/)也顯示了有 OpenType 格式可用的字型,所以你可以用它作為查詢字型的資源,以及前面提到的 [CTAN頁面](https://www.ctan.org/topic/font)
53+
54+
選擇字型後,現在可以直接在源文件中用純 Unicode 輸入文字。這裡是一個示例,顯示了一些拉丁字母和希臘字母以及一些 CJK 表意文字:
55+
56+
```latex
57+
% !TEX program=lualatex
58+
\documentclass{article}
59+
\usepackage{fontspec}
60+
\setmainfont{texgyretermes-regular.otf}
61+
\newfontfamily\cjkfont{FandolSong-Regular.otf}
62+
\begin{document}
63+
64+
ABC → αβγ → {\cjkfont 你好}
65+
66+
\end{document}
67+
```
68+
69+
<p
70+
class="hint">在切換語言時,通常也需要更改斷字模式等內容,`babel``polyglossia`宏包都提供了強大的功能來做這些事情。</p>

0 commit comments

Comments
 (0)