我想写一篇中文文章,需要插入图片。
当我插入图片时没有问题,但如果插入.pdf
则会出现以下问题:.png
! Package inputenc Error: Unicode char \u 8:实 not set up for use with LaTeX.
那是一个汉字。
我进行了编译pdflatex
,以下是与该问题相关的代码片段:
\documentclass[12pt, a4paper]{article}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{CJKutf8}
\usepackage[bookmarks=true, unicode=true, colorlinks=true, linkcolor=blue]{hyperref}
\lstset{basicstyle=\large, showstringspaces=false}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
\cleardoublepage
\pdfbookmark[1]{\contentsname}{toc}
\tableofcontents
\newpage
\section{实验设计}
\begin{figure}[ht]
\centering
\includegraphics[width=0.9\textwidth]{schema}
\end{figure}
...
schema 是图片名称。
我必须解决这个问题,因为.pdf
图片将占据整个页面。
更新:
我觉得这个问题和inputenc
软件包没什么关系。虽然昨天我把这个软件包包含进去之后问题好像解决了,但是奇怪的是,即使我排除了这个软件包,它还是编译成功了(回想起来,是因为我加了更多的字符)。
在我更改图片浮动选项后,LaTeX 再次报错,例如
\begin{figure}[!h]
\centering
\includegraphics[width=0.9\textwidth]{schema}
\end{figure}
现在我猜这是由于汉字和图片的混合方式造成的。
我至今忘记提到的事情:
问题出现在第二次运行时,错误出现在文件中,并且在注释掉*.toc
之后消失。\tableofcontents
对此有什么想法或解决方案吗?
还有一件事:
迁移到 xelatex 在一定程度上解决了这个问题。还有一个问题是书签的中文打印不正确。我在 Google 上搜索了很多,但还没有找到令人满意的解决方案。如果无法解决,恐怕我不得不迁移回去。
答案1
似乎inputenc
缺少该包。只需添加以下行
\usepackage[utf8]{inputenc}
回到序言。
更新:
问题实际上与目录的生成有关,如更新的问题所示。似乎pdflatex
没有读取*.toc
具有正确编码的文件。解决方案是使用xelatex
。以下示例在我的 Linux 安装上进行编译。
\documentclass[11pt]{article}
\usepackage{xltxtra}
\usepackage{xunicode}
\usepackage{xeCJK}
\usepackage{fontspec}
\setCJKmainfont{SimHei}
\begin{document}
\tableofcontents
\section{汉语}
汉语.
重要!
\section{English}
English.
\end{document}
粗体
您需要将BoldFont
选项传递给xeCJK
包,即\usepackage[BoldFont]{xeCJK}
。然而,这不是真正的粗体字体,因为它是由主字体组成的。
您可以通过多种方式指定所需的粗体字体。例如,
\setCJKmainfont[BoldFont={<appropriate bold font>}]{<appropriate main font>}