TeX fue creado para texto occidental, por lo que configurar bien el japonés necesita extensiones dedicadas. La historia dejó varias familias para elegir, pero la respuesta corta es: para trabajos nuevos, use LuaLaTeX, guarde su fuente como UTF-8 y use la clase jlreq. Esta página explica por qué el japonés es especial y qué familia elegir.
Por qué los japoneses necesitan un trato especial
El TeX original sólo podía contener 256 caracteres por fuente (128 en sus primeros días). Colocar miles de caracteres japoneses significaba trucos como dividir una fuente en subfuentes de 256 glifos, que es exactamente la razón por la que se crearon motores con capacidad japonesa.
Las reglas de composición también difieren. El japonés necesita kinsoku (mantener la puntuación, los corchetes de cierre y el punto central al principio de una línea, y los corchetes de apertura al final de una línea), además de un espacio medido entre el texto japonés y occidental (\xkanjiskip), métricas de ancho completo y espaciado de puntuación, e incluso escritura vertical. La familia pTeX maneja todo esto puntuando cada ruptura candidata (tantos puntos de penalización si este personaje aterriza al principio o al final de una línea, etc.) y eligiendo el diseño que minimice la penalización total.
Las familias de motores japoneses.
El apoyo japonés serio comenzó con pTeX, un motor de la antigua Corporación ASCII. Takuji Tanaka luego lo extendió al japonés Unicode como upTeX. Poner LaTeX encima de estos da pLaTeX / upLaTeX, que usan la ruta tradicional: producen un archivo DVI y luego lo convierten a PDF con dvipdfmx (hoy mantenido por la comunidad de desarrollo japonesa TeX).
Los motores modernos que se difundieron internacionalmente ahora también pueden manejar japonés. El principal es LuaLaTeX + luatexja, que traslada la composición tipográfica de pTeX a LuaLaTeX, utiliza secuencias de comandos Lua y fuentes OpenType/TrueType directamente, y genera PDF sin DVI. XeLaTeX usa xeCJK, e incluso pdfLaTeX puede configurar japonés básico con el paquete CJK (CJKutf8).
| motor | Clase / paquete | Notas |
|---|---|---|
upLaTeX / pLaTeX | jsartículo, jlreq | Vía DVI; escritura vertical; tradicional; a menudo requerido por las revistas |
LuaLaTeX | ltjsarticle, jlreq + luatexja | Directo PDF, fuentes del sistema, Unicode. El mejor valor predeterminado para un nuevo trabajo |
XeLaTeX | xeCJK + bxjsartículo, etc. | Fuentes fáciles OpenType |
pdfLaTeX | article + CJKutf8 | Mínimo; ajustar el texto en \begin{CJK}{UTF8}{min} |
Clases y paquetes
La opción más moderna es la clase jlreq, de Noriyuki Abe. Diseñado en torno a los “Requisitos para el diseño de texto japonés (JLReq)” del W3C, solo necesita \documentclass{jlreq} y se ejecuta en LuaLaTeX, pLaTeX o upLaTeX (el motor se detecta automáticamente, o puede pasar platex/uplatex/lualatex como una opción de clase).
\documentclass{jlreq} % LuaLaTeX / upLaTeX / pLaTeX で動く
\begin{document}
こんにちは、\LaTeX! これは日本語の組版です。
\end{document}En la familia tradicional, jsclasses (jsarticle, jsbook, para pLaTeX/upLaTeX) es estándar y ltjsclasses (ltjsarticle, etc.) es su contraparte LuaLaTeX. Para cambiar las fuentes japonesas en LuaLaTeX, use luatexja-fontspec.
\usepackage{luatexja-fontspec}
\setmainjfont{Noto Serif CJK JP} % 明朝
\setsansjfont{Noto Sans CJK JP} % ゴシックCodificación de caracteres
Guarde su fuente como UTF-8: ese es el estándar actual. EUC-JP, Shift_JIS y ISO-2022-JP eran comunes en el pasado (convertidos con herramientas como nkf), pero seguir con UTF-8 es la opción segura ahora. upTeX y LuaTeX son nativos de Unicode, y el pLaTeX moderno también asume la entrada UTF-8. Tenga cuidado con los finales de línea mixtos (LF vs CRLF).
cual elegir
- ¿Empezar de nuevo? LuaLaTeX + jlreq (o ltjsarticle). Fuentes del sistema OpenType, directo PDF, fuerte Unicode.
- ¿Quieres velocidad o tienes activos existentes? upLaTeX + jsarticle. Construcciones rápidas y una larga trayectoria para los japoneses.
- Si tu lugar exige pLaTeX, síguelo. Algunas clases de diario asumen pLaTeX.
- ¿Mayormente inglés con un poco de japonés? XeLaTeX + xeCJK o pdfLaTeX + CJK pueden ser suficientes.
Una configuración inicial segura
Para un documento japonés nuevo, primero obtenga un PDF con la fuente UTF-8, LuaLaTeX y jlreq. Avance hacia upLaTeX o pLaTeX solo cuando tenga una razón concreta: un lugar requiere pLaTeX, heredó una fuente antigua de jsarticle o necesita un control detallado de escritura vertical. La cuestión no es luchar contra el hecho de que "los japoneses no imprimirán" al mismo tiempo que intentas escribir el artículo.
- No escriba el cuerpo del texto en japonés con
pdfLaTeX; Si ve errores o mojibake, verifique primero el compilador. - Si usa
ltjsarticleojlreqpara LuaLaTeX, asegúrese de que el compilador también sea LuaLaTeX. - Para trabajos en coautoría, registre el motor, la codificación y la clase en una línea del README.