我想寫這樣的東西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 在您的文件中。