XELATEX 引擎编译的捷克字母软件包清单存在问题

XELATEX 引擎编译的捷克字母软件包清单存在问题

当我尝试使用像这样定义的捷克字母时{Ř}{{\v{R}}}1,我得到了这个: 在此处输入图片描述

我的问题是带钩的字母在单词中的位置不正确。当我尝试使用 pdflatex 编译 MNWE(xltxtra已评论)时,它运行正常。我尝试使用问题解决方案解决我的问题“列表和 UTF-8 存在问题。可以修复吗?“,但它对我来说不起作用。

句子应该是这样的:“Čeština je překrásný jazyk”

MNWE:

\documentclass[12pt,a4paper]{scrbook}
\KOMAoptions{twoside=false,open=any,chapterprefix=on,parskip=full,fontsize=14pt}

\usepackage{listings}
\usepackage{xltxtra}  
\usepackage{xcolor}

\usepackage{inconsolata}
\lstset{
     literate=%
         {á}{{\'a}}1
         {í}{{\'i}}1
         {é}{{\'e}}1
         {ý}{{\'y}}1
         {ú}{{\'u}}1
         {ó}{{\'o}}1
         {ě}{{\v{e}}}1
         {š}{{\v{s}}}1
         {č}{{\v{c}}}1
         {ř}{{\v{r}}}1
         {ž}{{\v{z}}}1
         {ď}{{\v{d}}}1
         {ť}{{\v{t}}}1
         {ň}{{\v{n}}}1                
         {ů}{{\r{u}}}1
         {Á}{{\'A}}1
         {Í}{{\'I}}1
         {É}{{\'E}}1
         {Ý}{{\'Y}}1
         {Ú}{{\'U}}1
         {Ó}{{\'O}}1
         {Ě}{{\v{E}}}1
         {Š}{{\v{S}}}1
         {Č}{{\v{C}}}1
         {Ř}{{\v{R}}}1
         {Ž}{{\v{Z}}}1
         {Ď}{{\v{D}}}1
         {Ť}{{\v{T}}}1
         {Ň}{{\v{N}}}1                
         {Ů}{{\r{U}}}1    
}

\begin{document}

\begin{lstlisting}
<?php

echo 'Olá mundo!';
print 'Čeština je překrásný jazyk';
\end{lstlisting}

\end{document}

答案1

不幸的是,listings在 UTF-8 下表现非常糟糕。有listingsutf8,它需要为每个列表加载单独的文件,但仅限于pdflatex

也许你应该考虑pythontexminted或者verbments

\documentclass[12pt,a4paper]{scrbook}
\KOMAoptions{twoside=false,open=any,chapterprefix=on,parskip=full,fontsize=14pt}

\usepackage{pythontex}
\usepackage{fontspec}
\usepackage{xcolor}

\setmonofont{Inconsolatazi4}

\begin{document}

\begin{pygments}{php}
<?php

echo 'Olá mundo!';
print 'Čeština je překrásný jazyk';
\end{pygments}

\end{document}

在此处输入图片描述

相关内容