Polyglossiaとmintedでセルビア語キリル文字を使用する方法

Polyglossiaとmintedでセルビア語キリル文字を使用する方法

polyglossiaセルビア語のキリル文字で文書を書くために使用していますが、mintedソース コードの構文の強調表示に使用しようとするとエラーが発生します (PDF は生成されますが)。

polyglossia: The current roman font does not contain the Cyrill(polyglossia) Please define \cyrillicfont with \newfontfamily. ...l=lst:rssfeeder,caption=RssItemView.java]

PDF は生成されますが、minted環境にキリル文字が含まれていません。 を使用しない場合はエラーが発生しないことに注意してくださいminted

私はcyrillicfont序文で次のように定義しました:

\documentclass[12pt,a4paper,serbian,oneside]{book}

% minted  - paket za prikaz programa
\usepackage{minted}

% srpski jezik
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[Script=Cyrillic]{serbian}
\setmainfont{Times New Roman}
\newfontfamily\cyrillicfont{Times New Roman}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{ucs}
\usepackage{pdfsync}
\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}


% Numerisanje subsubcetion
\setcounter{secnumdepth}{3}

%Prikaz subsubsection u sadrzaju
%\setcounter{tocdepth}{3}

% Komanda za horizontal ruler
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

coffeescriptこのスニペットを次のように表示しようとしていますminted:

\begin{minted}[mathescape,
               linenos]{coffeescript}
  http = require 'http'

  app.get '/', (req, res) =>
    res.send 'cao'
  # Коментар / Comment : const double pi = 3.1415926535
\end{minted}

PDF が生成され、コードが表示されますが、Коментар の代わりに空白が表示されます。次のエラーと警告が表示されます。

polyglossia: The current roman font does not contain the Cyrill(polyglossia) Please define \cyrillicfont with \newfontfamily. ...\catcode`\$=3\catcode`\^=7\catcode`\_=8}, ]
Unused global option(s): [serbian].
Font shape `EU1/TimesNewRoman(0)/m/sc' undefined(Font) using `EU1/TimesNewRoman(0)/m/n' instead
Some font shapes were not available, defaults substituted.

私はTexStudioとを のオプションとともにxelatex使用しています。--shell-escapeminted

  1. プリアンブルにキリル文字フォントを含めると、キリル文字フォントの定義に関するエラーが表示されるのはなぜですか?
  2. minted環境でキリル文字の単語を表示するにはどうすればいいですか?

答え1

キリル文字をサポートする等幅フォントを定義する必要があります。デフォルトのフォント (Latin Modern Mono) はキリル文字をサポートしていません。

\documentclass[12pt,a4paper,serbian,oneside]{book}

% minted  - paket za prikaz programa
\usepackage{minted}

% srpski jezik
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[Script=Cyrillic]{serbian}
\setmainfont{Times New Roman}
\newfontfamily\cyrillicfont{Times New Roman}
\setmonofont{CMU Typewriter Text}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}


% Numerisanje subsubcetion
\setcounter{secnumdepth}{3}

%Prikaz subsubsection u sadrzaju
%\setcounter{tocdepth}{3}

% Komanda za horizontal ruler
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

\begin{document}
I'm trying to show this coffeescript snippet with minted:

\begin{minted}[mathescape,
               linenos]{coffeescript}
  http = require 'http'

  app.get '/', (req, res) =>
    res.send 'cao'
  # Коментар / Comment : const double pi = 3.1415926535
\end{minted}
\end{document}

利用可能な等幅フォントを探します。CMU Typewriter Textがシステムフォントとしてインストールされていない場合は、

\setmonofont{cmuntt.otf}

完全な TeX ディストリビューションをお持ちの場合。

ucsXeLaTeX ではロードしないでください。これもpdfsync避けるべきです。その同期機能は、最近の TeX ディストリビューションで自動的に提供される最新の SyncTeX メカニズムよりもはるかに劣っています (-pdfsync=1ほとんどのフロントエンドで既に行われているオプション を追加します)。

ここに画像の説明を入力してください

関連情報