Ich verwende es, polyglossia
um ein Dokument in serbischer kyrillischer Schrift zu schreiben, aber wenn ich versuche, es minted
zur Hervorhebung der Syntax des Quellcodes zu verwenden, tritt ein Fehler auf (obwohl ein PDF generiert wird):
polyglossia: The current roman font does not contain the Cyrill(polyglossia) Please define \cyrillicfont with \newfontfamily. ...l=lst:rssfeeder,caption=RssItemView.java]
Es wird ein PDF generiert, jedoch ohne kyrillische Wörter in minted
der Umgebung. Beachten Sie, dass kein Fehler auftritt, wenn ich nicht verwende minted
.
Ich habe cyrillicfont
in Premble definiert:
\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
Ich versuche, diesen Ausschnitt mit Folgendem anzuzeigen minted
:
\begin{minted}[mathescape,
linenos]{coffeescript}
http = require 'http'
app.get '/', (req, res) =>
res.send 'cao'
# Коментар / Comment : const double pi = 3.1415926535
\end{minted}
Das PDF wird generiert, der Code wird angezeigt, aber statt Коментар stehen Leerzeichen. Folgende Fehler und Warnungen werden angezeigt:
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.
Ich verwende TexStudio
und xelatex
mit --shell-escape
Option für minted
.
- Warum wird der Fehler beim Definieren der kyrillischen Schriftart angezeigt, wenn ich sie in die Präambel aufgenommen habe?
- Wie werden kyrillische Wörter in der Umgebung angezeigt
minted
?
Antwort1
Sie müssen eine Monospace-Schriftart definieren, die Kyrillisch unterstützt; die Standardschriftart (Latin Modern Mono) tut dies nicht.
\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}
Suchen Sie nach einer Monospace-Schriftart, die Ihnen zur Verfügung steht. Wenn CMU Typewriter Text nicht als Systemschriftart installiert ist, sollten Sie Folgendes tun:
\setmonofont{cmuntt.otf}
vorausgesetzt, Sie haben eine vollständige TeX-Distribution.
Nicht ucs
mit XeLaTeX laden; pdfsync
sollte auch vermieden werden: Seine Synchronisierungsfunktionen sind viel schlechter als der moderne SyncTeX-Mechanismus, der von den neueren TeX-Distributionen automatisch bereitgestellt wird (fügen Sie die Option hinzu -pdfsync=1
, was die meisten Front-Ends bereits tun).