El japonés requiere tratamientos que el texto occidental no necesita: escritura vertical, reglas de salto de línea (*kinsoku*, caracteres prohibidos al inicio o al final de línea) y espaciado entre japonés y caracteres latinos. TeX ofrece dos rutas maduras: pLaTeX / upLaTeX, de larga tradición (vía DVI y dvipdfmx), y LuaLaTeX-ja, más moderna (PDF directo, fuentes OpenType). Esta página resume el panorama y cómo empezar con cada una.
El panorama de TeX japonés
La composición japonesa se apoyó primero en el motor pTeX, desarrollado por ASCII Corporation, que llevó a TeX la escritura vertical, el *kinsoku* y el espaciado entre japonés y texto latino. El LaTeX construido encima es pLaTeX. Más tarde llegaron upTeX / upLaTeX, con interior Unicode, y después LuaTeX-ja, que porta la composición japonesa al motor moderno LuaTeX. En la práctica hay tres opciones: pLaTeX, upLaTeX y LuaLaTeX-ja (para los motores en sí, véase «La familia pTeX»).
Componer con pLaTeX / upLaTeX
Primero elige una clase de documento japonesa: las muy usadas jsclasses (jsarticle, jsbook, de Haruhiko Okumura) o la moderna jlreq, conforme a JLReq. Con upLaTeX, pasa la opción de clase uplatex. La compilación es uplatex → DVI → dvipdfmx (o ptex2pdf -l -u en un solo comando). upLaTeX maneja todo Unicode, mientras que pLaTeX sin más se limita al rango JIS X 0208.
% upLaTeX。uplatex main.tex && dvipdfmx main
\documentclass[uplatex]{jsarticle}
\begin{document}
日本語と English の混植。
\end{document}Componer con LuaLaTeX-ja
La ruta moderna es LuaTeX-ja: composición japonesa sobre LuaLaTeX, con Unicode nativo, fuentes OpenType/del sistema y salida PDF directa (sin paso DVI). Usa una clase de LuaTeX-ja (ltjsarticle, o jlreq con lualatex) y define las fuentes japonesas con \setmainjfont / \setsansjfont de luatexja-fontspec. Se compila con lualatex.
% LuaLaTeX-ja。lualatex main.tex
\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\setmainjfont{Noto Serif CJK JP}
\begin{document}
日本語と English の混植。
\end{document}La composición japonesa inserta pequeños espacios (glue) entre caracteres: kanjiskip entre caracteres japoneses y xkanjiskip en las fronteras japonés-occidental (el pequeño espacio alrededor de “日本語 and abc”). En LuaTeX-ja se ajustan con \ltjsetparameter{...}; en pLaTeX/upLaTeX las clases fijan valores por defecto razonables.
\ltjsetparameter{xkanjiskip=0.25\zw plus 1pt minus 1pt}Cuál usar
- Material existente, velocidad, estándar en artículos →
upLaTeX(jsclassesojlreq) +dvipdfmx. - Moderno, fuentes OpenType, PDF directo →
LuaLaTeX-ja(ltjsclassesojlreq); cada vez más elegido para trabajos nuevos. - pLaTeX básico está limitado a JIS X 0208, así que para documentos nuevos conviene preferir la ruta up o Lua.
jlreqfunciona con pLaTeX, upLaTeX y LuaLaTeX, y es adecuado para composición seria conforme a JLReq.