![在classicthesis模板文档中添加几个中文字符](https://linux22.com/image/338146/%E5%9C%A8classicthesis%E6%A8%A1%E6%9D%BF%E6%96%87%E6%A1%A3%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%87%A0%E4%B8%AA%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6.png)
这是如何使用 CJK 包的最小示例,按照说明进行操作这里在我的系统上运行良好:
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
你好
You can mix latin letters and chinese.
\end{CJK}
\end{document}
\begin{CJK}{UTF8}{gbsn}
然而,当我将带有和中间夹有一句中文短句的部分插入\end{CJK}
到我的文档中时,编译器(pdflatex)发出抱怨并抛出一堆Undefined control sequence....
指向 之后行的错误\end{CJK}
。
我正在编写的文档是 的一个略微调整的版本classicthesis
(由 支持arsclassica
)。大部分内容都是法语的,所以我加入了一些软件包(主要是为了让 guillmets « » 和冒号、问号和感叹号之间的间距正确)。
其选项中包含的软件包有:
\usepackage [%eulerchapternumbers,%eulermath,drafting,
listings,listsseparated,beramono,pdfspacing,%listings,
subfig,parts,dottedtoc]{classicthesis}
\usepackage[french]{arsclassica}
\usepackage[left=3.5cm,right=2.5cm,top=2.5cm,bottom=2cm,includefoot]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american,french]{babel}
%For French quotation:
\usepackage[french=guillemets]{csquotes}
%For a few chinese words:
\usepackage{CJK}
\begin{document}
\raggedbottom
\selectlanguage{french}
des langues étrangères appliquées et d'effectuer le travail à l'hôtel...
Bien que j'aie rencontré des difficultés car ce sont mes...
\begin{CJK}{UTF8}{gbsn}
文章
\end{CJK}
des langues étrangères appliquées et d'effectuer le travail à l'hôtel...
\end{document}
错误:Undefined control sequence. des langues é
Undefined control sequence. des langues étrangè
编辑:如果整个内容都是英文(即没有带重音的字符 á è é à... ),那么编译没有问题。在 CJK 环境启动之前,编译一切正常,但在环境CJK
结束后,编译器开始抱怨带重音的法语字符:
(在我的“完整”版本中,它甚至没有导出输出——也许它在出现太多错误后停止了)
所以我猜想原因在于 classicthesis 所基于的 documentclass,或者字体等其他设置,但我不知道如何修复这个问题。我该如何更改包含包的选项或更改 .sty 文件以在法语内容之间包含一个中文句子?
答案1
在一个简单的例子中,这个错误很容易重现:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%For a few chinese words:
\usepackage{CJK}
\begin{document}
des langues étrangères
\begin{CJK}{UTF8}{gbsn}
文章
\end{CJK}
des langues étrangères
\end{document}
解决方案是使用
\usepackage[encapsulated]{CJK}
或较新的
\usepackage{CJKutf8}
代替CJK
。