problem z symbolem ^, kerkis-font i texttt

Sep 14 2020

Chcę napisać coś takiego SomeCode^MoreCode, więc napisałem kod poniżej.

\documentclass{article}

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


\begin{document}

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

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

\end{document}

Problem w tym, że nie dostaję symbolu ^, gdy jest w środkutexttt{} . Jeśli usunę czcionkę kerkis, wszystko jest w porządku .

Co mogę zrobić?

Z góry dziękuję!

Odpowiedzi

3 DavidCarlisle Sep 14 2020 at 11:34

Potrzebujesz kodowania T1, aby uzyskać większy zakres znaków, ale myślę, że potrzebujesz znaku, ^który możesz uzyskać z akcentem okalającym \textasciiicircumlub \verbbez niego:

\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 egreg Sep 14 2020 at 16:04

Z nieznanych powodów twórcy czcionek Kerkis wypuścili je z niestandardową wersją kodowania OT1.

Rzeczywiście, w kerkis.styznajdujemy

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

i inne podobne deklaracje. Działają dla Kerkis, ale łamią inne czcionki, które są zgodne ze standardem OT1, w szczególności czcionkę Courier, która jest kerkis.stydeklarowana jako czcionka o stałej szerokości z

\renewcommand{\ttdefault}{pcr}

Wręcz przeciwnie, czcionki Kerkis z kodowaniem T1 są zgodne ze standardem.

Jeśli używasz tylko czcionek szeryfowych i bezszeryfowych Kerkis, OT1 jest dobre; w przeciwnym razie zawsze pamiętaj o tym

\usepackage[T1]{fontenc}

w swoich dokumentach za pomocą Kerkis.