我将代码从 Miktex 移到 Texlive。但出现错误:
在 Xelatex 中运行
! Undefined control sequence.
\chaptername ->第\CJKnumber
{\thechapter }章
l.33 \chapter{绪论}
?
我最少的工作是:
% !Mode:: "TeX:UTF-8"
\documentclass[12pt,a4paper,oneside,openany]{book}
\usepackage{fontspec,xunicode,xltxtra}
\usepackage[slantfont,boldfont,CJKnumber]{xeCJK}
\usepackage[bookmarksnumbered]{hyperref}
\usepackage{subfig}
\usepackage{titlesec}
\usepackage[titles,subfigure]{tocloft}
\usepackage[numbers,square,super,sort&compress]{natbib}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont{Times New Roman}
\setCJKmainfont[BoldFont=SimHei,ItalicFont=KaiTi]{SimSun}
\setCJKmonofont[BoldFont=SimHei]{SimSun}
\setCJKsansfont{KaiTi}
\settowidth{\parindent}{空格}
\setCJKfamilyfont{youyuan}{幼圆}
\renewcommand{\contentsname}{目\hspace{1.5em}录}
\renewcommand{\chaptername}{第\CJKnumber{\thechapter}章}
\titleformat{\chapter}[block]{\bfseries\huge\filcenter}{\chaptertitlename}{1em}{}
\renewcommand{\bibname}{参考文献}
\renewcommand{\cftchappresnum}{第\CJKnumber}
\renewcommand{\cftchapaftersnum}{章}
\renewcommand{\cftchapnumwidth}{4em}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}
\begin{document}
\tableofcontents
\chapter{绪论}
\section{引言}
\end{document}
答案1
据我从包代码中了解,该选项CJKnumber
已被弃用,事实上你会发现
*************************************************
* xeCJK warning: "option-deprecated"
*
* The `CJKnumber' option is deprecated.
* You may load the package `CJKnumb' after xeCJK to use its function.
*
*************************************************
在日志文件中。解决方案:
\usepackage{fontspec}
\usepackage[slantfont,boldfont]{xeCJK}
\usepackage{CJKnumb}
避免装载xunicode
和xltxtra
。指示这样做的说明已经过时了。