XeLaTeXへの移行に関するいくつかの質問

XeLaTeXへの移行に関するいくつかの質問

私は長年 LaTeX を使用していますが、XeLaTeX への移行を検討しています。

この変更の主な理由は、babel私の言語 (フランス語) に応じてドキュメントのレイアウトを大幅に変更するパッケージです。たとえば、LaTeX/Babel (フランス語) の itemize 環境は、オリジナル (LaTeX/Babel/英語) とはまったく異なります。私はオリジナルのレイアウトの方が好きで、Babel の作者がフランス語オプション1に加えた変更は好きではありません。XeLaTeX (Polyglossia とフランス語を選択) ではレイアウトは変更されません (AFAIK)。

たとえば、ここに 2 つのスクリーンショットがあります。左側は、LaTeX/Babel/French による itemize です。右側は、XeLaTeX/polyglossia/French による同じテキストです。私にとっては、2 番目 (右側) の方が優れていることは間違いありません。

LaTeX/バベル/フランス語ゼラテックス

しかしXeLaTeX についていくつか質問があります。全く知らないので、無知な点はご容赦ください。

  1. XeLaTeX のデフォルト フォントは LaTeX のものと同じですか? 私のスクリーンショットでは、XeLaTeX フォントの方が少し太く見えます。-> 関連質問: lmodernXeLaTeX でパッケージを呼び出すことはまだ便利ですか?
  2. それはcsquotesパッケージまだXeLaTeXを使っていますか?
  3. XeLaTeX で記述する場合、ドキュメント クラスの後に、、の 3 つのパッケージ呼び出しを追加します(fontspecコマンドを使用 )。これで十分でしょうか? 何か見落としているのでしょうか?xunicodepolyglossia\setmainlanguage{french}
  4. 質問 3 で述べた 3 つのパッケージを使用すると、フランス語の合字とハイフネーションは正しくなりますか?

LaTeX から XeLaTeX に移行する方法を説明するドキュメントにも興味があります。


1. 文書のレイアウトを決定するのは言語パッケージの仕事ではないと思います。

答え1

のデフォルト フォントはfontspecLatin Modern です。XeLaTeX 自体は、LaTeX の標準フォント レイアウトを変更しません。

さて、質問に移ります。

  1. スクリーンショットをあまり信用しすぎないでください。これが私が得たものですpdflatex

    pdfラテックス

    そしてこれが私が得たものですxelatex

    ゼラテックス

    ソースファイルは

    \documentclass{article}
    \usepackage{ifxetex}
    \ifxetex
      \usepackage{fontspec}
      \usepackage{polyglossia}
      \setmainlanguage{french}
    \else
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[french]{babel}
      \usepackage{lmodern}
    \fi
    
    \usepackage{lipsum}
    
    \begin{document}
    \noindent
    Typeset with \ifxetex\verb|xelatex|\else\verb|pdflatex|\fi\\
    \lipsum[2]
    \end{document}
    

    表示される違いは、おそらく PDF ビューアと OpenType フォントの処理方法によって異なります。

  2. はい、csquotesXeLaTeX でも動作します。ただし、不具合がある可能性があります。明確な例がないので、何とも言えません。

  3. をロードしないでくださいxunicode。 によってすでにロードされていますfontspec

  4. はい。もちろん、フランス語モジュールの一部の機能は失われますbabel。ドキュメントを確認してください。

情報のためだけに電話する

\usepackage[french]{babel}
\frenchbsetup{StandardLayout=true}

標準レイアウトを復元します。標準itemize環境のみが必要な場合は、

\usepackage[french]{babel}
\frenchbsetup{
  ReduceListSpacing=false,
  StandardItemizeEnv=true,
  StandardItemLabels=true
}

関連情報