ギリシャ文字の異形を避ける方法

ギリシャ文字の異形を避ける方法

仮想ギリシャ語キーボードと以下のパッケージを使用すると、ギリシャ語のUnicode文字(例:θ)を直接実装できます。

\usepackage[mathletters]{ucs}
\usepackage[utf8]{inputenc}

ただし、PDF に表示される文字は常にギリシャ語の変形です (\vartheta例: ) \theta

\let\vartheta\theta各文字以外でこれを回避する方法はありますか?

答え1

うーん

theta の Unicode 定義は次のとおりです。

U+03b8 GREEK SMALL LETTER THETA

U+03d1 GREEK THETA SYMBOL

最初のものはあなたの質問にあるもので、2 番目はよりカールした開いたものです。

ただし、パッケージによって設定されたエンコーディングでは、ucsU + 03b8文字がデフォルトで提供されます\texttheta(正しいフォントエンコーディングをロードした場合、テキストモードで正しい文字が提供される可能性が高いですが、未定義のコマンドを取得しました)。ただし、[mathletters]フラグメントのようにオプションを使用すると、定義を使用するように切り替わります。

\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%

ファイル内uni-3.def

つまり、数式モードでシータ記号文字が必要であると想定しています。したがって、\let提案する方法は 1 つであり、この定義を上書きすることもできます。

\documentclass{article}

\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}

\makeatletter
\uc@dclc{952}{mathletters}{\ensuremath{\theta}}%
\makeatother

\begin{document}

 (e.g. θ)

\end{document}

これにより、次のようになります。

ここに画像の説明を入力してください

\var...のフルセットuni-3.def

5 matches for "\\var" in buffer: uni-3.def
    174:\uc@dclc{949}{mathletters}{\ensuremath{\varepsilon}}%
    183:\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%
    210:\uc@dclc{961}{mathletters}{\ensuremath{\varrho}}%
    213:\uc@dclc{962}{mathletters}{\ensuremath{\varsigma}}%
    225:\uc@dclc{966}{mathletters}{\ensuremath{\varphi}}%

答え2

ucs (例えば biblatex と衝突する) を避けたい場合は、ここで指定されている lgrxenc.def と lgrenc.dfu を使用できます。http://milde.users.sourceforge.net/LGR/

lgrenc.dfu は、たとえば U+03BB をマッピングしますが、\textthetaこれが必要なシンボルになると思います。

答え3

の古いバージョンを使用しているようですucs。2012 年 4 月のバージョン 2.0 以降では、mathlettersオプションを使用すると、通常のギリシャ文字と異体ギリシャ文字の両方が適切なマクロにマップされます。私のブログ記事を参照してください。ucs LaTeX パッケージの新リリース

古いバージョンを使い続ける必要がある場合はucs、文字から TeX コードへのマッピングを変更することもできます。これは、 を介してギリシャ文字マクロを再定義するよりもクリーンです\let。ただし、David Carlisle の回答にあるように を使用すること\uc@dclcは推奨されません。使用するユーザー レベルのコマンドは です\DeclareUnicodeCharacterパッケージのドキュメント

関連情報