シンボル ^、kerkis-font、texttt に関する問題

シンボル ^、kerkis-font、texttt に関する問題

こんな感じのものを書きたいSomeCode^MoreCodeので、以下のコードを書きました。

\documentclass{article}

\usepackage[english,greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage{kerkis}


\begin{document}

\textlatin{\texttt{SomeCode\^{}MoreCode}}

\textlatin{Some text \^{} more text}

\end{document}

問題はシンボルが分からないことだ^にあるときtexttt{}。kerkis-fontを削除すると、すべて正常になります

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

私に何ができる?

前もって感謝します!

答え1

より広い範囲の文字を取得するには T1 エンコーディングが必要ですが、サーカムフレックス アクセントの有無にかかわらず取得^できる文字も必要だと思います。\textasciiicircum\verb

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

\documentclass{article}

\usepackage[english,greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage{kerkis}
\usepackage[T1]{fontenc}

\begin{document}

\textlatin{\texttt{SomeCode\^{}MoreCode}}

\textlatin{Some text \^{} more text}


\textlatin{\texttt{SomeCode\textasciicircum{}MoreCode}}

\textlatin{Some text \textasciicircum{} more text}

\begin{otherlanguage}{english} \verb|SomeCode^MoreCode| \end{otherlanguage}

\end{document}

答え2

理由は不明ですが、Kerkis フォントの開発者は、OT1 エンコーディングの非標準バージョンでフォントをリリースしました。

kerkis.sty実際、

\DeclareTextAccent{\`}{OT1}{30}
\DeclareTextAccent{\'}{OT1}{180}
\DeclareTextAccent{\^}{OT1}{25}

および他の同様の宣言。これらはKerkisでは機能しますが、OT1標準に準拠する他のフォント、特にkerkis.sty等幅フォントとして宣言するCourierフォントでは機能しません。

\renewcommand{\ttdefault}{pcr}

逆に、T1 でエンコードされた Kerkis フォントは標準に従います。

セリフ体とサンセリフ体のKerkisフォントのみを使用する場合は、OT1が適しています。それ以外の場合は、常に次の点に注意してください。

\usepackage[T1]{fontenc}

Kerkis を使用してドキュメントに入力します。

関連情報