LaTeX. Греческие буквы в листингах

LaTeX. Греческие буквы в листингах.

Содержание

1 Общая информация

  • В качестве пакета для листингов будем рассматривать minted.

2 Использование Unicode

  • При использовании Unicode можно в листингах использовать настоящие греческие символы:
    \begin{minted}{python}
      ε = …
      μ = …
      n = …
    \end{minted}
    
  • При этом необходимо использовать компиляторы, понимающие Unicode: xelatex и lualatex.

3 Не-unicode компиляторы

  • При использовании не-unicode компиляторов (например, pdflatex), необходимо обозначать греческие буквы командными последовательностями.
  • Возможно использовать пакет textgreek:
    \usepackage{textgreek}
    
  • При этом греческие символы в листингах набираются в ограничителях.
  • Ограничители задаются опцией escapeinside для minted:
    \begin{minted}[escapeinside=||]{python}
      |\textepsilon| = …
      |\textmu| = …
      n = …
    \end{minted}
    
  • Ограничители escapeinside не срабатывают в комментариях и строках.
  • Можно обойти проблему со строками, задав оператор, заключающий аргумент в кавычки, заданные с помощью внутренних команд minted.
  • Зададим оператор:
    \newcommand{\mintescapestring}[1]{\PYG{l+s}{\PYGZsq{}}\PYG{l+s}{#1}\PYG{l+s}{\PYGZsq{}}}
    
  • Тогда его можно применять следующим образом:
    \begin{minted}[escapeinside=||]{python}
      |\texttheta| = sp.Symbol(|\mintescapestring{\texttheta}|, real=True)
      (|\texttheta|*i).exp()
    \end{minted}
    
  • В кодировке unicode это выглядит следующим образом:
    \begin{minted}{python}
      θ = sp.Symbol('θ', real=True)
      (θ*i).exp()
    \end{minted}
    

Links to this note

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие