解决bibtex中提示“Command \U unavailable in encoding T1…”问题
环境\documentclass[12pt,openright,a4paper,fancyhdr,twoside]{ctexbook}\usepackage[numbers,sort&compress]{natbib}\usepackage{fontspec}\begin{document}\clearpage\phantomsection\addcontentsline{toc}{cha
环境
Document Class: ctexbook 2019/05/29 v2.4.16
TexStudio + Texlive 2019
Win10
\documentclass[12pt,openright,a4paper,fancyhdr,twoside]{ctexbook}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{fontspec}
\begin{document}
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{参考文献}
\bibliographystyle{GBT7714-2005}
\bibliography{myBib}
\end{document}
其中,
\bibliography{myBib}命令设置了bib文件为myBib.bib;\bibliographystyle{GBT7714-2005}命令表示通过GBT7714-2005.bst文件内容对参考文献的显示格式进行配置。
问题
在myBib.bib文件中,有一参考文献的作者姓名字母上带有变音符号(diacritic character/accented character): Corina S. Păsăreanu
从网上得到该参考文献的author项为:author = {Anand, Saswat and P\u{a}s\u{a}reanu, Corina S. and Visser, Willem},
但用XeLaTex编译后报如下错误Command \U unavailable in encoding T1…。
尝试了使用[1-3]中方法,在导言区添加\usepackage[T1]{fontenc},依旧报同样的错误。
解决方法
将author项改为:author = {Anand, Saswat and P{\u{a}}s{\u{a}}reanu, Corina S. and Visser, Willem},即可在姓名字母上显示对应的类似音调符号。
出现报错的原因是由于参考文献模式被设置为将作者姓名全部以大写字母的形式呈现,导致在生成
.bbl文件时把P\u{a}s\u{a}reanu转化为了P\U{A}S\U{A}REANU。此时命令\u的小写字母u被转化为了大写的字母U,进而报错*\U命令不存在。
受参考文献[5, 6]的启发,用花括号限定的内容大小写不会被改变,所以将\u{a}用花括号包裹起来。最终在.bbl*文件中生成的是:
\bibauthor{ANAND S@, P{\u{A}}S{\u{A}}REANU C~S@, VISSER W}@.
关于基本变音字符的latex命令 [4]:
\=o, \'o, \v{o}, \'o, \.o, \~o, \"o, \u{o}, \H{o}分别对应于
第二声的是单引号;第四声的那个在键盘左上角,和~共用的那个键上面。
参考
[1] Command \k unavailable in encoding OT1 (error takes me to line which doesn’t even have “\k” in it
[2] Knitr LaTeX Error: Command \C unavailable in encoding T1
[3] packages - Why should I use \usepackage[T1]{fontenc}?
更多推荐





所有评论(0)