符號 ^、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 在您的文件中。

相關內容