我想写一些类似的东西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 标准的其他字体,尤其是 Courier 字体,该kerkis.sty
字体声明为等宽字体,
\renewcommand{\ttdefault}{pcr}
相反,T1 编码的 Kerkis 字体遵循标准。
如果你只使用衬线和无衬线的 Kerkis 字体,OT1 就很好;否则,一定要记住
\usepackage[T1]{fontenc}
在您的文档中使用 Kerkis。