Mark Alford. Last updated: 2011-Sep-27.
For inputting Japanese characters in Linux, see
Viewing and creating Japanese documents
under GNU/Linux.
If you just want to create a Japanese text file,
see How to create Japanese language documents under GNU/Linux using emacs.
Typesetting of Chinese, Japanese, and Korean is available in LaTeX via the CJK package. These instructions work for the TeX Live distribution, which is part of major Linux distributions such as Fedora (starting at Fedora 9), Ubuntu, etc. For instructions appropriate to the older teTeX distribution, see the previous version of this document.
These are the steps that I followed to get Japanese. They work for CJK-4.8.2 (2008-12-29 version) under Fedora 9, 10, 11, 13.
I did everything as root, because I was adding CJK as a system-wide component, although I put it in a separate tree, /usr/local/share/texmf/, so that it is not mixed up with the main TeX installation and does not get clobbered when TeX is upgraded. But if the sysadmin has set up the TeX search paths correctly, you should be able to install CJK for your personal use by putting everything in $HOME/texmf/ and $HOME/bin/, without being root.
> cp -r ~/cjk-current/texinput /usr/local/share/texmf/tex/latex/CJK
> cd ~/cjk-current/utils/hbf2gf > ./configure --prefix=/usr/local/ \ --with-kpathsea-include=/usr/include \ --with-kpathsea-lib=/usr/lib > make > make installThe with-kpathsea-include dir is wherever kpathsea/kpathsea.h (note: not kpathsea.h) lives. The with-kpathsea-lib dir is wherever libkpathsea.a lives. (Use the locate command, eg locate libkpathsea.a). Make sure that the hbf2gf command is now accessible ("which hbf2gf").
> tar zxf kanji48.tar.gz > mv kanji48/texmf/* /usr/local/share/texmf
---- MISCFONTS = .;$TEXMF/fonts/misc//;$TEXMF/fonts/hbf// ----For non-root installation it may be possible to set this as an environment variable (see ~/cjk-current/doc/INSTALL and man hbf2gf).
> mktexlsr # (same as "texhash")
> latex japanese_template.cjk
You should see output indicating that it found the CJK files:
(/usr/local/share/texmf/tex/latex/CJK/CJK.sty (/usr/local/share/texmf/tex/latex/CJK/mule/MULEenc.sty) (/usr/local/share/texmf/tex/latex/CJK/CJK.enc)) (/usr/share/texmf/tex/latex/base/article.cls Document Class: article 2005/09/16 v1.4f Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size12.clo)) (/usr/local/share/texmf/tex/latex/CJK/ruby.sty) (./japanese_template.aux) (/usr/local/share/texmf/tex/latex/CJK/standard.bdg) (/usr/local/share/texmf/tex/latex/CJK/standard.enc) (/usr/local/share/texmf/tex/latex/CJK/standard.chr) (/usr/local/share/texmf/tex/latex/CJK/JIS/c40song.fd) [1] (./japanese_template.aux) ) Output written on japanese_template.dvi (1 page, 700 bytes). Transcript written on japanese_template.log.
Now look at the results:
> xdvi japanese_template
You should see Japanese!
> kpsewhich jsso1202.tfm /usr/local/share/texmf/fonts/tfm/jisx0208/jsso12/jsso1202.tfmTo check if MISCFONTS is set right:
> kpsewhich -progname=hbf2gf -expand-var='$MISCFONTS' ...{...,!!/usr/local/share/texmf,...}/fonts/hbf//where "..." is various other paths in the texmf directory structure. Another check:
> kpsewhich -progname=hbf2gf -format='misc fonts' kanji48.hbf /usr/local/share/texmf/fonts/hbf/jisx0208/kanji48/kanji48.hbf
If you want to do Japanese LaTeX then you will keep each file in two forms. There will be file.tex, which is encoded however you like (I will use Unicode, but emacs offers many others), and which you edit and work on. And there is file.cjk, which is JIS-encoded, and which can be LaTeXed.
> cd ~/cjk-current/utils/lisp > cp cjktilde.el /usr/local/share/emacs/site-lisp/ > cp emacs/cjk-enc.el /usr/local/share/emacs/site-lisp/
---- (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) (load-library "cjk-enc") (global-set-key "\C-c\C-w" 'cjk-write-file) ; CTRL C CTRL W writes CJK file ----
---- %-*- coding: utf-8; current-input-method: japanese -*- \documentclass[12pt]{article} \usepackage[overlap, CJK]{ruby} \CJKencfamily{JIS}{song} \renewcommand{\rubysep}{-0.3ex} \begin{document} This is in English. これは 日本語 です。 \end{document} ----Note that we specify the coding and input method in a TeX comment on the first line. (Alternatively, this can be done by explicit commands to emacs.) When you load the file into emacs, it will automatically detect the coding and display the characters correctly.
> latex file.cjk # [NOT file.tex!]Then you can use xdvi, dvips, etc to view and print it.
For more general information on Japanese and computing, see Jim Breen's Japanese page.
Please sent comments, corrections, improvements to alford(at)physics.wustl.edu. Thanks to those who have done so, including Paul Wyatt of Toshiba and Andrew A. Adams of Reading University.