当我尝试使用像这样定义的捷克字母时{Ř}{{\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
。
也许你应该考虑pythontex
,minted
或者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}