Aller au contenu

Different packages exist to support Japanese typesetting for various LaTeX engines, though not all packages fully support all Japanese typesetting conventions e.g. vertical typesetting. This help article briefly outlines how to typeset Japanese with pdfLaTeX, XƎLaTeX, pTeX and LuaLaTeX.

# CJKutf8 package with pdfLaTeX

The CJKutf8 package is sufficient if you would like to compile with pdfLaTeX.

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}

\begin{CJK}{UTF8}{min}
\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる
\end{CJK}

\bigskip

Outside the environment Latin characters may be used.

\begin{CJK*}{UTF8}{goth}
\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる
\end{CJK*}
\end{document}


This example produces the following output, demonstrating Japanese text typeset using two font families:

The line \usepackage{CJKutf8} imports the CJKutf8 which enables UTF8 encoding for Chinese, Japanese and Korean characters.

In this case, every block of Japanese text must be typed inside a \begin{CJK*}{UTF8}{min} environment. In that environment UTF8 is the encoding and min (Mincho family) is the font to be used in section 1 of the example.

As demonstrated by section 2 of the example, you can replace min with goth to use the Gothic family; however, CJKutf8 and pdfLaTeX are not capable of easily using other fonts.

# xeCJK package with XeLaTeX

XeLaTeX offers the possibility of using OpenType and TrueType fonts, and the xeCJK package provides support for Chinese, Japanese and Korean typesetting.

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{IPAMincho}
\setCJKsansfont{IPAGothic}
\setCJKmonofont{IPAGothic}
\begin{document}

\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる

\bigskip

And you can also use Latin characters within your Japanese document.

\bigskip

\begin{verbatim}
このテキストは、別のフォントを持つことになります

This is a verbatim environment using a monospaced font.
\end{verbatim}
\end{document}


This example produces the following output:

Below is a description of each command:

• \usepackage{xeCJK}: this includes the package xeCJK which allows use of Chinese, Japanese and Korean fonts in a document to be compiled with XeLaTeX. See this article for help setting your Overleaf project's compiler.
• \setCJKmainfont{IPAMincho}: sets the main font used for this document.
• \setCJKsansfont{IPAGothic}: sets the font to be used in elements that require the sans family font.
• \setCJKmonofont{IPAGothic}: sets the font to be used in elements that require the monospace family font. In the example the Japanese text inside the verbatim environment uses this font.

Because Google Noto Fonts suitable for use with CJK typesetting are stored on Overleaf's servers, we can use them to repeat the previous example.

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK TC}
\setCJKsansfont{Noto Sans CJK TC}
\setCJKmonofont{Noto Sans Mono CJK TC}
\begin{document}

\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる

\bigskip

And you can also use Latin characters within your Japanese document.

\bigskip

\begin{verbatim}
このテキストは、別のフォントを持つことになります

This is a verbatim environment using a monospaced font.
\end{verbatim}
\end{document}


This example produces the following output:

# The pTeX engine

Many journals and conference proceedings published in Japan use a specific Japanese LaTeX distribution called pLaTeX, which is based on the jsarticle or jsbook document classes. pLaTeX supports many Japanese typesetting conventions, including vertical typesetting.

## Using pLaTeX on Overleaf

Although pLaTeX is not listed as a user-selectable compiler in Overleaf's Compiler menu drop-down:

Overleaf can be configured to use pLaTeX by adding a small configuration file to your project: that file is called latexmkrc. Here are the steps to do that:

1. set your project's compiler setting to LaTeX
2. add a new, empty, file called latexmkrc (no file extension) to your project
3. add the following lines to latexmkrc:

$latex = 'platex';$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';$makeindex = 'mendex %O -o %D %S';


If you are using a template that was designed for uplatex instead, then change platex to uplatex, and pbibtex to upbibtex.

The following listings show a basic pLaTeX document together with a latexmkrc file used to compile it on Overleaf. Use the link below the listings to open these files on Overleaf.

pLaTeX-example.tex

\documentclass{jsarticle}
\bibliographystyle{jplain}
\title{A pLaTeX example}
\begin{document}

あらかじめ文章中に\TeX{}コマンドと呼ばれる組版用の指示を混在させ\ldots

\section{導入}
こんにちは世界！
\end{document}


latexmkrc

$latex = 'platex';$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';$makeindex = 'mendex %O -o %D %S';


This example produces the following output:

# luatex-ja package bundle with LuaLaTeX

The luatex-ja package bundle is a relatively new effort to port pTeX's typesetting capabilities to LuaLaTeX, to leverage LuaLaTeX's scripting engine and OTF/TTF support. (Remember to set your project's compiler to LuaLaTeX.) The easiest way to use it is by loading the ltjbook, ltjarticle or ltjreport document class:

\documentclass{ltjarticle}
\begin{document}
\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる
\end{document}


This example produces the following output:

Or, if you would like to use a different document class, then you can load the luatex-ja package instead, like this:

\documentclass{scrartcl}
\usepackage{luatexja}
\begin{document}
\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる
\end{document}


This example produces the following output:

To load your own preferred fonts for the Japanese text, you'll also need the luatexja-fontspec package:

\usepackage[match]{luatexja-fontspec}
\setmainjfont{TakaoMincho}
\setsansjfont{TakaoGothic}
\setmonojfont{Komatuna}


See the luatex-ja package documentation for its other (very extensive) Japanese typesetting features and customisations.

# The jlreq class

The jlreq class is a more recent choice for typesetting Japanese documents. You can simply set jlreq as the document class, but it requires LuaLaTeX, pLaTeX or upLaTeX as the compiler.

\documentclass{jlreq}
\begin{document}
\section{これは最初のセクションである}

フォントはまた、数学的な形態および他の環境で使用することができる
\end{document}


This example produces the following output:

The Overleaf Gallery contains a template demonstrating jlreq and LuaLaTeX, which you can open here. The jlreq package documentation contains details for the Japanese typesetting features and customisations offered.