![XeLaTeX 中双引号结尾后的空格](https://linux22.com/image/235216/XeLaTeX%20%E4%B8%AD%E5%8F%8C%E5%BC%95%E5%8F%B7%E7%BB%93%E5%B0%BE%E5%90%8E%E7%9A%84%E7%A9%BA%E6%A0%BC.png)
我正在写一些非技术性文本,并尝试使用 XeLaTeX 进行排版。为简单起见,我将实际文本保存在纯文本文件中,经过某些修改(例如转义%
、\
和$
,尽管我现在不使用这些字符)后,这些文本将成为 LaTeX 的子集。如下所示:
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit.
我使用 Unicode 字符来表示引号和破折号(“
、”
、–
、—
等)。当我使用 LaTeX 时,这很有效。但是当我切换到 XeLaTeX 时,它不再在引号后添加空格。我编写了一个脚本,手动将所有字符转换为其等效字符(两个反引号、''
、--
、---
等),这可以作为一种解决方法。
例如,当我有以下代码时:
“It's a big problem,” he said.
``What's the problem,'' I asked.
其呈现形式如下:
“这是一个大问题,”他说。
“有什么问题吗?”我问道。
我的问题是,有没有办法让 XeLaTeX 正常工作而不替换所有那些字符?
以下是我的文件的序言.tex
(尽管这只是暂时的,因为我仍在处理内容)。
\documentclass[a5paper,10pt]{book}
\usepackage{fullpage}
\usepackage[serbian,english,french]{babel}
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{xeCJK}
\setCJKmainfont{Sazanami Mincho}
\usepackage[a5paper]{geometry}
答案1
这就是 的效果xeCJK
,它使用 CJK 字体来显示这些标点符号。如果您不需要日文文本(Sazanami Mincho 是一种日文字体),您可以删除它并\setCJKmainfont
执行命令。如果您只使用一点,您可以使用 来\makexeCJKinactive
禁用xeCJK
文档中大多数西方文本。很抱歉,此命令在手册的英文部分没有很好的记录。(我是 的开发人员之一xeCJK
。)
一个例子:
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{Adobe Song Std}% a Chinese font
\begin{document}
\makexeCJKinactive
“Western text,” Okey.
\makexeCJKactive
“中文”(Chinese text)
\makexeCJKinactive
\end{document}
顺便说一句,babel
可能无法与 XeLaTeX 和 很好地配合使用fontspec
。但是,polyglossia
包可能会与 冲突xeCJK
,即使你使用\makexeCJKinactive
,它们都使用 来\XeTeXinterchartoks
更改不同字形的字体。我没有测试过,因此我不太确定兼容性。
如果你只用日语字,例如人名,您不需要xeCJK
。您可以手动更改这些单词的字体。
答案2
我完全明白你的意思。我将直接开始并向你展示我的宏解决方案:
> \glqq#SEL##INS#\grqq\,
只是引号后面有\,
一个“细空格”,以强制在引号后面留一个空格。
我一直将 xelatex 与 babel 一起使用,效果非常好。我的标题如下:
%german package
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}