xeCJK 搞乱了印刷 quot 和 --

xeCJK 搞乱了印刷 quot 和 --

在 openSuse 13.1 上使用:XeTeX 3.1415926-2.5-0.9999.3 (TexLive 2013)

在设置多语言佛教词汇表时,我遇到了一个问题,即关闭(德语)印刷引号“被移动到右侧并插入一个空格。此外,-- 不再转换为 ndash。(我尝试过删除某些软件包、各种字体或 \XeTeXlinebreaklocale,但无济于事。)

幸好 xeCJK 的文档只有中文 (/usr/local/texlive/2013/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf 抱歉,我只会日文)。XeTeX 主文档 (xetex-languages.tex,v: 2.02 2009/06/15) 确实对该软件包做了一些解释 (ch. 3.4.1, p. 79),尽管有些选项有错误。让我有点恼火的是最后一段:

3.4.2.3 兼容性 理论上,zhspacing 应该与所有宏包兼容,除了那些更改 \hskip 和 \penalty 定义的宏包,在这种情况下应进行特殊处理。在使用 hyperref 和 fancyhdr 等常见包时,我没有发现任何冲突。但是,ulem 重新定义了 \hskip 和 \penalty,并导致意外输出。请使用与 zhspacing 一起提供的 zhulem。

回到问题:

代码(本例中省略了老挝语、高棉语和缅甸语)

\documentclass[10pt,a5paper]{book}
\usepackage[inner=2cm,outer=3cm,top=2cm,bottom=4cm]{geometry}
\usepackage{layout}
\usepackage[CJKnumber]{xeCJK}
  \setCJKmainfont{Bitstream CyberCJK}
  \punctstyle{plain}
\usepackage[babelshorthands]{polyglossia}
\setmainlanguage{german} 
\setotherlanguage{sanskrit} 
\setotherlanguage{english}
\setotherlanguage[numerals=thai]{thai}
    \newfontfamily\thaifont[Script=Thai]{FreeSerif}
    \XeTeXlinebreaklocale ’th_TH’ 

 \usepackage{setspace}
\usepackage{xspace}
\usepackage{textcomp}
\usepackage[hyphens,obeyspaces,spaces]{url} 
        \usepackage[colorlinks,filecolor=black,linkcolor=black,citecolor=black,urlcolor=black,breaklinks]{hyperref}
\usepackage{color}
\usepackage{wrapfig}
\usepackage{microtype}
\widowpenalty=10000
\clubpenalty=10000
\flushbottom
% +++ Fonts  % using the Free-family Fonts saves UTF-8 hassles as most characters (e.g ā) are included. The following NOT pertinent for example, just layout
 \setmainfont{FreeSerif}
 \setsansfont{FreeSans}
 \defaultfontfeatures{Ligatures=TeX}
 \renewcommand{\headrulewidth}{0pt}
 \renewcommand{\footrulewidth}{0pt}
 \fancyfoot[LO,RE]{\bfseries\thepage}
 \usepackage[compact]{titlesec} 
 \usepackage[font=footnotesize]{caption}

 \usepackage{enumitem} % Zeilenabstand Listen
 \setlist[itemize]{itemsep=-3pt}
 \setlist[description]{itemsep=-3pt}
 \setlist[enumerate]{itemsep=-3pt}
 \setlength{\leftmargini}{1em} 

 \begin{document}

 \begin{description}
 % Some CJK and "--" here
  \item[Āgama] ({\scriptsize ch./jap.:} 阿含經.) Das chinesische Analogon der Texte des Pāli-Kanons. Die Übersetzungen, meist aus dem Sanskrit, basieren auf teilweise älteren Texten als denen der Theravadins. Quellenangaben üblicherweise aus den ersten beiden Bänden (Nr. 1--155) des 大正新修大蔵経 \textit{Taishō shinshū daizōkyō;} Tōkyō 1922--32
 % some "shifted" “ in this
\item[Ariya pugalla.] A) Ein Erleuchteter, im modernen Thailand als buddhistischer „Heiliger“ Verehrter. („Erleuchtung“ wird einem Mönch üblicherweise erst nach seinem Tode nachgesagt. Von sich selbst zu behaupten, man besäße mehr übernatürliche Kräfte als man tatsächlich hat wäre für einen Ordinierten ein \textit{Pārājikā}-Vergehen.)
% some Thai, lao etc, to add more confusion
 \item[Jātaka(m) (Wiedergeburtsgeschichten).] (\textthai{ชาดก}, \textit{chadok}, {\scriptsize Skt.:} जातक, {\scriptsize Birm.:} ဇာတ်တော်; {\scriptsize Khmer:} ជាតក, \textit{cietɑk;} {\scriptsize Lao:} (\textlao{ຊາດົກ}, \textit{sadok,} {\scriptsize Jap.:} 本生)
\end{description}
 \end{document}

截图 1:CJK 开启,问题点突出显示

截图 2:CJK 关闭,“间距正确

有什么建议吗?a) 可能是什么原因造成的?或者 b) 解决方法?

答案1

您放错了地方\defaultfontfeatures,请确保您使用的字体具有所请求的字符。

对于引号,使用时会出现奇怪的行为;但您可以输入双反引号:``,低引号可以输入双逗号,,

在下面的代码中,我删除了不必要的包并添加了字体,因此字形是正确的(在我的系统上)。对于 Birmanian 来说,结果很差,但我对此一无所知,所以我将保持原样。

\documentclass[10pt,a5paper]{book}
\usepackage[inner=2cm,outer=3cm,top=2cm,bottom=4cm]{geometry}

\usepackage[CJKnumber]{xeCJK}
\defaultfontfeatures{Ligatures=TeX}
\setCJKmainfont{Hiragino Mincho Pro}
\punctstyle{plain}

\setmainfont{Times New Roman}
\setsansfont{FreeSans}

\usepackage[babelshorthands]{polyglossia}
\setmainlanguage{german} 
\setotherlanguage{sanskrit} 
\setotherlanguage{english}
\setotherlanguage[numerals=thai]{thai}
\setotherlanguage{lao}
%\setotherlanguage{khmer} % unfortunately it doesn't exist
\newfontfamily\sanskritfont{Devanagari Sangam MN}
\newfontfamily\thaifont[Script=Thai]{FreeSerif}
\newfontfamily\khmerfont{Khmer Sangam MN}
\newfontfamily\laofont{Lao Sangam MN}
\newfontfamily\myanmarfont{Myanmar Sangam MN}
%\XeTeXlinebreaklocale ’th_TH’ 

% +++ Fonts

\begin{document}

\begin{description}
% Some CJK and "--" here
\item[Āgama] ({\scriptsize ch./jap.:} 阿含經.) Das chinesische Analogon der Texte des 
Pāli-Kanons. Die Übersetzungen, meist aus dem Sanskrit, basieren auf teilweise älteren 
Texten als denen der Theravadins. Quellenangaben üblicherweise aus den ersten beiden Bänden 
(Nr. 1--155) des 大正新修大蔵経 \textit{Taishō shinshū daizōkyō;} Tōkyō 1922--32

% some "shifted" “ in this
\item[Ariya pugalla.] A) Ein Erleuchteter, im modernen Thailand als buddhistischer 
,,Heiliger`` Verehrter. (,,Erleuchtung`` wird einem Mönch üblicherweise erst nach seinem Tode 
nachgesagt. Von sich selbst zu behaupten, man besäße mehr übernatürliche Kräfte als man 
tatsächlich hat wäre für einen Ordinierten ein \textit{Pārājikā}-Vergehen.)

% some Thai, lao etc, to add more confusion
\item[Jātaka(m) (Wiedergeburtsgeschichten).] (\textthai{ชาดก}, \textit{chadok}, {\scriptsize 
Skt.:} {\sanskritfont जातक}, {\scriptsize Birm.:} {\myanmarfont ဇာတ်တော်}; {\scriptsize Khmer:}
{\khmerfont ជាតក}, \textit{cietɑk;} 
{\scriptsize Lao:} (\textlao{ຊາດົກ}, \textit{sadok,} {\scriptsize Jap.:} 本生)

\end{description}
\end{document}

在此处输入图片描述

相关内容