lmodern + tipa により、最初の発音区別符号が壊れる

lmodern + tipa により、最初の発音区別符号が壊れる

lmodernとの両方をロードするとtipa、発音区別符号付きのIPA記号の最初のインスタンスが壊れます。たとえば、このコード

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{tipa}

\begin{document}

\=\textschwa
\=\textepsilon
\'\textschwa
\'\textepsilon

\end{document}

次のような結果になります:

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

使用するダイアクリティカルマークやボディに関係なく、分割されるのは常に最初の文字です。例えば、次のように変更すると、

\=\textepsilon
\=\textschwa
\'\textschwa
\'\textepsilon

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

これを変更すれば

\'\textschwa
\'\textepsilon
\=\textepsilon
\=\textschwa

それは生み出すここに画像の説明を入力してください

最初の文字の発音区別符号が適切な位置の上部に表示されるように変更するにはどうすればよいでしょうか?


注意:この質問lmodernとについてですtipaが、これらは一緒に正常に動作し、問題は発生しない (いくつかの警告を除く) ということだけが示されています。

答え1

警告は受けますか?その通りです

LaTeX Font Warning: Font shape `T3/lmr/m/n' undefined
(Font)              using `T3/cmr/m/n' instead
(Font)              for symbol `textschwa' on input line 8.

を使用すると、それら(および間違ったアクセント)を回避できます\DeclareFontFamilySubstitution

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{tipa}

\DeclareFontFamilySubstitution{T3}{lmr}{cmr}

\begin{document}

\=\textschwa
\=\textepsilon
\'\textschwa
\'\textepsilon

\end{document}

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

注: 現在は廃止と宣言されているパッケージを使用した以前のソリューションについては、編集履歴を参照してくださいsubstitutefont

答え2

マクロを環境tipa内ではなく 使用していますが、これはマクロが想定された使用方法ではありません。例を適切に動作させるには、例を正しい環境にラップするだけです。\textipa{}{IPA}

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{tipa}


\begin{document}

\begin{IPA}
\=\textschwa
\=\textepsilon
\'\textschwa
\'\textepsilon
\end{IPA}

\end{document}

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

関連情報