![проблема с символом ^, kerkis-font и texttt](https://rvso.com/image/420784/%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20%D1%81%20%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%BC%20%5E%2C%20kerkis-font%20%D0%B8%20texttt.png)
Я хочу написать что-то вроде этого 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}
Напротив, шрифты Kerkis в кодировке T1 следуют стандарту.
Если вы используете только шрифты Kerkis с засечками и без засечек, то подойдет OT1; в противном случае всегда помните о необходимости
\usepackage[T1]{fontenc}
в ваших документах с помощью Kerkis.