This page is valid strict XHTML. If it is not rendered properly on your screen, you may be using an old or non-compliant browser. Try Mozilla.
Mark Alford. Last updated: 2007-Jan-30.
If you just want to create a shift-JIS-encoded Japanese text file then skip to the section on Japanese input in emacs below.
Chinese, Japanese, and Korean language support is available in LaTeX via the CJK package. These are the steps that I followed to get Japanese. They work for CJK-4.7.0 (2006-10-17 version) under Fedora Core 6, and they worked previously for CJK-4.5.2 (2004-04-29 version) under Fedora Core 1 to 5, and for CJK-4.4.0 (Apr 2001) under RedHat 6.2, 7.x, 8.0.
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 teTeX and does not get clobbered when teTeX 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. NB: the command "locate <filename>" is very useful. Make sure that the hbf2gf command is now accessible ("which hbf2gf").
> cd /usr/local/share/ > cp ~/CJK_fonts/kanji48.tar.gz . > tar -zxf kanji48.tar.gz > rm kanji48.tar.gzSince kanji48.tar.gz contains the files in the proper directory structure, it is sufficient to unpack it in a directory that contains the target texmf directory.
---- 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). I expected to have to add a new variable, HBF2GFINPUTS = $TEXMF/hbf2gf// to texmf.cnf, which tells it where to find .cfg files, but for me it works fine without it.
> kpsewhich -progname=hbf2gf -expand-var='$MISCFONTS'
> mktexlsr # (same as "texhash")
Now see if it works. Unfortunately, the example files given in recent versions of CJK do not work! So try my example, (japanese_template.cjk):
> 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 2001/04/21 v1.4e 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, 632 bytes). Transcript written on japanese_template.log.
Now look at the results:
> xdvi japanese_template
You should see Japanese!
If you just want to create shift-JIS encoded Japanese text files, you can skip steps 2 and 3 below, and ignore all mentions of ".ckj" files. 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 shift-JIS encoding, 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-20.3/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: japanese-shift-jis; current-input-method: japanese -*- \documentclass[12pt]{article} \usepackage[overlap, CJK]{ruby} \CJKencfamily{JIS}{song} \renewcommand{\rubysep}{-0.3ex} \begin{document} This is in English. { łB \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.) Possible codings include emacs-mule, japanese-euc, japanese-shift-jis, etc. 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.