如何將塞爾維亞西里爾字母與 Polyglossia 一起使用並鑄造

如何將塞爾維亞西里爾字母與 Polyglossia 一起使用並鑄造

我正在使用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.

我正在使用TexStudioand xelatexwith--shell-escape選項minted

  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 發行版。

不要ucs用 XeLaTeX 加載;還pdfsync應該避免:它的同步功能比現代 SyncTeX 機制差得多,現代 SyncTeX 機制由更新的 TeX 發行版自動提供(添加選項-pdfsync=1,大多數前端已​​經這樣做)。

在此輸入影像描述

相關內容