针对不同的编码方式,本文给出了几种解决latex中正文输入的方法。
编译环境:MACTeX+TeXstudio
- 采用UTF-8编码
方式一:使用CJKutf8中文宏包时,编译器选择pdflatex, 并在文档开始前通过命令’\AtBeginDocument{…}'和‘\AtEndDocument{…}’
来调用正文宏包
%!TEX encoding = UTF-8 Unicode
%!TEX TS-program = pdflatex
\documentclass{article}
\usepackage{CJKutf8}
\AtBeginDocument{\begin{CJK}{UTF8}{gbsn}}
\AtEndDocument{\end{CJK}}
\begin{document}
正文内容:
wo 我
\end{document}
编译结果:
方式二: 使用ctex宏包时,编译器选择xelatex。这种方式相比于第一种方式而言更便捷,只须要在导言区声明宏包ctex, 后面无须再添加命令,直接开始正文即可。
%!TEX encoding = UTF-8 Unicode
%!TEX TS-program = xelatex
\documentclass{article}
\usepackage{ctex}
\begin{document}
正文内容:
wo 我
\end{document}
编译效果同上。
- 用GBK编码
方式一:使用CJK中文宏包时,编译器选择pdflatex, 并在文档开始前通过命令
“\AtBeginDocument{…}“和”\AtEndDocument{…}"
来开启正文支持环境。
%!TEX encoding = GBK
%!TEX TS-program = pdflatex
\documentclass{article}
\usepackage{CJK}
\AtBeginDocument{\begin{CJK}{GB}{gbsn}}
\AtEndDocument{\end{CJK}}
\begin{document}
wo
我
\end{document}
编译效果同上。
方式二:基本与方式一一致,只是把\AtBeginDocument…“命令换成“\begin{CJK},\end{CJK}”
%!TEX encoding = GBK
%!TEX TS-program = pdflatex
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{GB}{gbsn}
wo
我
\end{CJK}
\end{document}
编译效果同上。
Remark:
1. ctex宏包要用xelatex编译(utf8编码), CJK, CJKutf8宏包要用pdflatex编译。
2. CJK宏包可以替换为CJK, 前者不忽略汉字之间的空格,后者忽略。在使用CJK宏包时,可能需要在“\end{CJK}“命令前加上“\newpage"或者”\clearpage"来避免出错。
3. 若在“\begin{CJK}{GB}{gbsn}”后加上“\CJKtilde”可以重定义‘~’的间隔,便于中英文混合显示时两者之间保持合适的间距。**