我最近开始使用 LaTeX,但刚刚遇到了一个问题,我尝试搜索它,但显然之前没有人问过它。
我想使用日语输入法进行书写,但是当我排版时,可能会发生 3 件事:
- 编译时出现一些错误;
- 我在应该出现日文的地方得到了问号;
- 沒有任何顯示。
例如,我有一个示例 .tex 文件,对其进行了编译并且它可以运行,因此我添加了一些日语以便看到“作者是 [此处为日语]”,但我看到的是“作者是 [空格]”。
我尝试查看一些指南,但没有找到任何可以解决我的问题的内容(它们太旧了,或者根本没有谈论这个问题)。
几分钟前我尝试编译这个:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{CJKutf8}
\usepackage[romanian]{babel}
\usepackage[overlap, CJK]{ruby}
\usepackage{CJKulem}
\renewcommand{\rubysep}{-0.2ex}
\newenvironment{Japanese}{%
\CJKfamily{min}%
\CJKtilde
\CJKnospace}{}
\begin{document}
\parskip 3ex
\parindent 0pt
\begin{CJK}{UTF8}{}
\begin{Japanese}
ねこ
\end{Japanese}
\end{CJK}
\end{document}
编译没问题,但问题依然存在,排版时什么都没出现,即使我应该看到“ねこ”。Linux 指南很多,但我有一台 Mac,显然没有太多这样的指南……
编辑:补充一点,如果我让它工作,解决方案是否与其他亚洲语言有关,例如韩语或中文?
答案1
1. XeLaTeX
对于 XeLaTeX,文档应以 UTF-8 编码保存。
1.1.xeCJK
包装
我建议你使用带有包的 XeLaTeX xeCJK
。例如:
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{MS Mincho} % for \rmfamily
\setCJKsansfont{MS Gothic} % for \sffamily
\begin{document}
\section{日本語}
お早う
\textsf{こんにちわ}
\end{document}
xeCJK
请参阅和的手册fontspec
以了解更多信息。
中文和韩文的工作原理相同。实际上,xeCJK
它最初是由孙文昌教授为中文设计的。
xeCJK
:http://mirrors.ctan.org/macros/xetex/latex/xecjk/xeCJK.pdf
fontspec
:http://mirrors.ctan.org/macros/latex/contrib/fontspec/fontspec.pdf
1.2.zxjatype
包装
zxjatype
内部调用xeCJK
,并针对日文进行一些配置。您还可以使用zxjafont
包来使用一些预定义字体。与 raw 相比,它更易于使用xeCJK
。例如:
\documentclass{article}
\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}
\begin{document}
\section{日本語}
お早う
\textsf{こんにちわ}
\end{document}
zxjatype
:http://zrbabbler.sp.land.to/zxjatype.html
1.3.bxjsclasses
与zxjatype
bxjsclasses
bundle 提供了一些日语本地类。它可以与不同的 TeX 引擎一起使用。
\documentclass{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}
\begin{document}
\section{日本語}
お早う
\textsf{こんにちわ}
\end{document}
2. LuaLaTeX
对于 LuaLaTeX,文档应该以 UTF-8 编码保存。
2.1.luatexja-fontspec
打包成luatexja
bundle
luatexja
该软件包为 LuaTeX 提供了日语支持。一个简单的 LaTeX 示例:
\documentclass{article}
\usepackage{luatexja-fontspec}
\setmainjfont{MS Mincho} % \mcfamily
\setsansjfont{MS Gothic} % \gtfamily
\begin{document}
\section{日本語}
お早う
\textgt{こんにちわ}
\end{document}
2.2. Bundleltjsclasses
中的类luatexja
ltjsclasses
为方便起见,提供了一些日语文档类。例如:
\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\setmainjfont{MS Mincho} % \mcfamily
\setsansjfont{MS Gothic} % \gtfamily
\begin{document}
\section{日本語}
お早う
\textgt{こんにちわ}
\end{document}
3. upLaTeX +ujclasses
upLaTeX 是日文 TeX 格式。需要 UTF-8 编码。
一个例子:
\documentclass{ujarticle}
\begin{document}
\section{日本語}
お早う
\textgt{こんにちわ}
\end{document}
使用以下方式编译
uplatex foo.tex dvipdfmx foo.dvi
4. pLaTeX + jsclasses
(相对较旧)
pLaTeX 是一种日文 TeX 格式。文档应以 SJIS 编码保存. 提供英文文档这里。
一个例子:
% SJIS encoding
\documentclass{jsarticle}
\begin{document}
\section{日本語}
お早う
\textgt{こんにちわ}
\end{document}
使用以下方式编译
pdfplatex foo.tex
或者
platex foo.tex dvipdfmx foo.dvi
5.CJK
软件包(已过时)
旧CJK
软件包仍然有用。它与 PDFLaTeX 和 LaTeX(Dvips、dvipdfmx)配合良好。如果文档只有几个宽字符,CJK
软件包可能是一个合理的选择,具有更好的兼容性。
确保你已经为CJK
软件包安装了正确的 CJK 字体。通常情况下,这是不需要的。TeX Live 和 MiKTeX 有一个wadalab
包裹,必要时安装。(还有ipaex
和ipaex-type1
)然后您可以使用:
% UTF-8 encoding
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{min}
\section{日本語}
お早う
{\CJKfamily{goth} こんにちわ}
\clearpage\end{CJK*}
\end{document}
请参阅$TEXMF/tex/latex/cjk/texinput/UTF8/c70*.fd
、$TEXMF/tex/latex/cjk/contrib/wadalab/c70*.fd
等以了解预装的 CJK 字体系列。坦率地说,这些免费的 Type1 CJK 字体不是很好。最好自己安装字体。
答案2
这篇博客文章概述了 LaTeX 对中日韩的支持:关联
这是一个最小的工作示例:
\documentclass{memoir}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{min}未練なく散も桜はさくら哉\end{CJK} \\
without regret \\
they fall and scatter\ldots \\
cherry blossoms
\end{document}
您也可以使用latex
、、dvips
组合ps2pdf
或与来进行编译pdflatex
。
答案3
您也可以尝试使用 XeteXgenzi.sty该包专门针对日语。
如果你能读懂日语,可以谷歌搜索“luajalayout”和“LuaTeX-ja”。输出的 pdf 示例看起来很不错。它似乎需要与标准 LuaTeX 分开安装,但我不确定。
答案4
另一个选择是使用babel
。截至 2020 年,这会翻译诸如“目录”之类的字符串,并允许您选择许多不同风格的计数器(例如平假名、片假名、伊吕波等)。
在 中可以将日语与其他文字(例如阿拉伯语或梵文)混合,并自动选择正确的语言和字体而无需语言和标记,babel
而其他软件包则无法实现。理论上,translator
和translations
软件包支持日语词典并会自动选择它们,但从 2020 年起,您需要自己编写它们。
它还具有允许您在同一文档中混合使用日语和中文的优点,尽管如果您这样做,很遗憾,您需要关闭在看到 CJK 脚本中的字符时自动更改语言的功能。Unicode 联盟的原罪是认为,如果他们只是强迫日本与中国和韩国共享相同的代码点,那么 16 位就足够了。