人々が XeLaTeX に切り替える理由

システム フォント、複雑なスクリプト、fontspec テンプレート。

人々が XeLaTeX に切り替える理由

LaTeX は言語ですが、それをコンパイルするエンジンがいくつかあり、実行できる内容が異なります。従来のエンジンは pdfLaTeX で、最新の 2 つのエンジンは XeLaTeX と LuaLaTeX です。人々が XeLaTeX に移行する唯一の最大の理由はフォントです。pdfLaTeX は TeX 用に特別にパッケージ化されたフォントのみを使用しますが、XeLaTeX はシステムにインストールされている通常の名前でアドレス指定された OpenType または TrueType フォントを読み込みます。

切り替える 3 つの理由

1 つ目は、システム フォントへの直接アクセスです。 fontspec パッケージを使用すると、フォントの選択は読み取り可能な 1 行であり、必要な書体に対して TeX 固有のフォント パッケージが存在する必要はありません。目標がモダンな外観の \setmainfont{Inter} であっても、ジャーナルの要件として Times New Roman であっても、メカニズムは同じです。

\usepackage{fontspec}
\setmainfont{Times New Roman}

fontspec には XeLaTeX または LuaLaTeX が必要です。 pdfLaTeX では単にエラーになります。 プロジェクトの隣にあるフォント ファイル に示すように、フォントはシステムではなくプロジェクト フォルダー内に移動することもできます。

2 つ目は、ネイティブ Unicode と複雑なスクリプトです。 XeLaTeX は、UTF-8 入力を直接読み取り、アラビア語、デーバナーガリー文字、中国語、日本語、韓国語など、pdfLaTeX が処理できない書記体系を適切な整形で処理し、「polyglossia」パッケージを通じて言語ごとにハイフネーションと方向を修正します。文書にスクリプトが混在していたり​​、異常な発音記号を含む名前が引用されているだけの場合でも、これだけでエンジンが決まります。

3 つ目は、ユーザーに代わって決定するテンプレートです。最近の履歴書、論文、およびプレゼンテーションのテンプレートの多くは、最初の行に「fontspec」または「polyglossia」をロードしており、そのようなテンプレートは XeLaTeX または LuaLaTeX でのみコンパイルされます。ダウンロードしたテンプレートが「fontspec」に関するエラーですぐに失敗する場合は、テンプレートを編集するのではなく、エンジンを切り替えることで解決します。

あなたが諦めるもの

トレードオフは控えめですが現実的です。いくつかの pdfLaTeX 固有のパッケージは適用されません。最も顕著なのは、XeLaTeX が部分的にのみサポートする「microtype」のフォント拡張です。コンパイルの実行も若干遅くなります。一部の古いジャーナル パイプラインは依然として pdfLaTeX を前提としているため、XeLaTeX で構築された原稿を投稿する前に会場の指示を確認してください。 LuaLaTeX はフォントと Unicode 機能を共有し、Lua スクリプトを追加します。この 2 つのうち、テンプレート名または会場名のどちらかを選択します。 「fontspec」に基づいて構築されたドキュメントは通常、両方でコンパイルされます。

実際の選択

会場のテンプレートが対象とする場合は pdfLaTeX を使用し、論文、履歴書、スライド、多言語文書など、フォントを選択するすべてのものには XeLaTeX を使用するのが合理的なルールです。 Oleafly にバンドルされているエンジンは XeTeX ベース (Tectonic) なので、「fontspec」ドキュメントはエンジン設定なしでそこでコンパイルされます。よくある間違いは、時代を混合することです。たとえば、fontspecnewtxtext のような pdfLaTeX 専用のフォント パッケージと一緒に読み込むことです。ドキュメントごとに 1 つのフォント システムを選択すれば、エンジンに関する質問はほとんど自動的に解決されます。

ランタイム に戻る