我似乎遇到了字体编码冲突。我目前使用的是 LyX 2.1.1(在 Linux Mint 17 下)。我的大多数章节中都散布着中文文本,但导出为 PDF 时出现以下错误:
Use of \@chapter doesn't match its definition
...ing{latin9}Pottery Production at Huizui I}
具体来说,如您所见,只有章节标题似乎会产生此错误。当我将编码更改为 UTF8(文档 > 设置 > 语言)时,中文文本出现错误:
...in Ancient China'' {[}\begin{CJK}{GB}{}
Ŵչо\end{CJK... The control sequence at the end of the top line of your error message was never \def'ed.
虽然当时我使用了繁琐的 ERT 插入,但这在 LyX 2.0.6 下不是问题;在 2.1.1 下,我只需将语言更改为“中文”,并将计算机上的输入也更改为中文。
显然,这个问题似乎源于某些问题\@chapter
,但我不知道为什么这突然成为一个问题。
不幸的是,我不知道是否可以提供 MWE:这是一篇包含主文档和子文档的多章节论文。不过,我希望有人能提出一些我可以尝试的想法。
如果有任何有进取心的人希望我发送文件来查看,我很乐意这样做!
编辑1:
查看源代码,下面是造成问题的部分:
\usepackage{CJKutf8}
\begin{document} \begin{CJK}{UTF8}{}%
\chapter{\end{CJK}\inputencoding{latin9}Pottery Production at Huizui I}
\inputencoding{latin9}\label{chap:Chapter-4}In this chapter I analyze and discuss the primary data collected from the Huizui site and the
之后,当使用中文时:
...by Li Wenjie ``A Study of
the Pottery-Making Technology in Ancient China'' \begin{CJK}{GB}{}中国古代制陶工艺研究\end{CJK}\inputencoding{latin9}
using pottery in the National History Museum collection.
正如你所见,编码似乎可以正确地来回切换,尽管上面的代码
\begin{CJK}{UTF8}{}%
\chapter{\end{CJK}
我觉得很奇怪,因为 \chapter
最终结果是“作为”CJK。
编辑2:
实际上,最后一条评论(如下)并不完全正确;当我将编码(文档 > 设置 > 语言)更改为“Unicode (utf8)”而不是“Unicode (CJK)(utf8)”时,这种不寻常的编码并不存在。但是,CJK 文本会抛出“未找到”的错误,这仍然很奇怪,因为在序言中它有这样的代码:
\usepackage[utf8]{inputenc}
\usepackage{CJKutf8}
我认为它涵盖了 CJK 文本。我认为 LyX 添加此行是因为它检测到我在文档中使用了“中文”。
编辑3:
我现在尝试了一种基于下面 egreg 的回答的解决方法,并将开头的代码更改为:
\makeatother
\begin{document}
\begin{CJK}{UTF8}{}%
\end{CJK}\inputencoding{latin9}\chapter{Pottery Production at Huizui I}
\label{chap:Chapter-4}In this chapter I analyze and discuss the primary
data collected from the Huizui site and the archaeometric analysis...
这里,\begin{CJK}
不包含在 中\chapter
,但现在我收到中文文本错误,尽管我将编码设置为“Unicode (CJK)(utf8)”!!这让我认为这实际上是 CJK 字体系列的问题,正如 egreg 指出的那样。不确定为什么我的设置为 {GB} 而不是以前有效的 {gbsm}。
答案1
我的印象是 LyX 在编码切换方面过于热心。但是
\begin{CJK}{}
\chapter{\end{CJK}\inputencoding{latin9}Something}
根本就是错误的代码,无论用什么技巧都无法解决问题。
如果您打算使用CJKutf8
,文档编码当然应该是 UTF-8,而不是 Latin-9。如何为 LyX 设置这一点超出了我的知识范围。以下代码有效。
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{CJKutf8}
\begin{document}
\chapter{Pottery Production at Huizui I}\label{chap:Chapter-4}
In this chapter I analyze and discuss the primary data collected
from the Huizui site and the \dots
\dots\ by Li Wenjie ``A Study of
the Pottery-Making Technology in Ancient China''
\begin{CJK}{UTF8}{gbsn}中国古代制陶工艺研究\end{CJK}
using pottery in the National History Museum collection.
\end{document}
注意参数中的字体系列\begin{CJK}
。