Escribiendo un mismo documento de LaTeX en dos idiomas

CTAN Lion

Soy fanático de LaTeX. Creo que es la forma correcta de escribir documentos, pues muchas veces en procesadores de texto WYSIWYG (como MS Word), el documento puede verse bien, pero estar semánticamente incorrecto, y eso me molesta. LaTeX no te permite cometer esos errores.

Entonces tengo varios documentos escritos en LaTeX y, hasta ahora, tenía el problema de que algunos de ellos los necesitaba tanto en inglés como en español. Mi respuesta a este predicamento, como hubiera optado la mayoría, era escribir el documento en un idioma, crear una copia de este, y traducir la copia al segundio lenguaje. Sin embargo sentía que no era la manera correcta de hacer las cosas.

Sabía que tenía que haber una forma de escribir el código en ambos lenguajes y seleccionar uno de estos al momento de compilar.

Me puse a investigar y encontré una respuesta que me gustó en un foro de LaTeX:

Hacer un archivo .tex con comandos definidos como en el siguiente ejemplo:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[spanish,english]{babel}

\newcommand{\langes}[1]{%
  \ifes\selectlanguage{spanish}#1\fi}
\newcommand{\langen}[1]{%
  \ifen\selectlanguage{english}#1\fi}

\begin{document}

\section{%
\langes{Hola!}
\langen{Hello!}}

\langes{Éste texto está en Español.\\
las reglas tipográficas españolas
\textit{deberían} aplicarse.}
\langen{This is text in English.\\
English typographic rules \textit{should} apply.}

Y compilarlo de la siguiente manera si lo queremos en español:

xelatex -jobname=document-es "\newif\ifes\newif\ifen\estrue \input{document}"

o en en inglés:

xelatex -jobname=document-en "\newif\ifes\newif\ifen\entrue \input{document}"

(Donde "document" es el nombre del archivo .tex y "document-es/document-en" es el nombre que tendrán los PDFs generados). Dando como resultado los siguientes documentos respectivamente:

Documento en español

Documento en inglés

Estoy muy satisfecho con esta técnica, ya empecé a aplicarla a mis documentos.

Etiquetado LaTeX