Ubuntu下解决LaTeX不显示中文的问题

前言

  最近在看LaTeX的内容,遇到的第一个问题就是输入中文不显示。为了解决这个问题,查了资料才知道是没有使用中文处理的宏包CJK,导入包之后就可以正常的显示了。

问题代码

\documentclass{article}  
\usepackage{CJK}       
\begin{document} 
    测试中文显示     
\end{document}

  这个代码运行之后是不能显示中文的,需要改成下面的代码:

\documentclass{article}  
\usepackage{CJK}       
\begin{document} 
    \begin{CJK*}{UTF8}{gkai} 
     测试中文显示
    \end{CJK*}     
\end{document}

  这样运行之后就可以显示了,如下:


Ubuntu下解决LaTeX不显示中文的问题_第1张图片

  那么细心的朋友可能就要问了,你这显示的是楷体啊,如果我要用宋体怎么办?这肯定是有办法的,只要你的系统里有宋体,那么就一定可以显示出来。然后问题来了,怎么知道系统里的字体库呢?下面就说说怎么得到系统里的字体库。

  因为我使用的Ubuntu系统,所以这里我就只说说Ubuntu下的方式。我们可以在终端使用dpkg -l|grep latex命令来得到字体库,如下:


Ubuntu下解决LaTeX不显示中文的问题_第2张图片

  可以看到,有gbsn,gkai,bkai,bsmi等字体可以是用,我们来测试一下:

\documentclass{article}  
\usepackage{CJK}       
\begin{document} 
    \begin{CJK*}{UTF8}{gkai} 
     测试中文显示
    \end{CJK*}

    \begin{CJK*}{UTF8}{gbsn} 
     测试中文显示
    \end{CJK*}

    \begin{CJK*}{UTF8}{bkai} 
     测试中文显示
    \end{CJK*}

\end{document}

  运行结果如下:


Ubuntu下解决LaTeX不显示中文的问题_第3张图片

  能够看到的是gkai和gbsn都可以正常使用,但是bkai却不能使用,具体的原因我还没找到,毕竟刚开始接触。

  这样支持的字体类型也太少了,能不能像LibreOffice那样使用系统提供的字体呢,就是下面的字体:


Ubuntu下解决LaTeX不显示中文的问题_第4张图片

  这样的话灵活性就会很大了,我们安装了什么字体就可以使用什么字体,到底该怎么实现呢?不抛弃不放弃的我终于找到了,那就是使用包{fontspec}。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{SimSun}          %宋体
\newfontfamily\huawenxingkai{华文行楷}  %华文行楷
\newfontfamily\youyuan{幼圆}     %幼圆
\newfontfamily\huawenhupo{华文琥珀}  %华文琥珀

\begin{document}
我是正文,我使用的是宋体,我是正文,我使用的是宋体,我是正文,我使用的是宋体,
重要的事情说三遍!\\
{\huawenxingkai 这里使用华文行楷}\\
{\youyuan 这里使用幼圆}\\
{\huawenhupo 这里使用华文琥珀}

\end{document}

  运行如下;


Ubuntu下解决LaTeX不显示中文的问题_第5张图片

  可以看到,我们可以使用\newfontfamily设置自己的字体,很方便。需要注意的是使用fontspec的话需要使用xelatex编译。

你可能感兴趣的:(LaTeX)