1. XeLaTeX

1. XeLaTeX

我最近开始使用 LaTeX,但刚刚遇到了一个问题,我尝试搜索它,但显然之前没有人问过它。

我想使用日语输入法进行书写,但是当我排版时,可能会发生 3 件事:

  1. 编译时出现一些错误;
  2. 我在应该出现日文的地方得到了问号;
  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它最初是由孙文昌教授为中文设计的。

xeCJKhttp://mirrors.ctan.org/macros/xetex/latex/xecjk/xeCJK.pdf
fontspechttp://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}

zxjatypehttp://zrbabbler.sp.land.to/zxjatype.html

1.3.bxjsclasseszxjatype

bxjsclassesbundle 提供了一些日语本地类。它可以与不同的 TeX 引擎一起使用。

\documentclass{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}

\begin{document}

\section{日本語}
お早う

\textsf{こんにちわ}

\end{document}

2. LuaLaTeX

对于 LuaLaTeX,文档应该以 UTF-8 编码保存。

2.1.luatexja-fontspec打包成luatexjabundle

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包裹,必要时安装。(还有ipaexipaex-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而其他软件包则无法实现。理论上,translatortranslations软件包支持日语词典并会自动选择它们,但从 2020 年起,您需要自己编写它们。

它还具有允许您在同一文档中混合使用日语和中文的优点,尽管如果您这样做,很遗憾,您需要关闭在看到 CJK 脚本中的字符时自动更改语言的功能。Unicode 联盟的原罪是认为,如果他们只是强迫日本与中国和韩国共享相同的代码点,那么 16 位就足够了。

相关内容