\documentclass{article} \usepackage[spanish]{babel} \let\tldocenglish=1 \usepackage{tex-live} %\usepackage[T1]{fontenc} %\usepackage[utf8]{inputenc} \usepackage{hyperref} \begin{document} \title{% {\huge \textit{La Guía de \TeX\ Live---2020}}} \author{Karl Berry, editor \\[3mm] \url{https://tug.org/texlive/}} \date{Marzo del 2020} \maketitle \begin{multicols}{2} \tableofcontents %\listoftables \end{multicols} \section{Introducción} \label{sec:intro} \subsection{\TeX\ Live y la Colección de \TeX\ } Este documento describe las principales características de la distribución\Dash \TeX{} y los programas relacionados con el mismo, en los sistemas \GNU/Linux, Unix, \MacOSX, y Windows. Puedes adquirir \TL{} por descarga, o mediante el \TK{} \DVD, el cual es distribuido por los grupos de usuarios de \TeX{} a todos sus miembros, o de cualquier otra manera. La sección \ref{sec:tl-coll-dists} describe el contenido del \DVD. Ambos \TL{} y el \TK{} son posible gracias al esfuerzo por los grupos de usuarios de \TeX{}. Este documento principalmente describe \TL{}. \TL{} incluye ejecutables para \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, \BibTeX{} y muchos más programas; una extensa colección de macros, fuentes, y documentación; y también ayuda para la composición de documentos de imprenta, mediante varios scripts que se usan alrededor del mundo. Para un sumario de los cambios más significativos en esta edición de \TL{}, vea el final de este documento, section~\ref{sec:history} (\p.\pageref{sec:history}). \htmlanchor{plataformas} \subsection{Respaldo con el sistema operativo} \label{sec:os-support} \TL{} contiene los binarios para muchas de las plataformas, incluyendo a \GNU/Linux, \MacOSX, y Cygwin. El código original puede ser compilado en todas las plataformas para las cuales no se han proveído los binarios. En cuanto a Windows: Windows 7 y versiones más recientes son también respaldadas. Windows Vista puede aún funcionar en la mayoría de los casos, pero en cuanto a Windows \acro{XP} y versiones anteriores a este, \TL{} ya no funcionará más. No hay ejecutables especiales de 64-bit para Windows, pero los ejecutables de 32-bit deben funcionar sin problema alguno, en los sistemas de 64-bit. Vea la sección~\ref{sec:tl-coll-dists} para soluciones alternativas, tanto para Windows como para \MacOSX. \subsection{Instalación básica de \protect\TL{}} \label{sec:basic} Puedes instalar \TL{} mediante el \DVD{} o por descarga en el Internet (\url{https://tug.org/texlive/acquire.html}). El instalador del net, es pequeño, y descarga todo sin mayores problemas. El instalador del \DVD{} te permite instalar a un disco local. No se puede ejecutar directamente \TL{} desde la \TK{} \DVD{} (o la imagen \code{.iso}), pero puedes preparar una instalación, e.g, mediante el uso de un disco portátil de \USB{} (vea la sección~\ref{sec:portable-tl}). La instalación se detalla más tarde en las secciones (\p.\pageref{sec:install}), pero aquí hay un breve sumario: \begin{itemize*} \item El script de la instalación es nombrado \filename{intall-tl}. El mismo puede operar en el modo gráfico o ``modo gui'' una vez dada la opción \code{-gui} (estándar en Windows y Macs), o un modo de texto mediante \code{-gui=text} (estándar en todos los otros sistemas operativos). En las plataformas Unix, el anterior Perl/Tk que junto con el modo mago o \code{wizard} precedían los actuales modos, se encuentran aún disponibles siempre y cuando Perl/Tk esté instalado; vea la sección \ref{sec:wininst} de Windows para más detalles. \item Otro de los programas que se instala, es el `\TL\ Manager', nombrado \prog{tlmgr}. Que al igual que el instalador, puede usarse con el mode \GUI{} o mediante el modo de texto. Puedes usarlo para instalar y desinstalar paquetes, y para realizar varias configuraciones. \end{itemize*} \htmlanchor{security} \subsection{Consideraciones de seguridad} \label{sec:security} Con lo mejor de nuestro conocimiento, la base de los programas que constituyen \TeX\ como tal, es (y siempre han sido) extremadamente robusta. Sin embargo, los programas que han sido contribuidos a \TeX\ Live quizás no estén al mismo nivel, a pesar de sobresalientes esfuerzos. Y de más está recalcar, que se debe tener precaución y cuidado, cuando se ejecutan aquellos programas originales no confiables. Esta necesidad de cautela es especialmente urgente en Windows, debido entre tantos factores a que Windows encuentra los programas en el directorio presente, antes cualquier otro, sin tener en cuenta el search path, o la ruta de acceso que se haya establecido. Y esto trae consigo un sin número de ataques. Y aunque hemos logrado cerrar muchos de estos huecos, indudablemente algunos de estos, aún permanecen ahí, especialmente con programas de third-party, o tercera-persona. Por lo tanto, recomendamos que se revisen los ficheros sospechosos en el actual directorio, principalmente aquellos que son ejecutables (como los scripts y binarios). Normalmente, no deben estar presentes, ni tampoco se recrean mediante el simple procesamiento o compilación de un documento. Finalmente, \TeX\ (y todos sus programas acompañantes) pueden escribir archivos cuando se están procesando los documentos, una característica que puede ser abusada de varias maneras. Aún así, procesar documentos desconocidos, en un nuevo subdirectorio, es lo más recomendable. \subsection{Consiguiendo ayuda} \label{sec:help} La comunidad de \TeX{} es activa y amistosa, y las preguntas más complicadas, son respondidas. Sin embargo, el respaldo ofrecido es informal, debido a que el mismo es ofrecido por voluntarios y lectores casuales. De esta manera es importante que se familiarice con el formato antes de hacer una pregunta. (Si prefieres un respaldo garantizado y comercial, puedes abstenerte de \TL{} y comprar un sistema del vendedor; \url{https://tug.org/interest.html#vendors} tiene una lista.) Aquí está una lista de recursos, aproximadamente en el orden, por el cual las usamos: \begin{description} \item[Comenzando] Si eres un principiante con \TeX, la página en el web \url{https://tug.org/begin.html} te ofrece en Inglés una introducción con el sistema. \item [\TeX{} FAQ] El \TeX{} FAQ es un compendio de preguntas y respuestas, también en Inglés, desde las más básicas, hasta las más arcanas. Y está incluido en \TL{} en \OnCD{texmf-dist/doc/generic/FAQ-en/}, y está disponible en el Internet a través de la página en \url{https://www.tex.ac.uk.faq}. Por favor, vaya allí primero. \item [\TeX{} Catalogue] Si estás interesado en un específico paquete para un proyecto, fuente, programa, etc., el Catálogo de \TeX{} sería el primer lugar donde encontrarías esta información. Es una colección inmensa de todo lo relacionado con \TeX{}. Vea por ejemplo \url{https://ctan.org/pkg/catalogue/}. \item [\TeX{} Recursos en el web] La página en el web \url{https://tug.org/interest.html} tiene muchos enlaces relacionados con el sistema \TeX{}, y en particular sobre muchos libros, manuales, guías y artículos relacionados con este sistema. \item [Archivos de ayuda] Los principales foros de ayuda incluyen la comunidad de \LaTeX{} en \url{https://latex-community.org} el sitio de p\&r \url{https://tex.stackexchange.com}, el newsgroup Usenet en \url{news:comp.text.tex}, la lista de correo \email{texhax@tug.org}, Otros archivos tienen preguntas y respuestas. como \url{https://groups.google.com/groupcomp.text.tex/topics}, al igual que \url{https://tug.org/mail-archives/texhax}. Estos últimos dos enlaces ofrecen un placentero mecanismo de búsqueda con lo que quieras averiguar. También una búsqueda rápida en el web, \url{https://google.com} no está de más. \item [Preguntar] Si no puedes encontrar una respuesta, siempre puedes escribir a \dirname{comp.text.tex} a través de Google o el lector de noticias, newsreader, o contactar mediante email a \email{texhax@tug.org}. Pero antes de enviar algo, \emph{por favor} de leer este FAQ, para maximizar los chances en encontrar una práctica respuesta: \url{https://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. También puede acceder la Comunidad \LaTeX{} en \url{https://www.latex-community.org/} y el foro en \url{https://www.latex-community.org/forum/}, y \TeX\ StackExchange en \url{https://tex.stackexchange.com/}. \item [\TL{} support] si deseas reportar errores, o tiene una sugerencia o comentario sobre la distribución de \TL{}, la instalación, o la documentación del sistema, la lista de correo es \email{tex-live@tug.org}. Sin embargo, si la pregunta es acerca de un programa en particular incluido en \TL{}, por favor de escribirle al autor o mantenedor del programa en la lista de correo. Muchos de los programas incluyen una opción \code{-{}-help} que muestra la dirección donde se reporta el error. \end{description} Por otra parte, siempre puede ayudar a otros que tengan preguntas. Tanto \dirname{comp.text.tex} como \code{texhax} están disponibles para todos. Usted puede formar parte del grupo, comenzar a leer muchas de las preguntas, y ayudar en lo que sea necesario. \section{Sumario de \protect\TeX\protect\ Live} \label{sec:overview-tl} Esta sección describe los contenidos de \TL{} y de \TK{} que es parte del mismo. \subsection{La Colección de \protect\TeX\protect:~\TL{}, pro\TeX{}, Mac\TeX} \label{sec:tl-coll-dists} El \TK{} \DVD{} se compone de lo siguiente: \begin{description} \item [\TL] Un sistema completo de \TeX{} para instalar en el disco. Página en el web: \url{https://tug.org/texlive/}. \item [Mac\TeX] para \MacOSX, que añade un instalador nativo de \MacOSX\ y otras aplicaciones relevantes de \TL{}. Página en el web en \url{https://tug.org/mactex/}. \item [pro\TeX{}t] Una mejoría de la distribución de \MIKTEX\ para Windows, \ProTeXt\ añade unas extra herramientas para \MIKTEX, y también simplifica la instalación. Es completamente independiente de \TL{}, y tiene sus propias instrucciones para la instalación. La página en la web es en \url{https://tug.org/protext/}. \item [\CTAN{}] Un panorama del repositorio de \CTAN{} en (\url{https://www.ctan.org/}). \end{description} \CTAN{} y \pkgname{protext} no siguen las mismas condiciones de copia que \TL{}, así que tenga cuidado con redistribuirlo o modificarlo. \subsection{Directorios en el alto nivel de \TL{}} \label{sec:tld} Aquí esta una breve lista y descripción de los directorios que están en el alto nivel de la instalación de \TL{}. \begin{ttdescription} \item[bin] Los programas del sistema \TeX{}, organizados según la plataforma. % \item[readme-*.dir] Esbozo rápido y enlaces importantes para \TL{}, en varios idiomas, en ambos \HTML{} y texto. % \item[source] El código de los programas incluidos, al igual que las distribuciones de \TeX{} basadas en \Webc{}. % \item[texmf-dist] El árbol principal; ver también \dirname[TEXMFDIST] en las siguientes líneas. % \item[tlpkg] Scripts, programas y datos para administrar la instalación, y respaldo especial para el sistema operativo Windows. % \end{ttdescription} En adición a los directorios ya mencionados, los scripts de la instalación, junto a los ficheros \filename{README} y \filename{LEEME} (en varios idiomas) se encuentran en el nivel más alto de la distribución. Para la documentación, los importantes enlaces en el fichero \OnCD{doc.html} en el alto nivel, pueden servir de ayuda. Y la documentación para todo lo demás (paquetes, formatos, fuentes, manuales de los programas, documentación a través de man pages, y ficheros de Info) que se encuentran en \dirname{texmf-dist/doc}. Usted también puede usar el programa \cmdname{texdoc}, para encontrar cualquier documentación. Esta documentación \TL\ se encuentra en \dirname{texmf-dist/doc/texlive}, disponible en varios idiomas: \begin{itemize*} \item{Alemán:} \OnCD{texmf-dist/doc/texlive/texlive-de} \item{Checoslovaco/Eslovaco:} \OnCD{texmf-dist/doc/texlive/texlive-cz} \item{Chino simplificado:} \OnCD{texmf-dist/doc/texlive/texlive-zh-cn} \item{Francés:} \OnCD{texmf-dist/doc/texlive/texlive-fr} \item{Inglés:} \OnCD{texmf-dist/doc/texlive/texlive-en} \item{Italiano:} \OnCD{texmf-dist/doc/texlive/texlive-it} \item{Polaco:} \OnCD{texmf-dist/doc/texlive/texlive-pl} \item{Ruso:} \OnCD{texmf-dist/doc/texlive/texlive-ru} \item{Serbio:} \OnCD{texmf-dist/doc/texlive/texlive-sr} \item{Español:} \OnCD{texmf-dist/doc/texlive/texlive-es} \end{itemize*} \subsection{Resumen de los árboles predefinidos de texmf} \label{sec:texmftrees} Esta sección enumera las variables predefinidas que especifican los árboles de texmf en el sistema, al igual que su propósito, y también el diseño de \TL{}. El comando \texttt{tlmgr-conf} muestra los valores de estas variables. Así usted puede aprender el proceso por el cual, estas variables aplican o se representan en los directorios de su instalación. Todos los árboles, incluyendo los personales, deben guiarse por \TeX\ Directory Structure, o la Estructura del Directorio de \TeX\ (\TDS, \url{https://tug.org/tds}), con la innumerable lista de subdirectorios, o de lo contrario, los ficheros no se encontrarán. Vea la sección \ref{sec:local-personal-macros} (\p.\pageref{sec:local-personal-macros}) donde se detalla más acerca de esto. \begin{ttdescription} \item [TEXMFDIST] El árbol que contiene casi todos los archivos de la distribución original--ficheros de configuración, scripts, paquetes, fuentes, etc. (La excepción aquí, son los ejecutables por-plataforma, los cuales están guardados en un directorio pariente \code{bin/}.) \item [TEXMFSYSVAR] El árbol (nivel global) usado por \verb+texconfig-sys+, \verb+updmap-sys+, y \verb+fmtutil-sys+, y también usado por \verb+tlmgr+, para almacenar todo los datos del cache, que hayan sido causados por ficheros formateados, o de ficheros esquematizados, con mapas reasignados y regenerados. \item [TEXMFSYSCONFIG] El árbol a nivel de sitio global, que es usado por las utilidades \verb+texmfconfig-sys+, \verb+updmap-sys+, y \verb+fmtutil-sys+ para guardar datos de configuración que hayan sido modificados. \item [TEXMFLOCAL] El árbol el cual es usado por administradores para instalaciones globales, o la adicional instalación de macros actualizados, fuentes, etc. \item [TEXMFHOME] El árbol el cual es usado por usuarios para sus propias instalaciones de adicionales fuentes, macros actualizados, etc. La expansión de esta variable, se ajusta dinámicamente para cada usuario, en sus propios directorios. \item [TEXMFCONFIG] El árbol (personal) usado por las utilidades \verb+texconfig+, \verb+updmap-sys-, y también \verb+fmtutil-sys+, para guardar datos de configuración que hayan sido modificados. \item [TEXMFVAR] El árbol (personal) usado por \verb+texconfig+, \verb+updmap-user y \verb+fmtutil+user+ para guardar todo los datos que hayan sido generados tanto por el cache de ficheros regenerados y mapas reasignados, como también de ficheros formateados. \item [TEXMFCACHE] El árbol o árboles usado por \ConTeXt\ Mk\acro{IV} y Lua\LaTeX\ para almacenar los datos del cache; estándar es \code{TEXMFSYSVAR}, o (si esto no se permite escribirlo), \code{TEXMFVAR}. \end{ttdescription} \noindent El diseño estándar, o predeterminado, es el siguiente: \begin{description} \item[raíz del sistema] puede abarcar múltiples versiones de \TL{}. (\texttt{/usr/local/texlive} estándar en Unix): \begin{ttdescription} \item[2019] Una versión anterior. \item[2020] La versión actual \begin{ttdescription} \item [bin] ~ \begin{ttdescription} \item [i386-linux] \GNU/Linux binarios \item [...] \item [universal-darwin] \MacOSX\ binarios \item [win32] Windows binarios \end{ttdescription} \item [texmf-dist\ \ ] \envname{TEXMFDIST} and \envname{TEXMFMAIN} \item [texmf-var \ \ ] \envname{TEXMFSYSVAR}, \envname{TEXMFCACHE} \item [texmf-config] \envname{TEXMFSYSCONFIG} \end{ttdescription} \item [texmf-local] \envname{TEXMFLOCAL}, su uso es reservado de una versión a la otra. \end{ttdescription} \item[directorio de casa del usuario] (\texttt{\$HOME} o el \texttt{\%USERPROFILE\%}) \begin{ttdescription} \item[.texlive2019] Datos privados generados de configuración para la versión anterior. \item[.texlive2020] Datos privados generados de configuración para la versión actual. \begin{ttdescription} \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} \item [texmf-config] \envname{TEXMFCONFIG} \end{ttdescription} \item[texmf] \envname{TEXMFHOME} macros personales, etc. \end{ttdescription} \end{description} \subsection{Extensiones para \protect\TeX} \label{sec:tex-extensions} El \TeX{} original de Knuth está congelado, con ciertas reparaciones de errores, de vez en cuando. El \TeX{} original está presente en \TL{} como el programa \prog{tex}, y permanecerá así en el futuro. \TL{} también contiene varias versiones extendidas de \TeX\ (conocidas también como los motores de \TeX\ ): \begin{description} \item [\eTeX] añade un set de primitivos nuevos \label{text:etex} (relacionado con la expansión de macros, escaneo de caracteres, clases de marcas, otras características de depuración que eliminan fallos, y otras más) y las extensiones de \TeXXeT{} para la compilación bi-direccional de documentos de imprenta. En el modo estándar, \eTeX{} tiene 100\% de compatibilidad con el \TeX\ básico. Por favor, vea \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. \item [pdf\TeX] se edifica en las extensiones de \eTeX{}, añadiendo respaldo para los resultados en \acro{PDF}, al igual que en \dvi{}. También ofrece otras extensiones. Este es el programa que se invoca para la mayoría de los formatos, e.g., \prog{etex}, \prog{latex}, \prog{pdflatex}. La página del web para accedir al mismo se encuentra en \url{https://www.pdftex.org/}. En el CD, el manual se encuentra en \OnCD{texmf-distn/doc/pdftex/manual/pdftex-a.pdf}, al igual que en \OnCD{texmf-dist/doc/pdftex/samplepdf/samplepdf.tex}. Este último contiene muchos de los ejemplos para su aplicación. \item [Lua\TeX] es el sucesor designado de pdf\TeX, y mayormente (pero no del todo) es compatible. Su propósito es como un superset de Aleph (ver más abajo, para tener una idea), aunque su compatibilidad técnica no es el objetivo. El intérprete Lua (\url{https://www.lua.org/}) permite soluciones elegantes para muchos de los problemas de \TeX{}. Cuando se le invoca como \filename{texlua}, funciona como un intérprete independiente de Lua, y como tal, es usado dentro de \TL{}. La página de su sitio web se encuentra en \url{https://www.luatex.org/}, y el manual de referencia en \OnCD{texmf-dist/doc/luatex/base/luatexref-t.pdf}. \item [\XeTeX] añade respaldo para el ingreso de Unicode y OpenType, al igual que para las fuentes del sistema operativo. El mismo es implementado por librerías the tercer-party. Vea \url{https://tug.org/xetex}. \item [\OMEGA\ (Omega)] es basado en Unicode (caracteres de 16-bit), y de esta forma respalda el trabajo con casi todos los scripts, simultáneamente. También respalda los llamados Procesos de Traducciones de Omega, o `\OMEGA{} Translation Processes'(\acro{OTP}s), que desempeñan transformaciones complejas en procesos de ingresos arbitrarios. Omega no está más incluido en \TL{} como un programa separado; solamente Aleph es proveído. \item [Aleph] combina las extensiones de ambos \OMEGA\ e \eTeX. Vea \OnCD{texmf-dist/doc/aleph/base} para más información. \end{description} \subsection{Otros notables programas en \protect\TL} Aquí aparecen otros programas comúnmente usados en \TL{}: \begin{cmddescription} \item [bibtex, bibtex8] respaldo de bibliografía. \item [makeindex, xindy] respaldo de índices. \item [dvips] conversor \dvi{} a \PS{}. \item [xdvi] \dvi{} presentador preliminar para el Sistema de X Window. \item [dvilj] \dvi{} drive para la familia de HP LaserJet. \item [dviconcat, dviselect] cortar, copiar y pegar páginas de ficheros de \dvi{}. \item [dvipdfmx] conversor \dvi{} a \acro{PDF}, una alternativa a pdf\TeX\ (que ya se mencionó). \item [psselect, psnup, \ldots] Utilidades de \PS{}. \item [pdfjam, pdfjoin, \ldots] Utilidades de \acro{PDF}.. \item [context, mtxrun] procesador de Con\TeX{}t y \acro{PDF}. \item [htlatex, \ldots] Conversor \cmdname{tex4ht}: \AllTeX{} a \acro{HTML} (y \acro{XML}). \end{cmddescription} \htmlanchor{instalación} \section{Instalación} \label{sec:install} \subsection{Comenzando con el instalador} \label{sec:inst-start} Para comenzar, consiga el \TK{} \DVD{} o descargue el instalador de net \TL{}, y localice el script instalador: \filename{install-tl} para los sistemas Unix, o \filename{install-tl.bat} para Windows. Por favor, vea \url{https://tug.org/texlive/acquire.html} para más información, y otros métodos para conseguir el programa. \begin{description} \item [Instalador de net] Descargue de \CTAN{}, bajo \dirname{systems/texlive/tlnet}; página de web en \url{https://mirror.ctan.org/systems/texlive/tlnet} automáticamente lo dirigirá hacia el repositorio actualizado, más cercano. Usted puede descargar \filename{install-tl.zip}, el cual puede ser usado bajo cualquier plataforma basada en Unix, o Windows, o como otra alternativa, puede hacerlo con \filename{install-unx.tar.gz} para Unix, que es mucho más pequeño. Después que lo hayas descomprimido, de su estado original, \filename{install-tl} y \filename{install-tl.bat} se encontrarán en el subdirectorio \dirname{install-tl}. \item [Colección de \TeX{} en \DVD:] vaya al subdirectorio del \DVD en \dirname{texlive}. En Windows, el instalador normalmente arranca automáticamente cuando insertes el \DVD. Puedes conseguir el \DVD\, registrándote como miembro de cualquier Grupo de Usuarios de \TeX\ (altamente recomendable, en \url{https://tug.org/usergroups.html}). También lo puedes conseguir, comprándolo separado de \url{https://tug.org/store}, o puedes grabar tu propia copia de la imagen \ISO\ que se provee. Después de instalarlo de tu \DVD\, o de la imagen \ISO\, si deseas continuar con las actualizaciones del Internet, por favor vea \ref{sec:dvd-install-net-updates}. \end{description} \begin{figure}[tb] \tlpng{nsis_installer}{.6\linewidth} \caption{Primera fase del instalador de Windows \code{.exe} }\label{fig:nsis} \end{figure} El instalador como tal realiza lo mismo, sin importar el método que se utilice. La diferencia más visible entre ellos, es que con el instalador del Net, usted termina con todos los paquetes que están disponibles, mientras que con el \DVD\ o con la imagen de \ISO, estos no proveen las actualizaciones más recientes de ellos. Si necesitas realizar las descargas a través de proxies, utilice el fichero \filename{~/.wgetrc} o las variables del entorno del sistema con las preferencias parar Wget (\url{https://www.gnu.org/software/wget/manual/html_node/Proxies.html}), o el equivalente de cualquier otro programa de descarga. Esto no aplica si se instala de un \DVD o the una imagen de \ISO. \noindent Las siguientes secciones explican el comienzo del instalador con más detalles. \subsubsection{Unix} Debajo de este párrafo, el carácter \texttt{>} denota el punto de la terminal o del intérprete de línea de comando u órdenes shell. El ingreso del usuario se encuentra en \Ucom{\texttt{negritas}}. El script que lleva de nombre \filename{install-tl} es un script de Perl. La manera más simple de inicializarlo en un sistema compatible con Unix, es de la siguiente manera: \begin{alltt} > \Ucom{perl /ruta/hacia/install-tl} \end{alltt} (O puedes invocar \Ucom{/ruta/hacia/installer/install-tl} si permaneció como ejecutable, o \texttt{cd} al directorio primero, etc.; no repetiremos todas las variaciones.) Posiblemente tuvieses que agrandar la ventana de la terminal, para que muestre el texto completo del instalador, en la pantalla. (Figura~\ref{fig:text-main}). Para instalarlo en modo experto con Interfaz Gráfica de Usuario \GUI\, necesitarás tener Tcl/Tk instalado. Dado esto, puedes ejecutar: \begin{alltt} > \Ucom{perl install-tl -gui} \end{alltt} El antiguo instalador mago \code{wizard} y las opciones \code{perltk}/\code{expert} están aún disponibles. Estas opciones necesitarán el módulo de \dirname{Perl::TK} que es compilado con respaldo de \acro{XFT}, que es usualmente el caso con los sistemas de \GNU/Linux, pero no así con otros sistemas. Para un listado completo de las varias opciones: \begin{alltt} > \Ucom{perl install-tl -help} \end{alltt} \textbf{Precaución con los permisos en Unix:} Tu \code{umask} en el momento de instalación, será respetado por el instalador de \TL{}. De tal manera, si quieres que tu instalación sea accesible por otros usuarios, asegúrate que los settings o los ajustes, así lo indiquen, por ejemplo, \code{umask002}. Para más información acerca de \code{umask}, consulte la documentación de tu sistema. \textbf{Consideraciones especiales con Cygwin:} A contrario de los sistemas compatibles con Unix, Cygwin, por norma o estándar, no incluye los programas pre-requeridos y necesitados por el instalador \TL{}. Vea la sección~\ref{sec:cygwin}. \subsubsection{MacOSX} \label{sec:macosx} Como se mencionó en la sección~\ref{sec:tl-coll-dists}, para el sistema operativo de \MacOSX existe una distribución de \TL{} separada, y que fue preparada exclusivamente para este sistema, nombrada Mac\TeX\ (\url{https://tug.org/mactex}). Recomendamos que utilices este instalador nativo Mac\TeX\ en vez de \TL\, porque el instalador nativo hace algunos ajustes que son específicos con el sistema operativo \MacOSX, y permite la alternación entre varias distribuciones de \TeX\ para este sistema. (Mac\TeX, Fink, MacPorts, \ldots) mediante la estructura de datos de \TeX{}Dist. Mac\TeX\ está basado en \TL, y los árboles y binarios de \TeX\ son los mismos que este. Lo que hace, es añadir unos ficheros extras que tienen documentación y aplicaciones específicas con el sistema operativo de Mac. \subsubsection{Windows}\label{sec:wininst} Si estás usando el archivo descomprimido zip de descarga, o el instalador del \DVD\ falló en arrancar automáticamente, dele doble clic a \filename{install-tl-windows.bat}. Y si necesitas más opciones aún, e.g., selección de colecciones de paquetes específicos, en vez de abrir el anterior, ejecuta el \filename{install-tl-advanced.bat}. También puedes arrancar el instalador, mediante el comando de la terminal. Más abajo, el carácter \texttt{>} denota el indicador del comando; mientras que el ingreso del comando por el usuario se denota con \Ucom{\texttt{bold}}. Si estás en el directorio del instalador, sólo tienes que ejecutar: \begin{alltt} > \Ucom{install-tl-windows} \end{alltt} O también lo puedes invocar con una localización absoluta, tal como: \begin{alltt} \Ucom{D:\bs{}texlive\bs{}install-tl-windows} \end{alltt} para el \TK\ \DVD, suponiendo que el directorio \dirname{D:} es donde esté localizado el \textsc{DVD} o \textsc{CD}. Figura~\ref{fig:basic-w32} muestra la pantalla básica inicial del instalador \GUI\ que es el estándar en Windows.\\ Para instalarlo mediante el modo de texto: \begin{alltt} > \Ucom{install-tl-windows -no-gui} \end{alltt} Para un listado completo de las varias opciones disponibles: \begin{alltt} > \Ucom{install-tl-windows -help} \end{alltt} \begin{figure}[tb] \begin{boxedverbatim} Installing TeX Live 2020 from: ... Platform: x86_64-linux => 'GNU/Linux on x86_64' Distribution: inst (compressed) Directory for temporary files: /tmp ... Detected platform: GNU/Linux on Intel x86_64 binary platforms: 1 out of 16 set installation scheme: scheme-full customizing installation collections 40 collections out of 41, disk space required: 6536 MB directories: TEXDIR (the main TeX directory): /usr/local/texlive/2020 ... options: [ ] use letter size instead of A4 by default ... set up for portable installation Actions: start installation to hard disk

save installation profile to 'texlive.profile' and exit help quit \end{boxedverbatim} \vskip-\baselineskip \caption{Pantalla del instalador principal de texto (\GNU/Linux)}\label{fig:text-main} \end{figure} \begin{figure}[tb] \tlpng{basic-w32}{.6\linewidth} \caption{Pantalla del instalador básico (Windows); el botón Avanzado resultará a algo similar como lo que se muestra en la figura~\ref{fig:advanced-lnx}}\label{fig:basic-w32} \end{figure} \begin{figure}[tb] \tlpng{basic-w32}{\linewidth} \caption{Pantalla del instalador mago (Windows)}\label{fig:basic-w32} \end{figure} \begin{figure}[tb] \tlpng{advanced-lnx}{\linewidth} \caption{Pantalla del Instalador Avanzado \GUI{} (\GNU/Linux)}\label{fig:advanced-lnx} \end{figure} \htmlanchor{cygwin} \subsubsection{Cygwin} \label{sec:cygwin} Antes de comenzar la instalación, ejecute \filename{setup.exe} del programa de Cygwin, para instalar los paquetes \filename{perl} y \filename{wget} si no lo ha hecho. Se recomiendan los siguientes paquetes: \begin{itemize*} \item \filename{fontconf}[necesitado por \XeTeX\ y Lua\TeX] \item \filename{ghostscript} [necesitado por varias utilidades] \item \filename{libXaw7} [necesitado por \code{xdvi}] \item \filename{ncurses} [provee el comando \code{clear} usado por el instalador] \end{itemize*} \subsubsection{El instalador de texto} Figura~\ref{fig:text-main} muestra una pantalla con el modo principal de texto en Unix. El instalador de texto es el estándar en Unix. Este es solamente un instalador a través de la línea de comando; ni el indicador, ni la selección mediante el ratón es posible. Por ejemplo, tampoco es posible tabular con el teclado, ni sombrear las cajas o las tablas que normalmente se haría con el \GUI. Solamente se permite teclear (con minúsculas) en la línea de comando, y presionar la tecla de Enter una vez terminado. La pantalla es reescrita y ajustada con el contenido apropiado. La interfaz del instalador de texto tiene esta característica primitiva por una razón: está diseñado para ser ejecutado en varias plataformas, incluso bajo un sistema, con un mínimo código Perl. \subsubsection{El instalador gráfico} \label{sec:graphical-inst} El instalador gráfico estándar comienza sencillamente con unas cuantas opciones: vea la figura~\ref{fig:basic-w32}. Puede ser iniciado con: \begin{alltt} > \Ucom{install-tl -gui} \end{alltt} El botón Avanzado ofrece acceso a la mayoría de las opciones del instalador de texto; vea la figura~\ref{fig:advanced-lnx}. \subsubsection{Los instaladores de legado} El modo experto y el modo mago de \texttt{perltk}/\texttt{wizard} están aún disponibles para esos sistemas que tienen Perl/Tk instalado. Estos modos pueden ser especificados con argumentos opcionales \texttt{-gui=perltk} y \texttt{-gui=wizard} respectivamente. \subsection{Ejecutando el instalador} \label{sec:runinstall} El instalador es explícito por diseño, pero a continuación hay unas notas acerca de sus opciones y sub-menús. \subsubsection{Menú de sistemas binarios (Unix solamente)} \label{sec:binary} \begin{figure}[tb] \begin{boxedverbatim} Plataformas disponibles ================================================================================ a [ ] Cygwin en Intel x86 (i386-cygwin) b [ ] Cygwin en x86_64 (x86_64-cygwin) c [ ] MacOSX actual (10.13-) on x86_64 (x86_64-darwin) d [ ] MacOSX legacy (10.6-) on x86_64 (x86_64-darwinlegacy) e [ ] FreeBSD en x86_64 (amd64-freebsd) f [ ] FreeBSD en Intel x86 (i386-freebsd) g [ ] GNU/Linux en ARM64 (aarch64-linux) h [ ] GNU/Linux en ARMv6/RPi (armhf-linux) i [ ] GNU/Linux en Intel x86 (i386-linux) j [X] GNU/Linux en x86_64 (x86_64-linux) k [ ] GNU/Linux en x86_64 with musl (x86_64-linuxmusl) l [ ] NetBSD en x86_64 (amd64-netbsd) m [ ] NetBSD en Intel x86 (i386-netbsd) o [ ] Solaris en Intel x86 (i386-solaris) p [ ] Solaris en x86_64 (x86_64-solaris) s [ ] Windows (win32) \end{boxedverbatim} \vskip-\baselineskip \caption{Menú de los binarios}\label{fig:bin-text} \end{figure} Figura~\ref{fig:bin-text} muestra el menú binario en el modo de texto. Por estándar, solamente los binarios de su plataforma actual serán instalados. Desde este menú, usted puede seleccionar la instalación de los binarios para otras plataformas. Esto puede ser provechoso, si estás compartiendo un árbol de \TeX\ a través de un network de máquinas heterogéneas, o también en aquellos sistemas que tienen dos o más sistemas operativos. \subsubsection{Seleccionar lo que va a ser instalado} \label{sec:components} \begin{figure}[tbh] \begin{boxedverbatim} Select scheme: =============================================================================== a [X] full scheme (everything) b [ ] medium scheme (small + more packages and languages) c [ ] small scheme (basic + xetex, metapost, a few languages) d [ ] basic scheme (plain and latex) e [ ] minimal scheme (plain only) f [ ] ConTeXt scheme g [ ] GUST TeX Live scheme h [ ] teTeX scheme (more than medium, but nowhere near full) i [ ] XML scheme j [ ] custom selection of collections \end{boxedverbatim} \caption{Menú del esquema}\label{fig:scheme-text} \end{figure} Figura~\ref{fig:scheme-text} muestra el esquema del menú de \TL. Desde aquí, puedes seleccionar un ``esquema'', el cual es un conjunto de las colecciones de los paquetes. El esquema estándar \optname{full}, instala todo lo que está disponible. Esto es recomendable, pero también puedes escoger e instalar el esquema básico \optname{basic} para aquellos sistemas pequeños, el esquema mínimo \optname{minimal} para los sistemas de evaluación y pruebas, y mediano \optname{medium} o el \optname{teTeX}, que ofrece un set de paquetes con ambos propósitos de evaluación al igual que básico. También hay varios esquemas especializados y específicos a regiones o países. \begin{figure}[tb] \centering \tlpng{stdcoll}{.7\linewidth} \caption{Menú con las Colecciones disponibles}\label{fig:collections-gui} \end{figure} Se puede refinar la selección del esquema con el menú `colecctions' (figura~\ref{fig:collections-gui}, mostrado en el modo \GUI\, para cambiar.) Las colecciones son un nivel más detallado que los esquemas\Dash en esencia, un esquema consiste de varias colecciones, lo que una colección consiste en uno o más paquetes, y un paquete (el grupo del nivel más abajo en la estructura de \TL) contiene los archivos de macros de \TeX{}, archivos de fuentes, y otros. Si deseas más control sobre la colección que el menú provee, puedes usar el programa \TeX\ Live Manager (\prog{tlmgr}) después de la instalación (vea la sección~\ref{sec:tlmgr}); usando este último, usted puede controlar la instalación e información de los paquetes, al nivel donde estos se encuentren, en la estructura del sistema. \subsubsection{Directorios} \label{sec:directories} El diseño estándar está descrito en la sección~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. La localización estándar de \dirname{TEXDIR} es \dirname{/usr/local/texlive/2020} en los sistemas Unix y |%SystemDrive%\texlive\2020| en Windows. Acomodándolo de esta manera, usted tendrá instalaciones paralelas de \TL. Una para cada versión, y puede cambiar entre ambas, simplemente cambiando la ruta de búsqueda. Esto puede ser sobrescrito mediante la especificación de configuraciones de \dirname{TEXDIR} en el instalador. La razón principal en cambiarlo, es por ejemplo si usted no tiene los permisos necesarios para escribirlos en la localización estándar. No se tiene que ser el administrador del sistema, o la `raíz', para instalar \TL, pero hay que recalcar que sí tiene que tener acceso para escribirlo al directorio de destino. Los directorios de instalación pueden ser también modificados, ajustando las preferencias a través de las variables del entorno del sistema antes de ejecutar el instalador (lo más propenso en, \envname{TEXLIVE\_INSTALL\_PREFIX} o \envname{TEXLIVE\_INSTALL\_TEXDIR}); vea la documentación de |install-tl --help| (disponible en línea en \url{https://tug.org/texlive/doc/install-tl.html}) para la lista completa que ofrece más detalles. Una alternativa razonable es un directorio local, o el directorio de la casa (home directory), especialmente si usted es el único usuario. Use `|~|' para indicar esto, como por ejemplo `|~/texlive/2020|'. Recomendamos incluir el año del calendario, en el nombre del susodicho directorio. De esa manera, puede tener varias versiones de \TL{} juntas en el sistema. También puede tener un nombre con versión independiente, tal como \dirname{/usr/local/texlive-cur}, mediante un enlace simbólico, el cual puede redirigir después de haber evaluado la nueva versión de la instalación. El cambiar \dirname{TEXDIR} en el instalador, también cambiará \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} y \dirname{TEXMFSYSCONFIG}. \dirname{TEXMFHOME} es la localización recomendable para los archivos personales de macros, o de paquetes. El valor estándar es |~/texmf| (|~/Library/texmf| en las Macs). A diferencia con \dirname{TEXDIR}, aquí una |~| es preservada en los recién escritos archivos de configuración, debido a que se refiere al directorio local del usuario que opera \TeX. Se expande a \dirname{$HOME} en Unix y \verb|%USERPROFILE%| en Windows. Nota especial redundante: \envname{TEXMFHOME}, como todos los árboles, tiene que ser organizado de acuerdo al \TDS\ (Estructura del Directorio de \TeX{}), o de lo contrario, los archivos no se encontrarán. \dirname{TEXMFVAR} es la localización para almacenar la mayor cantidad de cache, de los datos de ejecución, específicos a cada usuario. \dirname{TEXMFCACHE} es el nombre de la variable que es usada para ese propósito por Lua\LaTeX\ y \ConTeXt\ Mk\acro{IV} (vea la sección~ \ref{sec:context-mkiv},) \p.\pageref{sec:context-mkiv}); su valor pre-configurado es \dirname{TEXMFSYSVAR}, o (si no es permisible en los permisos de escritos), \dirname{TEXMFVAR}. \subsubsection{Opciones} \label{sec:options} \begin{figure}[tbh] \begin{boxedverbatim} Options setup: ===============================================================================

use letter size instead of A4 by default: [ ] execution of restricted list of programs: [X] create all format files: [X] install font/macro doc tree: [X] install font/macro source tree: [X] create symlinks in standard directories: [ ] binaries to: manpages to: info to: after installation, get package updates from CTAN: [X] \end{boxedverbatim} \caption{Menú con opciones disponibles (Unix)}\label{fig:options-text} \end{figure} Figura~\ref{fig:options-text} muestra el menú de opciones bajo el modo de texto. Más información de cada uno: \begin{description} \item[use letter size instead of A4 by default:] La selección del papel estándar. Por supuesto, para documentos individuales, el tamaño del papel se puede, y debe ser especificado. \item[execution of restricted list of programs:] A partir de \TL\ 2010, la ejecución de varios programas externos es permisible. La (breve) lista de los programas que son permitidos, se puede encontrar en el archivo \filename{texmf.cnf}. Si necesita más detalles, vea las noticias del 2010 \ref{sec:2010news}. \item[create all format files:] Aunque muchos archivos formateados, lleven tiempo no solo en generar, sino también en almacenar, es aún recomendable que esta opción se mantenga chequeada, de lo contrario, estos archivos formateados se generarían en el árbol privado del usuario, así como sea necesario. En esa localización, los mismos no serán actualizados automáticamente, digamos por ejemplo, los binarios, o los patrones de las separaciones por guión, son actualizados, y por esa razón, usted puede terminar con archivos formateados incompatibles. \item[install font/macro \ldots\ tree:] Omita descargar/instalar la documentación y archivos originales, incluídos en la mayoría de los paquetes. No es recomendable. \item[create symlinks in standard directories:] Esta opción (solamente en Unix) evita cambiar las variables del sistema. Sin esta opción, los directorios de \TL{} usualmente tienen que ser añadidos a \envname{PATH}, \envname{MANPATH}, e \envname{INFOPATH}. Necesitaría los permisos para escribir en los directorios de destino. Es extremadamente aconsejable \emph{no} sobrescribir un sistema de \TeX\ en tu sistema, con esta opción. Es principalmente utilizado para acceder el sistema de \TeX\ a través de aquellos directorios, que son conocidos para los usuarios, tales como \dirname{/usr/local/bin}, que no contienen ningún archivo de \TeX. \item[después de instalación, especifique \CTAN\ como la fuente para todas las actualizacinoes:] Cuando está instalando de \DVD, esta opción está autorizada por estándar, debido a que usualmente, uno actualizaría los subsiguientes paquetes, mediante las actualizaciones de \CTAN que ocurren durante el año. La única razón para no autorizarlo, es si usted instala solamente un subset del \DVD\ y planea en resumir la instalación después. De cualquier manera, tanto el repositorio de paquetes del instalador, al igual que las actualizaciones después de instalación, pueden ser fijadas, establecidas, tanto como sea necesario; ver la sección~\ref{sec:location}, y la sección \ref{sec:dvd-install-net-updates}~.para más detalles. \end{description} Cuando todas las preferencias personalizadas y configuraciones, hayan sido especificadas, usted puede ingresar la `I', para comenzar el proceso de instalación. Cuando esto finalice, vaya a la sección~\ref{sec:postinstall} para leer qué más se necesitaría hacer. \subsection{Opciones con la Línea de Comando install-tl} \label{sec:cmdline} Ingrese \begin{alltt} > \Ucom{install-tl -help} \end{alltt} para una lista de opciones de la línea de comandos. Así sea |-| o |--| pueden ser usados para los nombres de las opciones. Los siguientes opciones, son los más comunes: \begin{ttdescription} \item[-gui] Si es posible, use el instalador del \GUI{}. Esto requiere el módulo de Tcl/Tk versión 8.5 o más reciente. Este es el caso en \MacOSX\ y con \TL{} que se distribuye en Windows. Las opciones de legado \texttt{-gui=perltk} y \texttt{-gui=wizard} están aún disponibles y las cuales requieren el modo de Perl/Tk. Puede ir a (\url{https://tug.org/texlive/distro.html#perltk}), compilado con el respaldo de \acro{XFT}; si Perl/Tk no está disponible, la instalación continúa en el modo de texto. \item[-no-gui] Obligue el instalador de texto, incluso bajo Windows. \item[-lang {\sl LL}] Especifique el interfaz del idioma del instalador, mediante un código estándar (usualmente dos-letras). El instalador determina automáticamente el idioma correcto, pero si falla, o si el idioma seleccionado no está disponible, se utilizará el inglés como reemplazo. Ingrese \verb|install-tl --help| para ver la lista de idiomas disponibles. \item[-portable] Instale para uso portátil, e.g., una tarjeta flash drive \USB{}. También seleccionable, a través del instalador con el comando \code{V}, y desde el instalador gráfico de \GUI{}. Vea la sección~\ref{sec:portable-tl}. \item[-profile {\sl file}] Cargue el perfil de instalación \var{file}, y haga la instalación sin interacción del usuario. El instalador siempre escribe un archivo \filename{texlive-profile} al subdirectorio \dirname{tlpkg} de su instalación. Ese archivo, puede ser dado como un argumento, para replicar la misma y exacta instalación en un sistema diferente. Alternativamente, usted puede usar un perfil personalizado, que es fácilmente creado, comenzando con uno que haya sido generado, y cambiar los valores, o también de un archivo vacío, el cual tomaría todos los valores estándares. \item[-repository {\sl url-or-directory}] Especifique el repositorio de paquetes de donde instalarlo; vea lo siguiente. \htmlanchor{opt-in-place} \item[-in-place] (Documentado solamente para concluir: No use esto, a menos que sepa lo que está haciendo.) Si ya tiene un rsync, svn, o otra copia de \TL{} (vea \url{https://tug.org/texlive/acquire-mirror.html}) entonces esta opción implementará lo que tiene, tal y como es, y hará solamente la necesaria post-instalación. Se le advierte que el archivo \filename{tlpkg/texlive.tlpdb} puede ser sobrescrito; guardarlo es su responsabilidad. No se olvide, que la eliminación de paquetes, tiene que hacerse manualmente. Esta opción no puede ser intercambiada mediante el interfaz del instalador. \end{ttdescription} \subsubsection{La opción \optname{-repository}} \label{sec:location} El repositorio estándar de la red, es un espejo de \CTAN{}, escogido automáticamente por \url{http://mirror.ctan.org}. Si deseas sobrescribir eso, el valor de la localización, puede ser un url comenzando con \texttt{ftp:}, \texttt{http:}, o \texttt{file:/}, o la ruta del directorio. (Cuando se especifica un \texttt{http:}\ o \texttt{ftp:}\ cualquier retazo de caracteres como `\texttt{/}' y/o retazos de componentes como `\texttt{/tlpkg}' son ignorados.) Por ejemplo, usted puede escoger un espejo en particular de \CTAN\ con algo como: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, sustituyendo un servidor del network, con el nivel alto de la ruta de \CTAN\ por |ctan.example.org/tex-archive|. La lista de espejos de \CTAN\ es mantenida en \url{https://ctan.org/mirrors}. Si el argumento es local (así sea una ruta, o un \texttt{file:/} url), los archivos comprimidos en el subdirectorio \dirname{archive} de la ruta del directorio, son entonces los que son así utilizados (incluso cuando los archivos descomprimidos estén disponibles también). \subsection{Acciones de post-instalación} \label{sec:postinstall} Alguna post-instalación puede ser requerida. \subsubsection{Las variables del sistema en Unix} \label{sec:env} Si elegiste crear enlaces simbólicos o symlinks en los directorios estándar (descrito en la sección~\ref{sec:options}), no hay necesidad por lo tanto de editar las variables. De otra manera, en los sistemas de Unix, el directorio de los binarios de tu plataforma tienen que ser añadido a la ruta de acceso, o el search path. (En Windows, el instalador se ocupa de esto.) Cada plataforma respaldada tiene su propio subdirectorio bajo \dirname{TEXDIR/bin}. Vea la figura~\ref{fig:bin-text} para la lista de subdirectorios y su correspondiente plataforma. Opcionalmente, si quieres que las herramientas del sistema lo encuentren, también puedes añadir la documentación man y los directorios Info, a su respectiva ruta de acceso. Las páginas man pudiesen ser encontradas manualmente después de la adición a \envname{PATH}. Para las terminales compatibles de Bourne, como la \prog{bash}, y usando un Intel x86 GNU/Linux y un directorio estándar como ejemplo, el archivo que podría ser editado es \filename{$HOME/.profile} (o cualquier otro archivo), especificado por \filename{.profile} y las líneas que consiguientemente se añadirían, serían: \begin{sverbatim} PATH=/usr/local/texlive/2020/bin/i386-linux:$PATH; export PATH MANPATH=/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH; export MANPATH INFOPATH=/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH; export INFOPATH \end{sverbatim} Para csh o tcsh, el archivo para editar es típicamente \filename{$HOME/.cshrc}, y las líneas que se tuviesen que añadir, serían: \begin{sverbatim} setenv PATH /usr/local/texlive/2020/bin/i386-linux:$PATH setenv MANPATH /usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH ; export MANPATH setenv INFOPATH /usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH ; export INFOPATH \end{sverbatim} Si ya tienes los ajustes necesarios en los archivos ``dot'', naturalmente los directorios de \TL\ deben ser integrados apropiadamente. \subsubsection{Variables del sistema: configuración global} \label{sec:envglobal} Si quieres hacer cambios globales, o para un usuario recién añadido, será bajo tu propia responsabilidad; simplemente hay mucha variación entre los sistemas, y cómo y dónde serían las configuraciones. Nuestras dos recomendaciones son: 1)~quizás chequea un file \filename{/etc/manpath.config} y, si está presente, añade líneas como: \begin{sverbatim} MANPATH_MAP /usr/local/texlive/2020/bin/i386-linux \ /usr/local/texlive/2020/texmf-dist/doc/man \end{sverbatim} Y 2)~verifica un archivo \filename{/etc/environment}, el cual puede definir la ruta de acceso y otras variables del sistema. En cada directorio binario (Unix), también creamos un enlace simbólico nombrado \code{man}, al directorio \dirname{texmf-dist/doc/man}. Algunos programas \code{man}, tales como el estándar \MacOSX\ \code{man}, lo encontrarán automáticamente, evitando la necesidad de una configuración adicional para la página del programa \code{man}. \subsubsection{Actualizaciones del Internet después de instalación} \label{sec:dvd-install-net-updates} Si instalastes \TL\ de un \DVD\ y después quieres obtener actualizaciones a través del Internet, necesitas ejecutar este comando---\emph{después} que hayas actualizado la ruta de búsqueda (como se describe en la sección anterior): \begin{alltt} > \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} \end{alltt} Esto le dice a \cmdname{tlmgr}, que utilice el espejo de \CTAN\ más cercano, para futuras actualizaciones. Este es el estándar cuando se instala de un \DVD con la opción descrita en la sección~\ref{sec:options} Si hay problemas con la selección automática de espejos, puedes especificar un espejo particular de \CTAN, de la lista en \url{https://ctan.org/mirrors}. Usa la ruta exacta al subdirectorio \dirname{tlnet} en ese espejo, como se mostró anteriormente. \htmlanchor{xetexfontconfig} % keep historical anchor working \htmlanchor{sysfontconfig} \subsubsection{Configuración de la fuente para \XeTeX\ y Lua\TeX} \label{sec:font-conf-sys} \XeTeX\ y Lua\TeX\ pueden usar cualquier fuente instalada en el sistema, no solo aquellas que están instaladas en los árboles \TeX. Esto lo hacen relacionadas entre sí, pero no mediante métodos idénticos. En Windows, las fuentes incluidas con \TL\ están disponibles automáticamente en \XeTeX\ a través del nombre de la fuente. En el sistema operativo \MacOSX, el respaldo para la búsqueda de las fuentes, requiere pasos adicionales; por favor consulte las páginas en el web de Mac\TeX\ (\url{https://tug.org/mactex}) para más detalles acerca de esto. Para otros sistemas operativos basados en Unix, el procedimiento para encontrar estas fuentes es de la siguiente manera. Cuando el paquete \pkgname{xetex} es instalado (así sea durante la instalación inicial o después), el archivo necesario para la configuración es creado en: \filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. Para configurar y fijar las fuentes de \TL{} para el uso global del sistema (asumiendo que usted tenga privilegios), es de la siguiente manera: \begin{enumerate*} \item Copia el archivo \filename{texlive-fontconfig.conf} a \dirname{/etc/fonts/conf.d/09-texlive.conf}. \item Ejecuta \Ucom{fc-cache -fsv}. \end{enumerate*} Si no tienes suficientes privilegios con las indicaciones anteriores, o si quieres que las fuentes estén disponibles solamente para un usuario, puedes hacer lo siguiente: \begin{enumerate*} \item Copia el archivo \filename{texlive-fontconfig.conf} a \filename{~/.fonts.conf}, donde \filename{~} es el directorio de la casa. \item Ejecuta \Ucom{fc-cache -fv}. \end{enumerate*} Puedes ingresar \code{fc-list} para ver los nombres de las fuentes del sistema. La incantación \code{fc-list: family style file spacing} (todos los argumentos son cadenas literales) muestra alguna información. \subsubsection{\ConTeXt\ Mark \acro{IV}} \label{sec:context-mkiv} Ambos el `antiguo' \ConTeXt{} (Mark \acro{II}) y el `nuevo' \ConTeXt{} (Mark \acro{IV}) deben de operar sin problemas después de la instalación de \TL{}, y no requieren atención especial, mientras que uno utilice \verb+tlmgr+ para las actualizaciones. Sin embargo, debido a que \ConTeXt{} Mk\acro{IV} no hace uso de la librería kpathsea, alguna que otra configuración será requerida, como por ejemplo cuando se instalan nuevos archivos manualmente (sin el uso de \verb+tlmgr+). Después de tal instalación, cada usuario de Mk\acro{IV} debe ejecutar: \begin{sverbatim} context --generate \end{sverbatim} para actualizar la memoria del cache del disco. Los archivos resultantes son por consiguiente guardados bajo \code{TEXMFCACHE} cuyo valor estándar en \TL\ es \verb+TEXMSYSVAR;TEXMFVAR+. \ConTeXt\ Mk\acro{IV} leerá todas las rutas mencionadas en \verb+TEXMFCACHE+, y escribirá a la primera ruta que sea grabable. Mientras esto se lee, la última ruta que corresponda, tomará precedencia, en el caso de memoria duplicada del cache de datos. Para más información, vea \url{https://wiki.contextgarden.net/Running_Mark_IV}. \subsubsection{Integrando macros locales y personales} \label{sec:local-personal-macros} Esto ya está implícitamente mencionado en la sección~\ref{sec:texmftrees}: \dirname{TEXMFLOCAL} (por estándar, \dirname{/usr/local/texlive/texmf-local} o en \verb|%SystemDrive%\texlive\texmf-local| en Windows) está dirigido hacia las fuentes locales y los macros a nivel global del sistema; y \dirname{TEXMFHOME} (estándar, \dirname{$HOME/texmf} o \verb|%USERPROFILE%\texmf|), es para las fuentes personales y macros. Estos directorios están diseñados a permanecer de una versión a otra, mientras que su contenido sea visto automáticamente por cada nueva versión de \TL{}. De esta manera, lo mejor es no cambiar la definición de \dirname{TEXMFLOCAL} que difiera mucho del principal directorio de \TL{}, o de lo contrario necesitaría cambiar manualmente las versiones futuras. Para ambos árboles, los archivos deben ponerse en los subdirectorios de la apropiada Estructura del Directorio de \TeX\ (\TDS); vea \url{https://tug.org/tds} o consulte \filename{texmf-dist/web2c/texmf.cnf}. Por ejemplo, un archivo de una clase de \LaTeX{} o el paquete debe ser puesto en \dirname{TEXMFLOCAL/tex/latex} o \dirname{TEXMFHOME/tex/latex}, o en un subdirectorio de este. \dirname{TEXMFLOCAL} requiere una base de datos actualizada, o los archivos no se encontrarán. Puedes actualizarla con el comando \cmdname{mktexlsr} o usa el botón `Reinit file database' en el tabulador de la configuración del \GUI\ \TeX\ Live Manager. Por norma o estándar, como se muestra, cada una de estas variables está definida en un sólo directorio. Esto no es un requisito que es forzado y tomado a la ligera. Si necesitas alternar entre diferentes versiones o paquetes grandes, puedes por ejemplo, mantener múltiples árboles para tu propio objetivo. Esto se logra, configurando \dirname{TEXMFHOME} a la lista de directorios, encerrados entre llaves, y separados por comas. \begin{verbatim} TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} \end{verbatim} Sección~\ref{sec:brace-expansion} describe aún más la expansión de llaves. \subsubsection{Integrando fuentes de tercera persona} Desafortunadamente, esto es un tópico un poco complicado. Es mejor no tomarlo en cuenta, a menos que desees profundizar en todos los detalles acerca de la instalación de \TeX{}. Muchas fuentes ya están incluidas en \TL, así que échale un vistazo, para asegurarte que la fuente no se encuentre ahí. Una alternativa es usar \XeTeX\ o Lua\TeX\ (vea la sección~\ref{sec:tex-extensions}), el cual te permite tener acceso a las fuentes que están incluidas con el sistema operativo, sin ninguna instalación de \TeX. Si necesitas hacer esto, vea \url{https://tug.org/fonts/fontinstall.html} con nuestro mejor esfuerzo en describir el procedimiento. \subsubsection{Evaluando la instalación} \label{sec:test-install} Después de instalar \TL{}, naturalmente quieres evaluarlo, y así comenzar a crear bellos documentos y\slash o fuentes. Una cosa que inmediatamente puedes estar buscando es un programa que te permita editar los archivos. \TL{} instala \TeX{}Works (\url{https://tug.org/texworks}) en Windows, y Mac\TeX\ instala TeXShop (\url{https://pages.uoregon.edu/koch/texshop}). En otros sistemas de Unix, es tu decisión escoger un editor. Por supuesto que hay muchas opciones disponibles, algunas de las cuales aparecen en la próxima sección; vea también \url{https://tug.org/interest.html#editors}. Pero en sentido general, cualquier editor de texto funcionará. El resto de esta sección te ofrece algunos procedimientos básicos para evaluar que el nuevo sistema esté operando correctamente. En este manual, ofrecemos comandos basados en Unix; bajo \MacOSX{} y Windows, estás más propenso en ejecutar las pruebas a través de una interfaz gráfica, pero el proceso es en sí el mismo. \begin{enumerate} \item Asegúrate de ejecutar el programa \cmdname{tex} antes que todo: \begin{alltt} > \Ucom{tex -{}-version} TeX 3.14159265 (TeX Live ...) Copyright ... D.E. Knuth. ... \end{alltt} Si esto resulta en `command not found', en vez de aparecer la versión y la información de derechos de copia, o si te aparece una versión anterior, lo más probable es que no tienes el correcto subdirectorio \dirname{bin} en la ruta \envname{PATH}. Vea la información acerca de la configuración del programa en \p.\pageref{sec:env}. \item Procesar un archivo básico de \LaTeX{}: \begin{alltt} > \Ucom{latex sample2e.tex} This is pdfTeX 3.14 ... ... Output written on sample2e.dvi (3 pages, 7484 bytes). Transcript written on sample2e.log \end{alltt} Si lo anterior, falla en encontrar \filename{sample2e.tex} u otro archivo, lo más probable en este caso es una interferencia con las variables o con los archivos de configuración de una versión anterior; recomendamos primero antes que todo, remover cualquier variable que esté relacionada con \TeX. (Para un análisis más profundo, puedes preguntarle a \TeX{} que reporte exactamente lo que está buscando, y encontrando; vea ``Acciones de depuración'' en la página~\ref{sec:debugging}.) \item Vista previa del resultado: \begin{alltt} > \Ucom{xdvi sample2e.dvi} # Unix > \Ucom{dviout sample2e.dvi} # Windows \end{alltt} Debes ver una ventana nueva con un documento que explica alguna información básica acerca de \LaTeX{}. (Vale la pena leerlo, por cierto, si eres un principiante con \TeX.) Tienes que estar bajo el sistema de X para que el \cmdname{xdvi} funcione; si no lo estás, o si la variable del sistema \envname{DISPLAY} está configurada incorrectamente, obtendrá el error \samp{Can't open display}. \item Crea un archivo \PS{} para imprimir o mostrar en la pantalla: \begin{alltt} > \Ucom{dvips sample2e.dvi -o sample2e.ps} \end{alltt} \item Crea un archivo \acro{PDF} en vez de \dvi{}; esto procesa el archivo \filename{.tex} y escribe el \acro{PDF} directamente: \begin{alltt} > \Ucom{pdflatex sample2e.tex} \end{alltt} \item Vista previa del resultado del archivo \acro{PDF}: \begin{alltt} > \Ucom{gv sample2e.pdf} \textrm{o:} > \Ucom{xpdf sample2e.pdf} \end{alltt} Ninguno de estos, ni \cmdname{gv} ni \cmdname{xpdf} están incluidos en \TL{}, así que tuvieses que instalarlos por separados. Vea \url{https://www.gnu.orgr/software/gv} y \url{https://www.xpdfreader.com}, respectivamente. También hay muchos programas que abren los archivos \acro{PDF}. Para Windows, recomendamos Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). \item Archivos estándar de evaluación que puede considerar útiles además de \filename{sample2e.tex}: \begin{ttdescription} \item [small2e.tex] Un documento más simple que \filename{sample2e.tex}, para reducir el tamaño del archivo si tienes problemas. \item [testpage.tex] Evalúa si tu imprenta tiene muchos valores fuera del margen. \item [nfssfont.tex] Para imprimir tablas con fuentes y pruebas. \item [testfont.tex] También para cuadros de fuentes, pero usando esta vez plain \TeX{}. \item [story.tex] El más canónico archivo de prueba para plain \TeX{}, o \TeX{} básico. \end{ttdescription} \item Si instalaste el paquete \filename{xetex}, puedes evaluar el acceso a las fuentes del sistema de la siguiente manera: \begin{alltt} > \Ucom{xetex opentype-info.tex} This is XeTeX, Version 3.14\ldots ... Output written on opentype-info.pdf (1 page). Transcript written on opentype-info.log. \end{alltt} Si te aparece un mensaje de error que dice ``Invalid fontname `Latin Modern Roman/ICU'\ldots'', entonces necesitas configurar tu sistema, de tal manera que las fuentes que están incluidas en \TL\ puedan ser encontradas. Vea Sección~\ref{sec:font-conf-sys}. \end{enumerate} \subsection{Enlaces para programas adicionales de descarga} Si eres principiante con \TeX{}, o necesitas ayuda preparando documentos en \TeX{} o \LaTeX{}, por favor visita \url{https://tug.org/begin.html} para algunos recursos introductorios. Enlaces para algunas herramientas que puedes considerar en instalar: \begin{description} \item[Ghostscript] \url{https://www.cs.wisc.edu/~ghost/} \item[Perl] \url{https://www.perl.org/} con paquetes suplementarios de \acro{CPAN}, \url{https://www.cpan.org/} \item[ImageMagick] \url{https://www.imagemagick.com}, para procesamiento y conversión de gráficas. \item[NetPBM] \url{https://netpbm.sourceforge.net/}, también para gráficas. \item[Editores de texto orientados para \TeX] Hay una amplia selección, y es cuestión de gusto. Aquí hay una selección en orden alfabético (unos cuantos que aparecen aquí son para Windows solamente). \begin{itemize*} \item \cmdname{GNU Emacs} está disponible nativamente para Windows, vea \url{https://www.gnu.org/software/emacs/emacs.html}. \item \cmdname{Emacs con Auc\TeX} para Windows está disponible de \CTAN. La página de AuC\TeX\ está en \url{https://www.gnu.org/software/auctex}. \item \cmdname{SciTE} está disponible de \url{https://www.scintilla.org/SciTE.html}. \item \cmdname{Texmaker} es software libre, disponible de \url{https://www.xm1math.net/texmaker}. \item \cmdname{TeXstudio} se bifurcó de \cmdname{Texmaker} con características adicionales; \url{https://texstudio.sourceforge.net}. \item \cmdname{TeXnicCenter} es software libre, disponible en \url{https://www.texniccenter.org} y en la distribución de pro\TeX{}. \item \cmdname{TeXworks} es software libre, disponible de \url{https://tug.org/texworks} e instalado para Windows y \MacOSX\ como parte de \TL. \item \cmdname{Vim} es software libre, disponible de \url{https://www.vim.org}. \item \cmdname{WinEdt} es programa shareware a través de \url{https://tug.org/winedt} or \url{https://www.winedt.com}. \item \cmdname{WinShell} está disponible en \url{https://www.winshell.de}. \end{itemize*} \end{description} Para una lista más extensa de paquetes y programas, vea \url{https://tug.org/interest.html} \section{Instalaciones especializadas} Las secciones previas describen el proceso básico de instalación. Aquí veremos algunos casos que son especializados. \htmlanchor{tlsharedinstall} \subsection{Instalación con varios usuarios (o múltiples ordenadores)} \label{sec:sharedinstall} \TL{} ha sido diseñado para ser compartido entre varios usuarios en un sistema, y/o entre diferentes sistemas en una red. Con una estándar organización del directorio, ninguna ruta forzada es configurada: la localización de los archivos que los programas de \TL{} necesitan, pueden ser encontrados relativos con estos programas. Puedes ver esto en el archivo principal de configuración: \filename{$TEXMFDIST/web2c/texmf.cnf}, que contiene líneas tales como: \begin{sverbatim} TEXMFROOT = $SELFAUTOPARENT ... TEXMFDIST = $TEXMFROOT/texmf-dist ... TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local \end{sverbatim} Esto quiere decir, que añadiendo un directorio para los ejecutables de \TL{} en la ruta de acceso de estos, es más que suficiente para tener una configuración operable. De la misma manera, puedes instalar \TL{} localmente, y luego mover, traspasar toda la jerarquía, a una localización en la red. Para Windows, \TL{} incluye un programa lanzador \filename{tlaunch} para la instalación. La ventana principal de este, contiene diferentes funciones en el menú y botones para varios programas relacionados con \TeX\ y también con documentación. Todo esto se puede personificar a través de un fichero \code{ini}. Durante el inicio del program, este lanzador modifica la ruta de acceso para \TL\ y crea algunas asociaciones de los ficheros/archivos. Es decir, replica lo que usualmente transcurre después de la post-instalación pero solamente para el usuario actual del sistema. De tal manera, aquellas computadoras u ordenadores conectadas en la misma red local, pueden acceder \TL{} a través de enlaces rápidos de este lanzador \filename{tlaunch}. Vea el manual completo de \code{tlaunch} (\code{texdoc tlaunch}, o visitando \url{https://ctan.org/pkg/tlaunch}). \htmlanchor{tlportable} \subsection{Instalaciones portables (\USB{})} \label{sec:portable-tl} La opción \code{-portable} del instalador (o el comando \code{V} en el instalador de texto, o la correspondiente opción en el \GUI{}) crea una instalación completamente independiente bajo una raíz común, y renuncia a cualquier integración con el sistema. Puedes crear una instalación directamente en un lector de \USB{}, o copiarlo después a la memoria del \USB{}. Para ejecutar \TeX\ con esta instalación, necesitas añadir el apropiado directorio del binario, a la ruta de acceso, durante la sesión de la terminal, como es usual. En Windows, puedes darle dos veces a \filename{tl-tray-menu} en la raíz de la instalación para escoger entre varias opciones, como se muestra en esta captura de pantalla: \medskip \tlpng{tray-menu}{4cm} \smallskip \noindent La función de `More\ldots' explica como usted puede personalizar este menú. %\htmlanchor{tlisoinstall} %\subsection{Instalaciones con \ISO\ (o \DVD) } %\label{sec:isoinstall} % %Si no necesitas actualizar o modificar tu sistema periódicamente, %y\slash o tienes varios sistemas para instalar \TL{}, puedes %encontrar conveniente en crear una imagen \ISO\ de tu instalación de %\TL{}, porque: % %\begin{itemize} % \item Copiando un \ISO\ entre diferentes computadoras es mucho más % rápido que copiando una instalación estándar. % \item Si estás inicializando tu sistema, con dos sistemas % operativos, y quieres que ambos compartan una % instalación \TL{}, la instalación del \ISO\ no está % expuesta a las idiosincrasias y limitaciones de % otros sistemas de archivos (\acro{FAT32}, \acro{NTFS}, % \acro{HFS+}). % \item Sistemas virtuales pueden simplemente montar un \ISO. %\end{itemize} % %Por supuesto, también puedes grabar la imagen \ISO\ a un \DVD, si te %es útil. % %Sistemas operativos \GNU/Linux/Unix, incluyendo \MacOSX, pueden montar %un \ISO. Windows 8 es la primera (!) versión Windows que puede hacer %esto. Excepto esto, nada cambia en respecto a una instalación normal a %un disco duro, vea la sección \ref{sec:env}. % %Cuando prepares tal instalación \ISO, lo mejor es omitir el %subdirectorio para el año del lanzamiento, y que tengas %\filename{texmf-local}, en el mismo nivel que los otros árboles, %(\filename{texmf-var}, etc.). Puedes hacer esto con las opciones %normales del directorio en el instalador. % %Para un sistema físico de Windows (en vez de virtual), puedes grabar %la imagen \ISO\ a \acro{DVD}. Sin embargo, es mejor que investigues %las opciones libres de montajes\Dash\ISO, tales como WinCDEmu en %\url{http://wincdemu.sysprogs.org/}. % %Para integración con el sistema Windows, puedes incluir los programas %\filename{w32client} descrito en la sección~\ref{sec:sharedinstall} y %en \url{http://tug.org/texlive/w32client.html}, que funciona de igual %manera como un \ISO\ para una instalación en red. % %En \MacOSX, TeXShop podrá hacer uso de la instalación con \acro{DVD}, %si un enlace simbólico \filename{/usr/texbin} apunta hacia el %apropiado binario del directorio, e.g., %\begin{verbatim} %sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin %\end{verbatim} % %Nota histórica: \TL{} 2010 fue la primera edición de \TL{}, la cual no %fue más distribuida `live', o en `vivo'. Sin embargo, siempre requirió algunas %acrobacias para ejecutar el \DVD\ o el \ISO; en particular, no había %manera de configurar por lo menos una variable extra en el sistema. Si %creas tu \ISO\ de una existente instalación, cabe señalar, que no hay necesidad de esto. \htmlanchor{tlmgr} \section{\cmdname{tlmgr}: Administrando tu instalación} \label{sec:tlmgr} \begin{figure}[tb] \tlpng{tlshell-macos}{\linewidth} \caption{\prog{tlshell} \GUI, mostrando las acciones del Menú (\MacOSX)} \label{fig:tlshell} \end{figure} \begin{figure}[tb] \tlpng{tlcockpit-packages}{.8\linewidth} \caption{\prog{tlcockpit} Interfaz Gráfica del Usuario (\GUI{}) para \prog{tlmgr}} \label{fig:tlcockpit} \end{figure} \begin{figure}[tb] \tlpng{tlmgr-gui}{\linewidth} \caption{\prog{tlmgr} en modo \GUI: página principal, después de `cargarse'.} \label{fig:tlmgr-gui} \end{figure} \TL{} incluye un programa nombrado \prog{tlmgr} para administrar \TL{} después de la instalación inicial. Sus capacidades incluye: \begin{itemize*} \item instalando, actualizando, archivando, restaurando, y desinstalando paquetes individuales, opcionalmente tomando dependencias en consideración; \item buscando y listando paquetes y sus descripciones; \item listando, añadiendo, y removiendo plataformas; \item cambiando las opciones de instalación, tales como el tamaño del papel y el origen de la localización (vea la sección~\ref{sec:location}). \end{itemize*} La funcionalidad de \prog{tlmgr} abarca el programa \prog{texconfig} en su totalidad. Por lo tanto distribuiremos y mantendremos \prog{texconfig} para aquellos que están acostumbrados a su interfaz, pero hoy en día recomendamos usar \prog{tlmgr}. \subsection{\cmdname{tlmgr} Modo GUI} \TL{} contiene varias Interfaces Gráficas de Usuario \GUI para el programa \prog{tlmgr}. Dos notables de estas interfaces son: Figura~\ref{fig:tlshell} muestra \cmdname{tlshell}, el cual es escrito en Tcl/Tk y trabaja inmediatamente tanto en Windows como en \MacOSX. Figura~\ref{fig:tlcockpit} muestra \prog{tlcockpit}, el cual requiere Java con una versión por lo menos 8, o más alta, y también JavaFX. Ambos son programas separados. \prog{tlmgr} tiene también un modo nativo \GUI{} (como se muestra en figura~\ref{fig:tlmgr-gui}), que es iniciado con: \begin{alltt} > \Ucom{tlmgr -gui} \end{alltt} Esta extensión de la Interfaz Gráfica \GUI\ requiere de Perl/Tk, un módulo el cual ya no está incluido en la distribución \TL\ basada en Perl para Windows. \subsection{Ejemplos de invocaciones en la línea de comando de \cmdname{tlmgr}}. Después de la instalación inicial, puedes actualizar el sistema a las últimas versiones disponibles con: \begin{alltt} > \Ucom{tlmgr update -all} \end{alltt} Si esto te pone nervioso, primero trata \begin{alltt} > \Ucom{tlmgr update -all -dry-run} \end{alltt} o (menos verboso): \begin{alltt} > \Ucom{tlmgr update -list} \end{alltt} Este ejemplo más complejo, añade una colección, para el motor \XeTeX, desde un directorio local: \begin{alltt} > \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} \end{alltt} Genera el siguiente resultado (abreviado): \begin{fverbatim} install: collection-xetex install: arabxetex ... install: xetex install: xetexconfig install: xetex.i386-linux running post install action for xetex install: xetex-def ... running mktexlsr mktexlsr: Updating /usr/local/texlive/2020/texmf-dist/ls-R... ... running fmtutil-sys --missing ... Transcript written on xelatex.log. fmtutil: /usr/local/texlive/2020/texmf-var/web2c/xetex/xelatex.fmt installed. \end{fverbatim} Como puedes ver, \prog{tlmgr} instala dependencias, y se ocupa de cualquier acción necesaria post-instalación, incluyendo la actualización de la base de datos de los nombres de los archivos, y (re)generando formatos. Arriba, generamos nuevos formatos para \XeTeX. Para describir un paquete (o colección o esquema): \begin{alltt} > \Ucom{tlmgr show collection-latexextra} \end{alltt} el cual produce resultados de la siguiente manera: \begin{fverbatim} package: collection-latexextra category: Collection shortdesc: LaTeX supplementary packages longdesc: A very large collection of add-on packages for LaTeX. installed: Yes revision: 46963 sizes: 657941k \end{fverbatim} Por último, y muy importante, la documentación completa se puede ver en \url{https://tug.org/texlive/tlmgr.html}, o: \begin{alltt} > \Ucom{tlmgr -help} \end{alltt} \section{Notas sobre Windows} \label{sec:windows} \subsection{Características específicas de Windows} \label{sec:winfeatures} Bajo Windows, el instalador hace varias cosas extra: \begin{description} \item[Menús y acceso rápido.] Un nuevo submenú del menú de Start es instalado, el cual contiene funciones para algunas programas del \GUI{} (\prog{tlmgr}, \prog{texdoctk}, el PS\_View (\prog{psv}) pre-visualizador de PostScript) y alguna documentación. \item [Associación de archivos.] Si está activado, le permitirán a programas como \prog{TeXworks}, \prog{Dviout}, y en convertirse en el programa estándar para sus respectivos tipos de archivos, o tener una función de doble clic en el menú de `Open with', para esos tipos de archivos. \item[Conversor de bitmap a eps.] Varios formatos de bitmap tienen una función \cmdname{bitmap2eps} en sus `Open with' del menú accedido mediante el doble clic. Bitmap2eps es un programa simple el cual permite que \cmdname{sam2p} o \cmdname{bmeps} hagan el trabajo. \item[Ajuste automático de acceso a la ruta.] No requiere procedimientos manuales de configuración. \item[Desinstalador.] El instalador crea una función debajo de `Añadir/Remover Programas' (`Add/Remove Programs') para \TL. El tabulador `uninstall' del \GUI\ de \TeX\ Live Manager, se encarga de esto. Para la instalación con un usuario solamente, el instalador también crea un ingreso de desinstalación, que se encuentra bajo el menú de Start o Comienzo. \item[Write-protect] Para una instalación con privilegios administrativos, los directorios de \TL\ son write-protected, o protegidos-contra-escritura, siempre y cuando \TL\ haya sido instalado en un disco que no sea removible y formateado bajo el sistema de partición de NTFS. \end{description} \subsection{Software adicional incluido en Windows} Para finalizar, una instalación de \TL{} necesita paquetes de ayuda, los cuales no son comúnmente encontrados en ordenador de Windows. Por lo tanto \TL{} provee las piezas perdidas: \begin{description} \item[Perl y Ghostscript] Por la importancia de Perl y Ghostscript, \TL{} incluye copias `escondidas', de estos programas. Hay programas de \TL{} que necesitan saber donde encontrarlos, pero no engañan su presencia, a través de variables del sistema, o las preferencias del registro. En sí, no son instalaciones a mayor escala, y no deben interferir con instalaciones de Perl o Ghostscript. \item[dviout.] También está instalado \prog{dviout}, un visualizador de \acro{DVI}. Al comienzo, cuando pre-visualices archivos con \cmdname{dviout}, creará fuentes, porque las fuentes del sistema no fueron instaladas. Después de esto, habrás creado la mayoría de las fuentes que uses, y raramente verás la ventana de creación de fuentes nuevamente. Para más información acerca de esto (recomendable) puede encontrarse en la ayuda en línea. \item[\TeX{}works.] \TeX{}works es un editor de texto, diseñado para \TeX{}, y con un visualizador integrado de \acro{PDF}. \item[Herramientas de línea de Comando.] Un número de puertos en Windows, de programas basados en el intérprete de la línea de comando de Unix, son instalados también con los binarios de \TL{}. Estos incluye \cmdname{gzip}, \cmdname{unzip}, y las utilidades de del conjunto de \cmdname{xpdf} (\cmdname{pdfinfo}, \cmdname{pdffonts}, \ldots). El visualizador \cmdname{xpdf} no está disponible para Windows. Una alternativa es el visualizador Sumatra PDF, disponible de \url{https://sumatrapdfreader.org/} \item[fc-list, fc-cache, \ldots] Las herramientas de la librería de fontconfig, le permite a \XeTeX{} a manipular fuentes del sistema en Windows. Usted puede usar \prog{fc-list} para determinar los nombres de las fuentes que pasan con el extendido comando \cs{font}. Y si es necesario, ejecute \prog{fc-cache} primero para actualizar la información de la fuente. \end{description} \subsection{El Perfil del Usuario es Casa} \label{sec:winhome} Las partes homólogas en Windows, del directorio de la casa en Unix, es el directorio \verb|%USERPROFILE|. Bajo Windows \acro{XP}, esto es usualmente \verb|C:\Documents and Settings\|, y bajo Windows Vista y versiones más recientes, es \verb|C:\Users\|. En el archivo \filename{texmf.cnf}, y \KPS{} en general, \verb|~| expandirá apropiadamente en ambos Windows y Unix. \subsection{El registro de Windows} \label{sec:registry} Windows almacena casi todos los datos de configuración en su registro. El registro contiene un set de claves organizadas en jerarquía, con claves de la raíz del sistema. Las más importantes para los programas de instalación, son \path{HKEY_CURRENT_USER} y \path{HKEY_LOCAL_MACHINE}, que abreviando serían la \path{HKCU} y \path{HKLM}. La parte \path{HKCU} del registro, está en el directorio de la casa del usuario (vea la sección~\ref{sec:winhome}). \path{HKLM} está normalmente en un subdirectorio del directorio de Windows. En algunos casos, la información puede ser obtenida a través de variables del sistema, pero otras informaciones, como la localización de accesos directos, es necesario consultar el registro. También la fijación permanente de variables del sistema, requieren acceso al registro. \subsection{Permisos en Windows} \label{sec:winpermissions} En versiones más recientes de Windows, una distinción es hecha, entre usuarios regulares y administradores, y son estos últimos los que tienen acceso sin permisos, al sistema operativo. Por lo tanto, hemos hecho un esfuerzo, en hacer la instalación de \TL{} permisible, sin privilegios administrativos. Si el instalador se comienza, con permisos administrativos, hay una opción que permite seleccionar, que esto sea asequible para todos los usuarios. Si esta opción es seleccionada, enlaces de acceso directo, serán creados para todos los usuarios, y el entorno del sistema será modificado. De otra manera, los enlaces de acceso directo, al igual que las funciones del menú, serán creadas para el usuario actual, y el entorno del sistema para el usuario, es por lo tanto modificado. Cualquiera que sea el estatus del administrador, la raíz estándar de \TL{} que es propuesta por el instalador, estará siempre bajo \verb|%SystemDrive%|. El instalador siempre evalúa si la raíz tiene permisos de escritura para el usuario actual. Puede resultar un problema, si un usuario no es un administrador y \TeX{} ya existe en la ruta de búsqueda. Debido a que la ruta efectiva, consiste de la ruta del sistema, seguida por la ruta del usuario, el nuevo \TL{} nunca tendrá precedencia. Como medio de seguridad, el instalador crea un enlace de acceso directo a la línea de comando, en el cual, el nuevo binario de \TL{}, es antepuesto a la ruta de búsqueda local. El nuevo \TL{} siempre se podrá usar, dentro de tal intérprete de la línea de comando. El enlace de acceso directo a \TeX{}works, si está instalado, siempre antepondrá \TL{} a la ruta de búsqueda, por lo tanto, debe ser también inmune a este problema de la ruta. Debe saber, que aunque haya accedido al sistema, como administrador, no obstante necesita, en obtener privilegios administrativos. En realidad, no es necesario en acceder al sistema como administrador. En vez de ello, con un clic a mano derecha, del programa, o en el enlace del programa que se desea ejecutar, usualmente te ofrece una opción `Ejecutar como administrador' o `Run as administrator' \subsection{Incrementando la memoria máxima en Windows y Cygwin} \label{sec:cygwin-maxmem} Usuarios de Windows y Cygwin (vea la sección~\ref{sec:cygwin} para los métodos específicos de instalación en Cygwin) pueden inesperadamente verse en la situación que han agotado la memoria del sistema, cuando estén ejecutando algunos de los programas que están en \TL{}. Por ejemplo, \prog{asy} puede agotar la memoria, si usted asigna un array de 25,000 reales, y Lua\TeX\ puede agotar la memoria, si se trata de procesar un documento con muchas fuentes grandes. Para Cygwin, puede incrementar la cantidad de memoria disponible, a través de las instrucciones de la Guía del Usuario de Cygwin. (\url{https://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). En Windows, tiene que crear un archivo, digamos \code{moremem.reg}, con estas líneas: \begin{sverbatim} Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Cygwin] "heap_chunk_in_mb"=dword:ffffff00 \end{sverbatim} \noindent y después ejecute el comando \code{regedit /s moremem.reg} como administrador. (Si desea cambiar la memoria solamente para el usuario actual, en vez de sistema global, utilice \code{HKEY\_CURRENT\_USER}.) \section{Una guía de usuario para Web2C} \Webc{} es una colección integrada de programas relacionados con \TeX{}: \TeX{} como tal, \MP{}, \BibTeX{}, etc. Es el corazón de \TL{}. La página en el Internet, para \Webc{}, junto con el actual manual y más es \url{https://tug.org/web2c}. Un poco de historia: La implementación original fue por Tomas Rokicki, quien en 1987, desarrolló el primer sistema \TeX{}-to-C basado en archivos que se cambiaron bajo Unix, los cuales fueron primariamente el trabajo original de Howard Trickey y Pavel Curtis. Tim Morgan se convirtió en el mantenedor del sistema, y durante este período, el nombre como tal cambió a Web-to-C\@. En 1990, Karl Berry se hizo responsable del trabajo, ayudado por docenas de contribuidores adicionales, y en 1997 le dio el batón de relevo a Olaf Weber, quien se lo devolvió a Karl, en el 2006. El sistema \Webc{} opera en Unix, versiones de 32-bits en Windows, \MacOSX{}, y otros sistemas operativos. Utiliza el código original de Knuth, para \TeX{} y otros programas básicos escritos en el sistema literal \web{} y los traduce, a código C. Los principales programas de \TeX{} que operan así, son los siguientes: \begin{cmddescription} \item[bibtex, biber] Respaldo bibliográfico. \item[dvicopy] Expande las referencias virtuales de fuentes, a archivos \dvi{}. \item[dvitomp] \dvi{} a MPX (MetaPost pictures). \item[dvitype] \dvi{} a texto leíble por humanos. \item[gftodvi] Conversor de fuentes genéricas. \item[gftopk] Conversor de fuentes \code{.pk}. \item[gftype] Archivo de \code{.gf} a texto leíble por humanos. \item[mf] Creando familias de fuentes. \item[mft] Imprimiendo código de \MF{}. \item[mpost] Creación de diagramas técnicos. \item[patgen] Creación de patrones de separaciones silábicas. \item[pktogf] Conversor de fuente de formato \code{.pk} a fuentes genéricas \item[pktype] Conversor de fuente de formato \code{.pk} a texto leíble por humanos. \item[pltotf] Lista de texto regular a TFM. \item[pooltype] Archivos pool \web{} de visualización. \item[tangle] Programación \web{} a Pascal. \item[tex] Tipografía. \item[tftopl] Conversor de TFM a lista de propiedad de texto regular. \item[vftovp] Conversor de fuente virtual a lista de propiedad virtual. \item[vptovf] Conversor de lista de propiedad virtual a fuente virtual. \item[weave] \web{} \end{cmddescription} \noindent Las funciones precisas y sintaxis de estos programas están descritas en la documentación de los paquetes individuales y en el propio \Webc{}. Sin embargo, el conocer los principios básicos que gobiernan toda la familia de programas, le ayudará con la instalación de \Webc{}. Todos los programas honoran estas opciones estándar de \GNU{}: \begin{ttdescription} \item[-{}-help] imprimir sumario de uso básico. \item[-{}-version] imprimir información de la versión, y salida. \end{ttdescription} Y tienen que honorar también: \begin{ttdescription} \item[-{}-verbose] imprimir reporte detallado del progreso \end{ttdescription} Para localizar los archivos, los programa de \Webc{} usan la librería de ruta de búsqueda \KPS{} (\url{https://tug.org/kpathsea}). Esta librería utiliza una combinación de variables de entorno del sistema, y unos archivos de configuración para optimizar la búsqueda de la inmensa colección de archivos de \TeX{}. \Webc{} puede escanear varios árboles de directorios simultáneamente, lo cual tiene uso en la mantención de la distribución estándar de \TeX{} y extensiones personales y locales en los árboles. Para agilizar las búsquedas de archivos, la raíz de cada árbol tiene un archivo \file{ls-R}, que contiene un ingreso, que muestra el nombre y la ruta, para todos estos archivos bajo la raíz. \subsection{Ruta de acceso Kpathsea} \label{sec:kpathsea} Vamos a describir el mecanismo de la ruta de búsqueda genérica de la librería de \KPS{}. Le llamamos una ruta de búsqueda a un guión- o semi guión\hyph de una lista separada de \emph{elementos de ruta}, que son básicamente nombres de directorios. Una ruta de búsqueda puede provenir (de una combinación) de muchos orígenes. Para encontrar un archivo \samp{mi-archivo} alrededor de una ruta \samp{.:/dir}, \KPS{} revisa cada uno de los elementos de la ruta en orden: primero \file{./mi-archivo}, luego \file{/dir/mi-archivo}, que indica el primer archivo (o archivos) que correspondan con el mismo. Para poder adaptar óptimamente las convenciones de todos los sistemas operativos, en sistemas no-Unix \KPS{} puede usar separadores de los nombres de archivos, que difieren de dos puntos (\samp{:}) y barra oblicua (\samp{/}). Para revisar un elemento particular de ruta \var{p}, \KPS{} primero revisa si una base de datos prefabricada (vea ``Base de datos de nombres de archivos'' Filename data\-base) en la página~\ref{sec:filename-database} aplica a \var{p}, i.e., si la base de datos se encuentra en un directorio que es un prefijo de \var{p}. Si esto es así, la especificación de la ruta tiene que corresponder, con los contenidos de la base de datos. Si la base de datos no existe, o no aplica a este elemento de ruta, o no corresponde con ningún archivo, el sistema de archivos es escaneado (si esto no ha sido prohibido por alguna especificación que comience con \samp{!!}\ y si el archivo que está siendo buscado, ya existe). \KPS{} construye la lista de directorios que corresponde con este elemento de la ruta, y luego revisa en cada uno de estos elementos, por el archivo que se está buscando. El ``archivo tiene que existir'' es una condición que viene a relucir con los archivos \samp{.vf} y los archivos de ingreso que son leídos por el comando \cs{openin} de \TeX{}. Estos archivos quizás no existan (e.g., \file{cmr10.vf}), y por lo lo tanto, sería un error, en escanear el disco para encontrarlos. Por tal motivo, si usted comete el error en no actualizar \file{ls-R} cuando instala un archivo nuevo \samp{.vf}, este archivo nunca será encontrado. Aunque el elemento más simple y más común es el nombre de un directorio, \KPS{} respalda características adicionales, en las rutas de búsquedas: valores superpuestos estándar, nombres de variables del sistema, valores de configuración del archivo, directorios de usuarios, y búsqueda de subdirectorios recursivos. Por lo tanto, decimos que \KPS{} \emph{expande} un elemento de la ruta, que quiere decir que transforma todas las especificaciones, en nombre o nombres básicos de directorios. Esto es descrito en las siguientes secciones en el mismo orden que esto se lleva a cabo. Note que si el nombre de archivo que se está buscando, es un relativo absoluto, o implícitamente, i.e., comienza con \samp{/} o \samp{./} o \samp{../}, \KPS{} simplemente revisa si este archivo existe. \ifSingleColumn \else \begin{figure*} \verbatiminput{examples/ex5.tex} \setlength{\abovecaptionskip}{0pt} \caption{Un ejemplo ilustrativo de archivo de configuración} \label{fig:config-sample} \end{figure*} \fi \subsubsection{Orígenes de la ruta} \label{sec:path-sources} Una ruta de acceso, puede provenir de muchos orígenes. \KPS{} las utiliza, en el siguiente orden: \begin{enumerate} \item Una variable especificada por el usuario, por ejemplo, \envname{TEXINPUTS}\@. Variables de entorno del sistema con un punto y un nombre de programa impuesto, sobreponen; e.g., si \samp{latex} es el nombre del programa que está siendo ejecutado, entonces \envname{TEXINPUTS.latex} sobrepondrá \envname{TEXINPUTS}. \item Un archivo de configuración de un programa-específico, por ejem\-plo, una línea \samp{S /a:/b} en \file{config.ps} de \cmdname{dvips}. \item Un archivo de configuración \KPS{} \file{texmf.cnf}, conteniendo una línea \samp{TEXINPUTS=/c:/d} (vea más abajo). \item El tiempo de compilación estándar. \end{enumerate} \noindent Puede ver cada uno de estos valores para alguna ruta de búsqueda, usando opciones de depuración (vea ``Acciones de depuración'' en la página~\pageref{sec:debugging}). \subsubsection{Archivos Config} \KPS{} lee \emph{archivos de configuración ejecutables} nombrado \file{texmf.cnf} para la ruta de búsqueda y otras definiciones. La ruta de búsqueda que se utiliza para buscar estos archivos, es nombrada \envname{TEXMFCNF}, pero no recomendamos en especificar esta (o cualquier otra) variable que sobrescriba los directorios del sistema. En vez de esto, una instalación normal resulta en un archivo \file{.../2020/texmf.cnf}. Si tienes que hacer modificaciones o cambios a las configuraciones estándares (algo normalmente innecesario), este es el lugar para ponerlos. El principal archivo de configuración está en el archivo \file{.../2020/texmf-dist/web2c/texmf.cnf}. Usted no debe editar este último archivo, debido a que los cambios serán perdidos, tan pronto como la versión de la distribución sea actualizada. Como una nota adjunta, si lo que se desea es añadir un directorio personal a una ruta de búsqueda, especificando entonces una variable del entorno del sistema es un método razonable: \begin{verbatim} TEXINPUTS=.:/mi/macro/dir: \end{verbatim} Para que esta especificación pueda ser actualizada, mantenida y portable a través de los años, utilice un sobrante \samp{:} (y \samp{;} en Windows) para ingresar las rutas de búsqueda del sistema, en vez de escribirlo explícitamente (vea la sección~\ref{sec:default-expansion}). Otra opción sería utilizar el árbol de \envname{TEXMFHOME} (vea la sección~\ref{sec:directories}). \emph{Todos} los archivos \file{texmf.cnf} en la ruta de búsqueda serán leídos, y las definiciones en archivos más recientes, sobrepondrán aquellas definiciones de los primeros archivos. Por ejemplo, con una ruta de búsqueda de \verb|.:$TEXMF|, los valores de \file{./texmf.cnf} sobrepondrán aquellos de \verb|$TEXMF/texmf.cnf|. \begin{itemize*} \item Comentarios comienzan con ~\code{\%}, tanto al principio de la línea o precedida por espacio en blanco, y continúan así hasta el final de la línea. \item Líneas en blanco, son ignoradas. \item Un \bs{} en el final de la línea, actúa como un carácter de continuación, i.e., la próxima línea es adjunta. Espacio en blanco al comienzo de líneas continuativas no es ignorado. \item Cada línea restante, tiene la forma:\\ \hspace*{2em}\texttt{\var{variable} \textrm{[}.\var{progname}\textrm{]} \textrm{[}=\textrm{]} \var{value}}\\[1pt] donde el \samp{=} y espacio en blanco alrededor son opcionales. (Pero si el \var{valor} comienza con \samp{.}, es más simple utilizar \samp{=}, para evitar que el signo de punto sea interpretado como el calificativo del nombre del programa. \item El nombre de la \ttvar{variable} puede contener cualquier carácter otro que no sea un espacio en blanco, \samp{=}, o \samp{.}, pero lo más seguro es quedarse con \samp{A-Za-z\_}. \item Si \samp{.\var{progname}} está presente, la definición solamente aplica si el programa que está ejecutándose es nombrado \texttt{\var{progname}} o \texttt{\var{progname}.exe}. Esto permite, por ejemplo, diferentes sabores de \TeX{} que tengan diferentes rutas de búsquedas. \item Considerado como cadenas literales, el \var{value} puede consistir de cualquier carácter. Sin embargo, en la práctica la mayoría de los valores de \file{texmf.cnf} están relacionados con la expansión de la ruta, y debido a que varios caracteres especiales son usados durante esta expansión, (vea la sección ~\ref{sec:cnf-special-chars}), tales como llaves y comas, estos no se pueden usar en los nombres de los directorios. Un \samp{;} en \var{:}, es traducido a \samp{:} si el programa está ejecutándose bajo Unix, y de esta manera tener tan solo un \file{texmf.cnf} que pueda respaldar ambos sistemas Unix y Windows. Esta traducción sucede con cualquier valor, no tan solo con rutas de búsquedas, pero afortunadamente en la práctica \samp{;} no se necesita en otros valores. La función \code{\$\var{var}, \var{prog}} no está disponible a mano derecha; en vez de ello, se debe utilizar una variable adicional. \item Todas las definiciones son leídas antes de que cualquier cosa se expanda, de esta forma las variables pueden ser referidas antes que sean definidas. \end{itemize*} Un fragmento de un archivo de configuración que ilustra la mayoría de estos puntos es \ifSingleColumn mostrado abajo: \verbatiminput{examples/ex5.tex} \else muestra en Figura~\ref{fig:config-sample}. \fi \subsubsection{Expansión de la ruta} \label{sec:path-expansion} \KPS{} reconoce ciertos caracteres especiales y construcciones en rutas de búsqueda, similares a aquellos que están disponibles en las shells (intérprete de línea de órdenes o comandos) de Unix. Como ejemplo general, la ruta \verb+~$USER/{foo,bar}//baz+, expande a todos los subdirectorios bajo directorios \file{foo} y \file{bar} en el directorio de la casa de \texttt{\$USER} que contiene un directorio o archivo \file{baz}. Estas expansiones son explicadas en la sección más adelante. \subsubsection{Expansión estándar} \label{sec:default-expansion} Si la ruta de búsqueda de más alta prioridad (vea ``Orígenes de la ruta'' Path Sources) en la página~\ref{sec:path-sources} contiene un \emph{dos puntos} adicional (i.e., líderes, sobrantes, o dobles), \KPS{} inserta en ese punto, la próxima ruta de búsqueda de más alta prioridad que es definida. Si esa ruta insertada, tiene un extra punto, lo mismo sucede después con la próxima ruta que tiene más alta prioridad. Por ejemplo, dada la variable del sistema: \begin{alltt} > \Ucom{setenv TEXINPUTS /home/karl:} \end{alltt} y un valor \code{TEXINPUTS} del archivo \file{texmf.cnf} de \begin{alltt} .:\$TEXMF/tex \end{alltt} entonces el valor final usado para la búsqueda será: \begin{alltt} /home/karl:.:\$TEXMF//tex \end{alltt} Debido a que es innecesario insertar el valor estándar en más de un lugar, \KPS{} cambia solamente un extra \samp{:}\ y deja cualquier otro en su lugar. Primero revisa un líder \samp{:}, y luego un sobrante \samp{:}, y más tarde un doble \samp{:}. \subsubsection{Expansión de llaves} \label{sec:brace-expansion} Una función que es útil, es la expansión de llaves, lo cual quiere decir que, por ejemplo, \verb+v{a,b}w+ se expande a \verb+vaw:vbw+. Nidos son permitidos. Esto tiene su uso, para implementar múltiples jerarquías de \TeX{}, asignando una lista de llaves a \code{\$TEXMF}. En el archivo distribuido \file{texmf.cnf}, una definición como esta (simplificada para este ejemplo) es hecha: \begin{verbatim} TEXMF = {$TEXMFVAR,$TEXMFHOME, !!$TEXMFLOCAL,!!$TEXMFDIST} \end{verbatim} Después podemos usar esto para definir, por ejemplo, la ruta de ingreso de \TeX{}. \begin{verbatim} TEXINPUTS = .;$TEXMF/tex// \end{verbatim} lo cual quiere decir, que después de buscar en el directorio actual, los árboles \code{\$TEXMFVAR/tex}, \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, y \code{\$TEXMFDIST/tex}, \emph{solamente} serán buscados (los últimos dos, a través de los archivos de la base de datos \file{ls-R}). \subsubsection{Expansión del subdirectorio} \label{sec:subdirectory-expnsion} Dos o más barras oblicuas consecutivas, en un elemento de ruta después de un directorio \var{d}, es reemplazado por todos los subdirectorios de \var{d\/}: primero aquellos subdirectorios bajo \var{d}, después los sub-subdirectorios bajo ellos, y así sucesivamente. En cada nivel, el orden por el cual los directorios son buscados, \emph{no es especificado}. Si se especifica cualquier componente de un nombre de un archivo después de \samp{//}, solamente los subdirectorios con los componentes que correspondan, son incluidos. Por ejemplo, \samp{/a//b} expande a los directorios \file{/a/1/b}, \file{/a2b}, \file{a/1/1/b}, y así continúa, pero no a directorios como \file{/a/b/c}, o \file{/a/1}. Construcciones múltiples \samp{//} en una ruta, son posibles, pero \samp{//} en el comienzo de una ruta, es ignorado. \subsubsection{Un sumario de la lista de caracteres especiales en el archivo \file{texmf.cnf}} \label{sec:cnf-special-chars} La siguiente lista es un sumario de los caracteres especiales de los archivos de configuración de \KPS{}. % necesita un espacio más ancho para estos labels. \newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} \begin{ttdescription} \item[\CODE{:}] Separador en la especificación de la ruta, en el principio o el final de la ruta, o doble en el medio, substituye la expansión de la ruta estándar. \par \item[\CODE{;}] Separador en sistemas non-Unix (actúa como \code{:}). \item[\CODE{\$}] Expansión de variable. \item[\CODE{\string~}] Representa el directorio de casa del usuario. \item[\CODE{\char`\{...\char`\}}] Expansión de llaves. \item[\CODE{\,}] Separa todos los caracteres en expansión de llaves. \item[\CODE{//}] Expansión de subdirectorio (puede ocurrir en cualquier lugar de la ruta, excepto en el principio). \item[\CODE{\%}] Comienzo de comentario. \item[\CODE{\bs}] Al final de la línea, carácter de continuación (permite ingresos de múltiples líneas). \item[\CODE{!!}] Búsqueda \emph{solamente} en la base de datos para localizar el archivo, \emph{no} busca en el disco. \end{ttdescription} Exactamente saber cuando un carácter será considerado especial o actúe pos si solo, depende en el contexto en el cual este carácter es usado. Las reglas son inherentes en los niveles múltiples de configuración (análisis sintáctico, expansión, búsqueda, \ldots)\ y desafortunadamente por ese motivo, no se puede explicar concisamente. No hay ningún mecanismo general de escape, en particular \samp{\bs} no es un ``carácter de escape'' en los archivos \file{texmf.cnf}. Cuando se refiere a escoger nombres de directorios para una instalación, lo más confiable y seguro, es tratar de evitarlos todos. \subsection{Base de datos de nombres de archivos} \label{sec:filename-database} \KPS{} implementa todos los medios para minimizar el acceso al disco para las búsquedas. No obstante a ello, en el estándar \TL, buscar un posible directorio para un archivo dado, entre tantas instalaciones con suficientes directorios, puede tomar un tiempo excesivo. Por este motivo, \KPS{} puede utilizar una base de datos con texto regular que sea edificada externamente con el archivo nombrado \file{ls-R} que asigna estos archivos a los directorios, y evitando así que se agote una búsqueda en el disco. Un archivo \file{aliases} de una segunda base de datos, permite dar nombres adicionales a los archivos que están listados en \file{ls-R}. Esto puede ser útil, para confirmar las convenciones de nombre de archivos \acro{DOS} 8.3 en aquellos archivos originales. \subsubsection{La base de datos de nombres de archivos} \label{sec:ls-R} Como se explicó anteriormente, el nombre del principal nombre de archivo de la base de datos tiene que ser \file{ls-R}. Puede poner uno en la raíz de cada jerarquía de su instalación de \TeX{} para que así sea buscada (\code{\$TEXMF} por estándar. \KPS{} busca archivos \file{ls-R} alrededor de la ruta \code{TEXMFDBS}). La manera recomendable para crear y mantener \samp{ls-R} es mediante la ejecución de \code{mktexlsr}, que está incluído con la distribución. Es invocado por varios scripts \samp{mktex}. Como regla general, este script solo ejecuta el comando \begin{alltt} cd \var{/tu/raíz/texmf} && \path|/|ls -1LAR ./ >ls-R \end{alltt} asumiendo que tu sistema de \code{ls} produce el formato correcto en el resultado final (\GNU \code{ls} está bien). Para asegurarnos que la base de datos siempre esté actualizada, es más fácil en reedificar esta base de datos, regularmente, a través de \code{cron}, de esa manera es automáticamente actualizada cuando los archivos de instalación se hayan modificado, tal como ocurre después de instalar o actualizar un paquete de \LaTeX{}. Si un archivo no puede ser encontrado en la base de datos, \KPS{} por estándar o por norma, continúa la búsqueda en el disco. Sin embargo, si un elemento de la búsqueda comienza con \samp{!!}, solamente la búsqueda en la base de datos será para ese elemento como tal, y nunca en el disco. \subsubsection{kpsewhich: ruta de búsqueda independiente} \label{sec:invoking-kpsewhich} El programa \texttt{kpsewhich} ejercita la ruta de búsqueda, independiente de cualquier otra aplicación. Esto puede ser útil, como si fuese un programa \code{find} para localizar archivos en las jerarquías de \TeX{} ~(esto se utiliza bastante con los scripts o programas distribuidos por \samp{mktex}). \begin{alltt} > \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} \end{alltt} Las opciones especificadas en \ttvar{option} comienzan con \samp{-} o \samp{-{}-}, y muchas abreviaciones que no son ambiguas, son aceptables. \KPS{} busca cada argumento sin-opción, en la línea de comando, tal como un nombre de archivo, y enumera los resultados con el primer archivo que haya sido encontrado. No hay opción alguna para que produzca la lista de todos los archivos que se hayan encontrados, a través de un nombre en particular (usted puede ejecutar la utilidad de Unix \samp{find} para obtener eso). Las opciones más frecuentes son descritas a continuación: \begin{ttdescription} \item[\texttt{-{}-dpi=\var{num}}]\mbox{} Ajusta la resolución a \ttvar{num}; esto solamente afecta \samp{gf} y búsquedas de \samp{pk}. \samp{-D} es un sinónimo, para compatibilidad con \cmdname{dvips}. Estándar es 600. \item[\texttt{-{}-format=\var{name}}]\mbox{}\\ Ajusta el formato para buscar, a \ttvar{name}. Por estándar, el formato es averiguado por el nombre del archivo. Para aquellos formatos que no tienen un sufijo que no sea ambiguo, tales como los archivos de respaldo \MP{} y los archivos de configuración de \cmdname{dvips}, usted tiene que especificar el nombre, tal y como \KPS{} lo reconoce. Ejemplo de esto es \texttt{tex} o \texttt{enc archivos}. Ejecute en la línea del intérprete de comandos u órdenes \texttt{kpsewhich -{}-help-formats} para una lista con estas opciones. \item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ Ajusta el modo de nombre para \ttvar{string} (cadena de caracteres); esto solamente afecta las búsquedas de \samp{gf} y \samp{pk}. Cuando no es estándar: cualquier modo será encontrado. \item[\texttt{-{}-must-exist}]\mbox{}\\ Haz todo lo posible para encontrar los archivos, incluyendo comenzar la búsqueda en el disco. Por estándar, solamente la base de datos de \file{ls-R} es revisada, en el interés de eficiencia. \item[\texttt{-{}-path=\var{string}}]\mbox{}\\ Búsqueda a través de la ruta \ttvar{string} - cadena de caracteres - (separado por \emph{dos puntos}, como es usual), en vez de adivinar la ruta de búsqueda desde el nombre del archivo. \samp{//} y todas las expansiones que usualmente se utilizan, son respaldadas. Las opciones \samp{-{}-path} y \samp{-{}-format} son exclusivas. \item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ Especifique el nombre del programa a \texttt{\var{name}}. Esto puede afectar las rutas de búsquedas a través de \texttt{.\var{progname}}. El estándar es \cmdname{kpsewhich}. \item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ muestra la ruta que es utilizada para las búsquedas de archivo de tipo \texttt{\var{name}}. Tanto una extensión de nombre de archivo (\code{.pk}, \code{.vf}, etc.) o un nombre pueden ser usados, al igual que la opción \samp{-{}-format}. \item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ selecciona las opciones de depuración a \texttt{\var{num}}. \end{ttdescription} \subsubsection{Ejemplos de uso} \label{sec:examples-of-use} Vamos ahora a ver a \KPS{} en acción. Aquí hay una búsqueda transparente: \begin{alltt} > \Ucom{kspewhich article.cls} /usr/local/texmf-dist/tex/latex/base/article.cls \end{alltt} Estamos buscando el archivo \file{article.cls}. Debido a que el sufijo \samp{.cls} no es ambiguo, no necesitamos especificar que necesitamos encontrar un archivo de tipo \optname{tex} (los directorios de \TeX{} con los archivos originales). Lo encontramos en el subdirectorio \file{tex/latex/base}, justo debajo de \samp{texmf-dist} en el directorio de \TL{}. Similarmente, todos los ficheros que continúan posteriormente, son encontrados sin problemas gracias al sufijo no ambiguo. \begin{alltt} > \Ucom{kpsewhich array.sty} /usr/local/texmf-dist/tex/latex/tools/array.sty > \Ucom{kpsewhich latin1.def} /usr/local/texmf-dist/tex/latex/base/latin1.def > \Ucom{kpsewhich size10.clo} /usr/local/texmf-dist/tex/latex/base/size10.clo > \Ucom{kpsewhich small2e.tex} /usr/local/texmf-dist/tex/latex/base/small2e.tex > \Ucom{kpsewhich tugboat.bib} /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib \end{alltt} Hablando de esto, el último es una base de datos de bibliografía \BibTeX{} para artículos en \textsl{TUGboat}. \begin{alltt} > \Ucom{kpsewhich cmr10.pk} \end{alltt} Archivos bitmap (mapas representados con bits) del glifo de la fuente \file{.pk} son usados por los programas de visualización, como \cmdname{dvips} y \cmdname{xdvi}. Nada es generado en este caso, debido a que no hay archivos de Computer Modern pre-generados \samp{.pk} en \TL{}\Dash las variantes Type-1 son usadas por estándar. \begin{alltt} > \Ucom{kspewhich wsuipa10.pk} \ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk \else /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk \fi\end{alltt} Para estas fuentes (utilizando un alfabeto fonético de la Universidad de Washington) tuvimos que generar archivos \samp{.pk}, y debido a que el modo estándar \MF{} de nuestra instalación es \texttt{ljfour} con una base de resolución de 600\dpi{} (puntos por pulgadas), este valor es ingresado. \begin{alltt} > \Ucom{kpsewhich -dpi=300 wsuipa10.pk} \end{alltt} En este caso, cuando se especifica que estamos interesados en una resolución de 300\dpi (\texttt{-dpi=300}) vemos que tal fuente, no está disponible en este sistema. Un programa como \cmdname{dvips} o \cmdname{xdvi} edificaría sin problemas, los archivos requeridos \texttt{.pk}, usando el script \cmdname{mktexpk}. El próximo punto a tocar, son los archivos de configuración y cabecera de \cmdname{dvips}. Primero miramos a uno de los archivos comúnmente usados, el prólogo general \file{tex.pro} para respaldo de ayuda con \TeX{}, antes de hablar sobre la configuración genérica del archivo (\file{config.ps}) y el fichero del mapa \file{psfonts.map} de la fuente \PS{}\Dash que desde el 2004, estos archivos de mapas y codificaciones han tenido sus rutas de búsquedas y nuevas localizaciones, en los árboles de \dirname{texmf}. Debido a que el sufijo \samp{.ps} es ambiguo, tenemos que especificar explícitamente cuáles de estos tipos de fuentes, tenemos que considerar de la configuración (\optname{dvips config}) para el archivo \texttt{config.ps}. \begin{alltt} > \Ucom{kpsewhich tex.pro} /usr/local/texmf/dvips/base/tex.pro > \Ucom{kpsewhich --format="dvips config" config.ps} /usr/local/texmf/dvips/config/config.ps > \Ucom{kpsewhich psfonts.map} /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map \end{alltt} Ahora le damos un vistazo más cerca, a los archivos de respaldo \PS{} para \acro{URW} Times. El prefijo para estos en el esquema estándar de fuentes es \samp{utm}. El primer archivo que tenemos es el archivo de configuración, el cual contiene el nombre de los archivos con mapas de las fuentes. \begin{alltt} > \Ucom{kpsewhich --format="dvips config" config.utm} /usr/local/texmf-dist/dvips/psnfss/config.utm \end{alltt} Los contenidos de ese archivo son \begin{alltt} p +utm.map \end{alltt} el cual apunta al archivo \file{utm.map}, que queremos localizar a continuación. \begin{alltt} > \Ucom{kpsewhich utm.map} /usr/local/texmf-dist/fonts/map/dvips/times/utm.map \end{alltt} Este archivo con el mapa de la fuente, define los nombres de archivos, de Type-1 de la colección de URW. Sus contenidos son parecidos a estos (solamente mostramos parte de las líneas): \begin{alltt} utmb8r NimbusRomNo9L-Medi ... \Ucom{kpsewhich utmr8A.pfb} \ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb \else /usr/local/texmf-dist/fonts/type1/ ... urw/utm/utmr8a.pfb \fi\end{alltt} Debe ser evidente, mediante estos ejemplos, como se puede localizar fácilmente las localizaciones de algún archivo. Esto es especialmente importante, si sospechas que la versión equivocada de algún archivo, es identificada primero, debido a que \cmdname{kpsewhich} mostrará el primer archivo con que se tropieza. \subsubsection{Acciones de depuración o ``debugging''} \label{sec:debugging} Algunas veces es necesario, investigar como un programa resuelve las referencias de un archivo. Para hacer esto más práctico, \KPS{} ofrece varios niveles de la salida de depuración, resultados de la depuración, o debugging: \begin{ttdescription} \item[\texttt{\ 1}] \texttt{Llamadas inmediatas} (búsquedas en el disco) Cuando se está operando con una base de datos \file{ls-R} actualizada, esto casi siempre, no devuelve un resultado en la salida. \item[\texttt{\ 2}] Referencias a las tablas hash (tales como \file{ls-R} base de datos, archivos de los mapas, y archivos de configuración). \item[\texttt{\ 4}] Operaciones para abrir y cerrar archivos. \item[\texttt{\ 8}] Información general de la ruta, para los tipos de archivos que son buscados por \KPS{}. Esto se ha mostrado útil, para encontrar el origen donde una ruta en particular de algún archivo, haya sido definida. \item[\texttt{16}] Lista de directorio, para cada elemento en la ruta (solamente búsquedas relevantes en el disco). \item[\texttt{32}] Búsqueda de archivos. \item[\texttt{64}] Valores de las variables. \end{ttdescription} Un valor de \texttt{-1} fijará todas las opciones anteriores; en práctica, esto es usualmente lo más conveniente. De igual manera, con el programa de \cmdname{dvips}, se puede especificar una combinación de interruptores de depuración (o debugging switches), uno puede averiguar con detalles, la localización donde los archivos están siendo identificados. Alternativamente, cuando un archivo no es encontrado, el rastro de esta depuración, (trace debug) muestra los directorios, donde el programa busca un archivo determinado. De esta manera uno puede tener una idea que le indique, donde está el problema. Por lo general, debido a que muchos programas contactan la librería interna de \KPS{}, uno puede seleccionar una opción de depuración (debug), usando la variable del sistema \envname{KPATHSEA\_DEBUG}, y configurándola así a (una combinación) de valores, como fue descrito anteriormente. (Nota para los usuarios de Windows: no es tan fácil, redirigir todos los mensajes a un archivo dentro de este sistema. Por razones de diagnósticos, uno puede temporalmente ajustar \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). Consideremos por un momento, el siguiente ejemplo, un pequeño archivo original de \LaTeX{}, el archivo \file{hello-world.tex}, el cual contiene el siguiente ingreso. \begin{verbatim} \documentclass{article} \begin{document} Hello World! \end{document} \end{verbatim} Este pequeño archivo, solamente utiliza la fuente \file{cmr10}. Veamos entonces como \cmdname{dvips} prepara el archivo de \PS{} (queremos hacer uso de la versión Type-1 de las fuentes de Computer Modern, por tal motivo la opción \texttt{-Pcms}). \begin{alltt} > \Ucom{dvips -d4100 hello-world -Pcms -o} \end{alltt} En este caso hemos combinado, la clase 4 de depuración \cmdname{dvips} con el elemento de expansión de \KPS{} (vea el manual de referencia de \cmdname{dvips}). El resultado (reordenado un poco) aparece en la figura~\ref{fig:dvipsdbga}. \begin{figure*}[tp] \centering \input{examples/ex6a.tex} \caption{Encontrando archivos de configuración}\label{fig:dvipsdbga} \bigskip \input{examples/ex6b.tex} \caption{Encontrando el archivo prolog}\label{fig:dvipsdbgb} \bigskip \input{examples/ex6c.tex} \caption{Encontrando el archivo de la fuente}\label{fig:dvipsdbgc} \end{figure*} \cmdname{dvips} comienza localizando los archivos de trabajo. Primero, \file{texmf.cnf} es encontrado, el cual provee las definiciones de las rutas de búsqueda para los otros archivos, y luego la base de datos de archivos \file{ls-R} (para optimizar la búsqueda de archivo) y el archivo \file{aliases}, el cual hace posible la declaración de varios nombres (e.g., una breve versión similar a \acro{DOS} 8.3 y una versión más natural larga) para el mismo archivo. Después de esto, el \cmdname{dvips} continúa para encontrar la configuración genérica de \file{config.ps} antes de seguir buscando el archivo de ajustes de personalización \file{.dvipsrc} (el cual, en este caso \emph{no es encontrado}). Finalmente, \cmdname{dvips} localiza el archivo de configuración \file{config.cms} para las fuentes \PS{} de Computer Modern (esto fue iniciado con la opción de \texttt{-Pcms} en \cmdname{dvips}). Este archivo contiene la lista de los archivos de mapas, el cual define la relación entre los nombres de las fuentes de \TeX{}, \PS{}, y el sistema de archivos. \begin{alltt} > \Ucom{más /usr/local/texmf/dvips/cms/config.cms} p +ams.map p +cms.map p +cmbkm.map p +amsbkm.map \end{alltt} \cmdname{dvips} de esa manera continúa para encontrar todos estos archivos, en adición al archivo del mapa \file{psfonts.map}, el cual siempre es cargado (contiene declaraciones para fuentes de \PS{} que son comúnmente usadas; vea la última parte de Sección \ref{sec:examples-of-use} para más detalles acerca de la manipulación de archivos de mapas \PS{}). Ya a este punto, \cmdname{dvips} se auto-identifica al usuario: \begin{alltt} This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) \end{alltt} \ifSingleColumn Luego comienza a buscar el archivo prolog \file{texc.pro}: \begin{alltt}\small kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro \end{alltt} \else Luego comienza a buscar el prolog file \file{texc.pro}(vea Figura~\ref{fig:dvipsdbgb}). \fi Después de encontrar este archivo, \cmdname{dvips} nos da los resultados con la fecha y la hora, y nos informa que generará el archivo \file{hello-world.ps}. Consiguientemente, necesita el archivo de fuente \file{cmr10}, y que este último es declarado como ``residente''(bitmaps o mapas de bits no son necesitadas): \begin{alltt}\small TeX output 1998.02.26:1204' -> hello-world.ps Defining font () cmr10 at 10.0pt Font cmr10 is resident. \end{alltt} Ahora la búsqueda es por el archivo \file{cmr10.tfm}, el cual es encontrado. Después de esto, unos cuantos más archivos prolog (no se muestran) son ingresados como referencias, y finalmente la instancia de Typo-1 \file{cmr10.pfb} de la fuente, es localizada e incluida en el archivo de resultados (vea la última línea). \begin{alltt}\small kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: /var/tex/fonts/tfm//). kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0), ... kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb [1] \end{alltt} \begin{alltt}\small kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: /var/tex/fonts/tfm//). kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, ... kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb [1] \end{alltt} \subsubsection{Opciones de ejecución} Una función útil de \Webc{} es la posibilidad de controlar un número de parámetros de memoria (en particular, tamaños de matrices) a través de la ejecución del archivo \file{texmf.cnf} que es leído por \KPS{}. Las configuraciones de la memoria pueden ser encontradas en Parte-3 de ese archivo en la distribución de \TL{}. Las más importantes son: \begin{ttdescription} \item[\texttt{main\_memory}] Total de palabras de memoria disponible, para \TeX{}, \MF{} y \MP. Usted puede hacer un nuevo archivo de formato, para todas las diferentes configuraciones. Por ejemplo, usted pudiese generar una ``inmensa'' versión de \TeX{}, y nombrar el archivo formateado \texttt{inmensotex.fmt}. Utilizando la manera estándar de especificar el nombre del programa que es usado por \KPS{}, el valor particular de la variable \texttt{main\_memory} se leerá de \file{texmf.cnf}. \item[\texttt{extra\_mem\_bot}] Espacio extra para estructuras ``grandes'' de \TeX: cajas, pegamentos, puntos de interrupción, etc. Especialmente útil si se utiliza \PiCTeX{}. \item[\texttt{extra\_mem\_bot}] Número de palabras para la información de fuente disponible para \TeX. Esto es más o menos el tamaño total de todos los archivos \acro{TFM} que fueron leídos. \item[\texttt{hash\_extra}] Espacio adicional para la tabla hash, de la secuencia de control de nombres. Solamente un aproximado de $\approx$10,000 secuencias de control pueden ser almacenadas en la tabla hash; si usted tiene por ejemplo, un libro con numerosas referencias, esto quizás no será suficiente. El valor estándar de \texttt{hash\_extra} es \texttt{50000}. \end{ttdescription} \noindent Esta función no es substituto con las matrices realmente dinámicas y con la asignación de memoria, pero debido a que es extremadamente difícil implementar en el archivo original \TeX{}, estos parámetros de ejecución proveen una práctica comprometedora, que permite cierta flexibilidad. \htmlanchor{texmfdotdir} \subsection{\texttt{\$TEXMFDOTDIR}} \label{sec:texmfdotdir} En varios lugares anteriormente, dimos varias rutas de búsqueda que comenzaban con \code{.} (para encontrar el actual directorio primero), como en \begin{alltt}\small TEXINPUTS=.;$TEXMF/tex// \end{alltt} Esto es una simplificación. El archivo \code{texmf.cnf} que distribuimos en \TL{} utiliza \filename{$TEXMFDOTDIR} en vez de: \begin{alltt}\small TEXINPUTS=$TEXMFDOTDIR;$TEXMF/tex// \end{alltt} (En el fichero que se distribuye, el segundo elemento de ruta es un poco más complicado que \filename{$TEXMF-/tex//}. Pero eso es leve; aquí queremos hablar de la característica de \filename{$TEXMFDOTDIR}.) La razón para utilizar la variable \filename{$TEXMFDOTDIRR} en las definiciones de la ruta en vez de simplemente \samp{.}, es puramente porque puede ser sobrescrita. Por ejemplo, un documento complejo puede tener muchos más ficheros de origen que estén organizados en muchos directorios. Para ocuparnos de esto, usted puede configurar \filename{TEXMFDOTDIR} con \filename{.//} (por ejemplo, en el entorno del sistema cuando se está preparando el documento) y de esta manera todos serán encontrados durante esa búsqueda. (Advertencia: No utilices \filename{.//} predeterminado o estándar; esto no es recomendable, y potencialmente inseguro el escanear todos los subdirectorios po Como otro ejemplo, usted quizás no quiera buscar nada en el actual directorio, e.g., si haz organizado todos los archivos que se encuentren mediante rutas de búsqueda explícitas. Puede configurar \filename{$TEXMFDOTDIR} a digamos \filename{/nonesuch} o cualquier otro directorio inexistente para esto. El valor estándar de \filename{$TEXMFDOTDIR} es solamente \samp{.}, como está configurado en \filename{texmf.cnf} \htmlanchor{ack} \section{Agradecimientos} \TL{} es un esfuerzo unido, por virtualmente todos los grupos de usuarios de \TeX{}. Esta edición de \TL{} fue supervisada por Karl Berry. Los otros principales contribuidores, pasados y presentes, aparecen en la siguiente lista: \begin{itemize*} \item Los grupos de usuarios en inglés, alemán, holandés, y polaco de \TeX{} (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, y \acro{GUST}, respectivamente), que proveyeron la infraestructura técnica y administrativa. Por favor, !`forme parte de un grupo \TeX\ cerca de usted! (Vea \url{https://tug.org/usergroups.html}.) \item El equipo de \acro{CTAN}, (\url{https://ctan.org}) que distribuye las imágenes de \TL{} y proveen la infraestructura común para actualizaciones de paquetes, en los cuales \TL{} depende. \item Nelson Beebe, por hacer muchas plataformas disponibles a constructores de \TL\, y su propia comprehensiva revisión. \item John Bowman, por hacer muchos cambios a su avanzado programa gráfico Asymptote, que trabaje con \TL. \item Peter Breitenlohner y el equipo \eTeX\ por la fundación estable del futuro de \TeX, y Peter específicamente por la ayuda estelar por la utilización de \GNU\ autotools a través de \TL. \item Jin-Hwan Cho y todo el equipo de DVIPDFM$x$, por su excelentes drivers y respuestas con problemas de configuración. \item Thomas Esser, quien sin su contribución, el maravilloso paquete \teTeX{} para \TL{} nunca hubiese existido. \item Michel Goosens, por la co-autoría de la documentación original. \item Eitan Gurari, cuyo \TeX4ht es usado para crear la version de esta documentación en \HTML{}, y quien trabajó esforzadamente todos los años para mejorar este código. Eitan falleció en junio del 2009, y dedicamos esta documentación a su memoria. \item Hans Hagen, por mucha revisión y por hacer su formato de \ConTeXt\ (\url{https://pragma-ade.com}) que funcione dentro del marco de funcionalidad de \TL. \item \Thanh, Martin Schr\"oder, y el equipo de pdf\TeX\ (\url{http://pdftex.org}) por la continuación de adiciones a las habilidades de \TeX. \item Hartmut Henkel, por significantes contribuciones al desarrollo de pdf\TeX, Lua\TeX, y mucho más. \item Shunshaku Hirata, for much original and continuing on DVIPDFM$x$. \item Taco Hoekwater, por renovados esfuerzos de desarrollo en MetaPost y el mismo (Lua)\TeX\ (\url{http://luatex.org}), incorporando \ConTeXt\ en \TL, y dándole a Kpathsea una característica de multi-procesos, y mucho más. \item Pawe{\l} Jackowski, por el instalador de Windows \cmdname{tlpm}, y Tomasz {\L}uczak, por \cmdname{tlpmgui}, que ha sido usado en versiones anteriores. \item Akira Kakuto, por proveer los binarios de Windows de su distribución \acro{W32TEX} para \TeX\ en japonés (\url{http://w32tex.org}), y muchas otras contribuciones de desarrollo. \item Hironori Kitagawa, for much work on p\TeX\ and related support. \item Jonathan Kew, por desarollar el impresionante motor de \XeTeX{} y por tomar su tiempo, en resolver el problema de integrarlo en \TL{}, al igual que la versión inicial del instalador de Mac\TeX{}, y también por nuestro recomendable programa \TeX{}works. \item Dick Koch, por la mantención de Mac\TeX\ (\url{https://tug.org/mactex}) en estrecha colaboración con \TL{}, y por su gran entusiasmo en hacerlo. \item Reinhard Kotucha, por sus grandes contribuciones a la infraestructura y el instalador de \TL{} 2008, al igual que por su esfuerzo con la investigación de Windows, el script de \texttt{getnonfreefonts}, y mucho más. \item Siep Kroonenberg, también por sus enormes contribuciones a la infraestructura e instalador de \TL{} 2008, especialmente en Windows, y por su trabajo en actualizar este manual, donde describe muchas de estas funciones. \item Clerk Ma, for engine bug fixes and extensions. \item Mojca Miklavec, por muchísima ayuda con \ConTeXt, edificando muchos conjuntos de binarios y mucho más. \item Heiko Oberdiek, por su paquete \pkgname{epstopdf} y muchos otros, también por comprimir los archivos de datos del extenso \pkgname{pst-geo} y de esa manera poder incluirlo, pero por encima de todo, por su notable trabajo con \pkgname{hyperref}. \item Phelype Oleinik, for the group-delimited \cs{input} across engines in 2020, and more. \item Petr Ol\v{s}ak, quien coordinó y revisó cuidadosamente todo el material eslovaco y checoslovaco. \item Toshio Oshima, por su pre-visualizador \cmdname{dviout} para Windows. \item Manuel P\'egouri\'e-Gonnard, por ayudar con actualizaciones de paquetes, mejorías en la documentación, y por su participación con el desarrollo de \cmdname{texdoc}. \item Fabrice Popineau, por su respaldo original de Windows en \TL{} y trabajo con la documentación francesa. \item Norbert Preining, el principal arquitecto de la actual infraestructura e instalador de \TL{}, y también por la coordinación de la versión de \TL{} para Debian (junto con Frank K\"uster), y trabajando tanto durante todo el proceso. \item Sebastian Rahtz, por originalmente crear \TL{} y mantenerlo por varios años. \item Phil Taylor, por ajustar las descargas BitTorrent. \item Luigi Scarso, por el continuo desarrollo de MetaPost, LuaTeX, y mucho más. \item Andreas Scherer, for \texttt{cwebbin}, the CWEB implementation used in \TL{}. \item Tomasz Trzeciak, por su amplia ayuda con Windows. \item Vladimir Volovich, por su substancial ayuda con la migración y otros problemas de mantenimiento, y especialmente por hacer más asequible el programa \cmdname{xindy}. \item Staszek Wawrykiewicz, el principal evaluador para todo \TL{}, y coordinador de las mayores contribuciones polacas: fuentes, instalación en Windows, y mucho más. Staszek falleció en Febrero del 2018, y dedicamos el continuo trabajo a su memoria. \item Olaf Weber, por su paciente mantenimiento de \Webc. \item Gerben Wierda, por crear y mantener el original apoyo técnico de \MacOSX. \item Graham Williams, el creador del Catálogo de \TeX. \item Joseph Wright, for much work on making the same primitive functionality available across engines. \item Hironobu Yamashita, for much work on p\TeX\ and related support. \end{itemize*} Edificadores de los binarios: Marc Baudoin (\pkgname{amd64-netbsd}, \pkgname{i386-netbsd}), Ken Brown (\pkgname{i386-cygwin}, \pkgname{x86\_64-cygwin}), Simon Dales (\pkgname{armhf-linux}), Johannes Helschier (\pkgname{aarch64-linux}), Akira Kakuto (\pkgname{win32}), Dick Koch (\pkgname{x86\_64-darwin}), Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), Henri Menke (\pkgname{x86\_64-linuxmusl}), Mojca Miklavec (\pkgname{i386-linux}, \pkgname{x86\_64-darwinlegacy}, \pkgname{i386-solaris}, \pkgname{x86\_64-solaris}, \pkgname{sparc-solaris}), Norbert Preining (\pkgname{x86\_64-linux}), Thomas Schmitz (\pkgname{powerpc-linux}), Boris Veytsman (\pkgname{armel-linux}). Para información en el proceso de edificación de \TL{} vea \url{https://tug.org/texlive/build.html}. Traductores de este manual: Boris Veytsman (ruso), Jjgod Jiang, Jinsong Zhao, Yue Wang, y Helin Gai (chino), Uwe Ziegenhagen (alemán), Manuel P\'egouri\'e-Gonnard, Denis Bitouz\'e, y Patrick Bideault (francés), Marco Pallante y Carla Maggi (italiano), Nikola Le\v{c}i\'c (serbio), Petr Sojka \& Jan Busa (eslovaco checoslovaco), Staszek Wawrykiewicz y Zofia Walczak (polaco), Carlos Enriquez Figueras (español). La página en el internet de la documentación de \TL{} es \url{https://tug.org/texlive/doc.html}. Por supuesto que el más importante reconocimiento tiene que ir a Donald Knuth, primero antes que todo por inventar \TeX, y después por dárselo al mundo. \section{Historia del lanzamiento} \label{sec:history} \subsection{Pasado} Conversaciones comenzaron a finales de 1993, cuando el Grupo de Usuarios Holandés de \TeX{} comenzó a trabajar en su \CD{} 4All\TeX{} para usuarios de \acro{MS-DOS}, y en ese momento sólo se esperó en producir un sencillo, y racional \CD{} para todos los sistemas. El gol de este proyecto era bastante ambicioso, durante el tiempo que esto se quería llevar a cabo. No obstante a ello esto generó no tan solo el primer \CD{} 4Aall\TeX{}, pero también el grupo de trabajo y Consejo Técnico \acro{TUG} en la \emph{Estructura del Directorio de TeX} (\url{https://tug.org/tds}), el cual especificó cómo crear colecciones consistentes y manejables de los archivos de apoyo y ayuda de \TeX{}. Una muestra completa del proyecto de \TDS{} fue publicado en el ejemplar de diciembre de 1995 de \textsl{TUGboat}, y fue evidente desde temprano, que un producto deseado, estaría basado en un modelo de estructura mediante un \CD{}. La distribución que usted tiene en sus manos, es un resultado directo, de las deliberaciones de este grupo de trabajo. También estaba esclarecido que el éxito del \CD{} 4All\TeX{} mostró que los usuarios de Unix se beneficiarían de un sistema fácil, y este es el otro principal motivo de \TL. En el otoño de 1995, fue cuando nos dedicamos en realizar un \CD{} \TDS{} basado en Unix, y rápidamente identificamos el \teTeX{} de Thomas Esser, como la configuración ideal, debido a que ya tenía apoyo para múltiples plataformas y fue construido con portabilidad a través de varios sistemas. Thomas acordó en ayudar, y el trabajo comenzó seriamente en el comienzo de 1996. La primera edición fue lanzada en mayo de 1996. A principios de 1997, Karl Berry completó una edición nueva de Web2c, el cual incluyó casi todas las funciones que Thomas Esser había añadido en \teTeX, y decidimos basar la 2a edición del \CD{} en el estándar \Webc, con la adición del script \texttt{texconfig} de \teTeX. La 3a edición del \CD{} fue basada en una mayor revisión de \Webc, 7.2, por Olaf Weber; y durante el mismo tiempo, una nueva revisión de \teTeX estaba siendo llevado a cabo, y \TL{} incluyó casi todas sus funciones. La 4a edición seguía el mismo patrón, usando una nueva versión de \teTeX, y un nuevo lanzamiento de \Webc{} (7.3). El sistema ahora incluye configuraciones completas para Windows. Para la 5a edición (marzo del 2000), muchas partes del \CD{} fueron revisadas y chequeadas, actualizando cientos de paquetes. Los detalles de los paquetes fueron almacenados en archivos XML. Pero el cambio más grande para \TeX\ Live 5, fue que todos los programas no-libres, fueron removidos. Todo en \TL{} está ahora con el propósito de que sea compatible con las Directrices de Programas Libres de Debian, como está reflejado en Debian Free Software Guidelines (\url{https://www.debian.org/intro/free.es.html}); hemos hecho nuestro mejor esfuerzo en revisar las condiciones de la licencia para todos los paquetes, pero agradeceríamos muchísimo, escuchar de cualquier error cometido. La 6a edición (julio del 2001) tuvo mucho más material actualizado. El mayor cambio fue el de un concepto nuevo de instalación: el usuario pudiese seleccionar un set de colecciones más exacto. Las colecciones relacionadas con lenguajes, fueron completamente reorganizadas, de esa manera, seleccionando cualesquiera de estas, instala no solo los macros, sino también las fuentes, etc., pero también prepara un apropiado archivo \texttt{language.dat} La 7a edición de 2002 tuvo la notable adición de respaldo a \MacOSX{}, y las vastas posibilidades de actualizaciones a todo tipo de programas y paquetes. Un gol importante fue la integración de los archivos originales con \teTeX, para corregir la separación entre versiones 5 y 6. \subsubsection{2003} En el 2003, con la continua inundación de actualizaciones y adiciones, nos dimos cuenta que \TL{} había crecido de tal manera, que un solo \CD{} no podía contenerlo, y por ese motivo lo separamos en tres diferentes distribuciones (vea la sección~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). En adición a esto: \begin{itemize*} \item A petición del equipo de \LaTeX{}, modificamos los comandos estándares \cmdname{latex} y \cmdname{pdflatex} (vea \p. \pageref{text:etex}). \item Las nuevas fuentes de Latin Modern fueron incluidas (y ahora son recomendadas). \item Respaldo para Alpha \acro{OSF} fue removido (ayuda para \acro{HPUX} fue removida previamente), debido a que nadie tenía (o voluntariamente ofreció) equipos que estuviesen disponibles para compilar nuevos binarios. \item Las configuraciones de Windows, fueron substancialmente cambiados; por primera vez, todo un sistema basado en XEmacs, fue introducido. \item Programas suplementarios muy importantes para Windows, (Perl, Ghost\-script, Image\-Magick, Ispell) ahora fueron instalados en el directorio de instalación de \TL. \item Archivos con los mapas de las fuentes que son usados por \cmdname{dvips}, \cmdname{dvipdfm}, y \cmdname{pdftex} ahora son generados por el nuevo programa \cmdname{updmap} e instalados en \dirname{texmf/fonts/map}. \item \TeX{}, \MF{}, y \MP{} ahora, como estándar, ofrece los resultados de ingresos de caracteres (32 y por encima) como ellos mismos, en la producción de resultados (e.g., archivos \verb|\write|), archivos de registro de datos, y la terminal de intérprete de comandos, i.e., \emph{no} traducido mediante el uso de la notación \verb|^^|. en \TL{}-7, esta traducción dependía en las configuraciones locales del sistema; mientras que ahora, las configuraciones locales no influyen el funcionamiento de los programas \TeX{}. Si por alguna razón se necesita el resultado que produce \verb|^^|, renombra el archivo \verb|texmf/web2c/cp8bit.tcx|. (Las versiones futuras tendrán maneras más limpias en controlar esto). \item Esta documentación fue substancialmente revisada. \item Finalmente, debido a que los números de las versiones, han incrementado de manera inconsistente, el número de la versión es identificada por el año: \TL{} 2003. \end{itemize*} \subsubsection{2004} En el 2004 se vieron muchos cambios: \begin{itemize*} \item Si se habían instalado las fuentes a los directorios locales, los cuales usan sus propios archivos de soporte, como \filename{.map} o \filename{.enc} (mucho menos propenso este último) usted tendrá que mover estos archivos de respaldo. Los archivos \filename{.map} se buscan ahora en los subdirectorios \dirname{fonts/map}, solamente (en cada árbol de \filename{texmf}), junto con la ruta del sistema \envname{TEXFONTMAPS}. De similar manera, los archivos \filename{.enc}, son ahora buscados en los directorios \dirname{fonts/enc} solamente, a través de la ruta del sistema \envname{ENCFONTS}. El comando \cmdname{updmap}, atentará de advertirle sobre cualquier problema. Para métodos en manipular esto y otra información, por favor de ver \url{https://tug.org/texlive/mapenc.html}. \item El \TK\ ha sido expandido con la adición de un \CD{} de instalación basado en \MIKTEX{}, para aquellos que prefieren la implementación a Web2C. Vea la sección~\ref{sec:overview-tl} (\p. \pageref{sec:overview-tl}). \item Dentro de \TL, el único e inmenso árbol \dirname{texmf}, de versiones anteriores, fue reemplazado por tres: \dirname{texmf}, \dirname{texmf-dist}, y \dirname{texmf-doc}. Vea la sección~\ref{sec:tld} (\p. \pageref{sec:tld}), y los archivos \filename{README} para cada uno. \item Todos los archivos de ingreso relacionados con \TeX{} son ahora coleccionados en el subdirectorio \dirname{tex} de los árboles de \dirname{texmf*}, en vez de tener directorios parientes separados \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, etc. Vea \CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} {\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. \item Los scripts de ayuda (que no están supuestos a ser invocados por los usuarios) están ahora localizados en un nuevo subdirectorio \dirname{scripts} de los árboles \dirname{texmf*}, y pueden ser buscados mediante la vía de \verb|kpsewhich -format=texmfscripts|. Por lo tanto si tiene programas que operan bajo estos scripts, necesitarán ser ajustados. Vea \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} {\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. \item Casi todos los formatos, dejan los caracteres imprimibles como ellos mismos mediante la vía de ``archivo de traducción'' \filename{cp227.tcx}, en vez de ser traducidos a la notación \verb|^^|. Específicamente, caracteres en las posiciones 32--256, tabulador de adición, tabulador vertical, y marcadores de saltos de páginas son considerados imprimibles y no son traducidos. Las excepciones son los formatos de \TeX\ (solamente 32--126 imprimible), \ConTeXt\ (0--255 imprimible), y aquellos relacionados con \OMEGA{}. Este funcionamiento estándar es casi el mismo en \TL\,2003, pero es implementado más limpiamente, con más posibilidades para la personalización que el usuario necesite. Vea \CDref{texmf-dist/doc/web2c/web2c.html\#TCX-files} {\texttt{texmf-dist/doc/web2c/web2c.html\#TCX-files}}. (Hablando de esto, con el ingreso de Unicode, \TeX\ puede producir resultados con secuencias parciales de caracteres cuando muestre contextos de errores, por la razón que es octeto-orientado u orientado con byte). \item \textsf{pdfetex} es el motor estándar para todos los formatos, excepto el \textsf{tex} básico como tal. (Por supuesto que genera \acro{DVI} cuando se ejecuta como \textsf{latex}, etc.) Esto quiere decir, entre varias cosas, que las funciones micro-tipográficas de \textsf{pdftex} están disponibles en \LaTeX{}, \ConTeXt, etc., al igual que las funciones de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). \item También quiere decir que \emph{más importante que nunca antes} la funcionalidad del paquete \pkgname{ifpdf} (trabaje con ambos, con \TeX\ básico y \LaTeX) o código equivalente, porque con simplemente evaluar si \cs{pdfoutput} o cualquier otro primitivo es definido, esto no es una manera confiable en determinar si el resultado de \acro{PDF} está siendo generado. Hicimos esto retroactivamente compatible, de la mejor manera que pudimos hacerlo este año, pero el próximo año, \cs{pdfoutput} pudiese ser definido incluso cuando \acro{DVI} haya sido escrito. \item pdf\TeX\ (\url{http://pdftex.org}) tiene muchas nuevas funciones: \begin{itemize*} \item \cs{pdfmapfile} y \cs{pdfmapline} proveen respaldo con los archivos de los mapas de las fuentes, dentro del mismo documento. \item Expansión micro-tipográfica puede ser usado más fácilmente.\\ \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} \item Todos los parámetros previamente configurados, a través del archivo de configuración \filename{pdftex.cfg} tienen que ser ahora a través de primitivos, típicamente en \filename{pdftexconfig.tex}; \filename{pdftex.cfg} no es respaldado más. Cualquier subsiguiente archivo \filename{.fmt} tiene que desecharse nuevamente, tan pronto cuando \filename{pdftexconfig.tex} haya sido modificado. \item Vea el manual de pdf\TeX\ para más información: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. \end{itemize*} \item El primitivo \cs{input} en \cmdname{tex} (y \cmdname{mf} y \cmdname{mpost}) ahora acepta doble apóstrofe, y puede contener espacios, y caracteres especiales. Ejemplos típicos: \begin{verbatim} \input "archivo con espacios" %plain \input{"archivo con espacios"} %latex \end{verbatim} Vea el manual de Web2c para más información sobre esto: \OnCD{texmf-dist/doc/web2c}. \item Respaldo técnico para enc\TeX\ está ahora incluído dentro de Web2C y consiguientemente para todos los programas de \TeX{}, mediante la opción \optname{~enc} \Dash \emph{solamente cuando los formatos sean edificados}. enc\TeX\ respalda la re-codificación de ingreso y salida, permitiendo el apoyo completo de Unicode (en \acro{UTF}-8). Vea \OnCD{texmf-dist/doc/generic/enctex/} y \url{http://olsak.net/enctex.html}. \item Aleph, un nuevo motor que combina \eTeX\ y \OMEGA, está disponible. Un poco de información está disponible en \OnCD{texmf-dist/doc/aleph/base} y en \url{https://texfaq.org/FAQ-enginedev} El formato que está basado en \LaTeX\ para Aleph es nombrado \textsf{lamed}. \item El último lanzamiento de \LaTeX\ tiene una nueva versión de la licencia \acro{LPPL}\Dash ahora oficialmente una licencia-aprobada por Debian. Para otras actualizaciones, vea los otros archivos \filename{ltnews} en el \OnCD{texmf-dist/doc/latex/base}. \item \cmdname{dvipng}, un nuevo programa conversor de archivos de imágenes de \acro{DVI} a \acro{PNG} está incluido. Vea \url{https://www.ctan.org/pkg/dvipng}. \item Reducimos el paquete \pkgname{cbgreek} a un tamaño ``mediano'' de set de fuentes, con el consejo del autor (Claudio Beccari). Las fuentes extraídas, son las invisibles, esbozadas, y transparentes, las cuales son relativamente y raramente utilizadas, y necesitábamos el espacio de almacenamiento. El set completo, por supuesto que está disponible (\url{https://ctan.org/pkg/cbgreek-complete}). \item Los comandos (enlaces) \cmdname{ini} y \cmdname{vir} para \cmdname{tex}, \cmdname{mf}, y \cmdname{mpost} ya no son creados, tales como \cmdname{initex}. La funcionalidad del comando \cmdname{ini} ha estado disponible a través de las opciones de la línea de comandos \optname{-ini} desde hace varios años. \item El respaldo y ayuda técnica con la plataforma \textsf{i386-openbsd} fue removido. Debido a que el paquete \pkgname{tetex} está disponible en el sistema de Puertos de \acro{BSD}, al igual que los binarios tanto para \acro{GNU/}Linux y \acro{BSD} que también están disponibles, parecía que emplear el tiempo para trabajar voluntariamente en esto, era preferible que fuese con otros asuntos que necesitasen de ello. \item Acerca de \textsf{sparc-solaris} (por lo menos), se tuviera que configurar la variable del sistema \envname{LD\_LIBRARY\_PATH} para que ejecutara los programas \pkgname{tlutils}. Esto es debido a que las mismas son compiladas con C++, y no existe una localización estándar para las librerías de ejecución. (Esto no fue algo nuevo en el 2004, pero no estaba previamente documentado.) De igual manera, en \textsf{mips-irix}, las ejecuciones de \acro{MIPS}pro 7.4, son requeridas. \end{itemize*} \subsubsection{2005} El 2005 presenció un inmenso número de actualizaciones de paquetes y programas. La estructura se mantuvo, relativamente estable desde el 2004, pero inevitablemente hubieron algunos cambios también: \begin{itemize} \item Los nuevos scripts \cmdname{texconfig-sys}, \cmdname{updamp-sys}, y \cmdname{fmtutil-sys} fueron introducidos, lo cual modificó la configuración en los árboles del sistema. Los scripts \cmdname{texconfg}, \cmdname{updmap}, y \cmdname{fmtutil}, ahora modifican archivos específicos de usuarios, bajo el directorio \dirname{$HOME/.texlive2005} \item Nuevas variables correspondientes a estos scripts como \envname{TEXMFCONFIG} y \envname{TEXMFSYSCONFIG} para especificar los árboles donde los archivos de configuración (del usuario o del sistema) fueron encontrados. Por lo tanto, versiones personales de \filename{fmtutil.cnf} y \filename{updmap.cfg} pueden moverse hacia estos lugares; otra opción es en redefinir \envname{TEXMFCONFIG} o \envname{TEXMFSYSCONFIG} en los archivos de \filename{texmf.cnf}. Cualquiera que sea el caso, la localización real de estos archivos y los valores de \envname{TEXMFCONFIG} y \envname{TEXMFSYSCONFIG} deben de corresponder apropiadamente. Vea la sección~\ref{sec:texmftrees}, \p. \pageref{sec:texmftrees}. \item El año pasado, primitivos indefinidos, como \verb|\pdfoutput| para la producción de \dvi\ a pesar que el programa \cmdname{pdfetex} estaba siendo usado. Este año, como prometimos, revertimos estas medidas de compatibilidad. De tal manera, que si su documento utiliza \verb|ifx\pdfoutput\undefined| para evaluar si el PDF está sido producido, esto necesitará cambiarse. Puede usar el \pkgname{ifpdf.sty} (el cual funciona en ambos, \TeX\ básico y \LaTeX) para hacer esto, o robarse su lógica. \item El año pasado, cambiamos la mayoría de los formatos de resultados de caracteres (8-bit) como los mismos (vea la sección anterior). El nuevo archivo TCK \filename{empty.tcx} ahora provee una manera más fácil para obtener la original notación \verb|^^| si así se desea, como en: \begin{verbatim} latex --translate-file=vacío.tcx tuarchivo.tex \end{verbatim} \item El nuevo programa \cmdname{dvipdfmx} está incluido para traducción de DVI a PDF; esto es una actualización activamente mantenida de \cmdname{dvipdfm} (el cual está también disponible por ahora, pero no más recomendado). \item Los nuevos programas \cmdname{pdfopen} \cmdname{pdfclose} están incluidos para permitir la recarga de archivos pdf, en el Adobe Acrobat Reader, sin recomenzar el programa. (Otros lectores de pdf, notablemente \cmdname{xpdf}, \cmdname{gv}, y \cmdname{gsview}, nunca han sufrido de este problema.) \item Para consistencia, las variables \envname{HOMETEXMF} y \envname{VARTEXMF} han sido renombradas a \envname{TEXMFHOME} y \envname{TEXMFSYSVAR}, respectivamente. También está \envname{TEXMFVAR}, el cual es por estándar, específico con el usuario. Vea el primer punto encima de esto para más información. \end{itemize} \subsubsection{2006--2007} Durante el 2006--2007, la mayor adición a \TL{} fue el programa \XeTeX{}, disponible como los programas \texttt{xetex} y \texttt{xelatex}; vea \url{https://scripts.sil.org/xetex}. Metapost también recibió una notable actualización, con más planes para el futuro. (\url{https://tug.org/metapost/articles}), de igual manera, pdf\TeX{} (\url{https://tug.org/applications/pdftex}). El archivo de \TeX\ \filename{.fmt} (formato de alta-velocidad), y otras archivos similares para MetaPost y \MF\ están ahora almacenados en los subdirectorios de \dirname{texmf/web2c}, en vez del directorio mismo (aunque el directorio esté siendo buscado, por el hecho que algún \filename{.fmt}'s) exista en el sistema. Los subdirectorios son nombrados por el `motor' en uso, tal como \filename{tex} o \filename{pdftex} o \filename{xetex}. Este cambio debe ser invisible en uso normal. El programa de \texttt{tex} (básico) no lee ya más, las primeras líneas \texttt{\%\&} para determinar el formato que ejecutar; esto es divisado por el \TeX\ de Knuth. (\LaTeX\ y todo lo demás, aún leen las líneas \texttt{\%\&}). Por supuesto que este año también presenció (como usualmente) los cientos de actualizaciones a paquetes y programas. Por favor de revisar \acro{CTAN} (\url{https://mirror.ctan.org}) para actualizaciones. Internamente, el árbol original es ahora almacenado en Subversión, con una interfaz de web para ver el árbol, como el enlace de nuestra página muestra. Aunque no está visible en la distribución final, esperamos que esto seguirá proveyendo una fundación estable en el desarrollo y construcción en los años venideros. Finalmente, en mayo del 2006, Thomas Esser anunció que él no continuaría con las actualizaciones de te\TeX{} (\url{https://tug.org/tetex}). Y producto de esto, ha existido un alto interés en \TL{}, especialmente entre los distribuidores de \GNU/Linux. (Existe un nuevo esquema de instalación para \texttt{tetex} en \TL{}, el cual provee un aproximado equivalente.) Esperamos que esto eventualmente se traduzca a mejorías para todos, en el sistema \TeX. \subsubsection{2008} En el 2008, la infraestructura completa de \TL{} fue rediseñada y re-implementada. Toda la información acerca de la instalación está ahora guardada en un archivo de texto regular \filename{tlpkg/texlive.tlpdb}. Entre otras cosas, esto finalmente posibilita actualizar una instalación de \TL{} a través del Internet después de una instalación inicial, una función que ha sido proveída por MiK\TeX\ por años. Esperamos en actualizar regularmente los paquetes, tan pronto como estos sean introducidos a \CTAN. El nuevo y mayor motor de compilación Lua\TeX\ (\url{https://luatex.org}) está incluido; que aparte de proveer un nuevo nivel de flexibilidad en la composición tipográfica, es a su vez, un excelente lenguaje de inscripción para uso adentro y afuera de documentos \TeX. Ayuda técnica entre Windows y plataformas basadas en Unix, es ahora mucho más uniforme. En particular, la mayoría de los scripts de Perl y Lua están ahora disponibles en Windows, usando el Perl que internamente se distribuye con \TL. El nuevo script \cmdname{tlmgr} (section~\ref{sec:tlmgr}) es la interfaz general para administrar \TL{} después de una instalación inicial. Manipula actualizaciones de paquetes, y consiguientes regeneración de formatos, regeneración de archivos de mapas, y archivos de lenguajes, opcionalmente incluyendo adiciones locales. Con el advenimiento de \cmdname{tlmgr}, las acciones de \cmdname{texconfig} para editar los archivos de configuración de formateo, y de separación silábica, están ahora desactivados. El programa de índice \cmdname{xindy} (\url{https://xindy.sourceforge.net/}) está ahora incluido en la mayoría de las plataformas. La herramienta \cmdname{kpsewhich}, puede reportar ahora todas aquellos ingresos que concuerden de un archivo (option \optname{--all}) y limita aquellos que coincidan en un subdirectorio dado (option \optname{--subdir}). El programa \cmdname{dvipdfmx} ahora incluye nuevas funciones para extraer la información del borde de las cajas, a través de la línea de comando \cmdname{extractbib}; esto fue una de las últimas funciones proveídas por \cmdname{dvipdfm}, pero no en \cmdname{dvipdfmx}. Los aliases de las fuentes \filename{Times-Roman}, y \filename{Helvetica}, y muchos más, han sido removidos. Diferentes paquetes esperan que funcionen diferentemente (en particular, que tengan diferentes codificaciones), y no hubo manera en resolver esto. El formato \pkgname{platex} ha sido removido, para resolver un conflicto de nombre con un completamente diferente \pkgname{platex}; el \pkgname{polski}, es ahora el de ayuda principal en polaco. Internamente, los archivos de cadenas de datos, son ahora compilados en los binarios, para facilitar las actualizaciones. Finalmente, los cambios hechos por Donald Knuth en su `afinación de \TeX\ del 2008', está incluida en esta versión. Vea \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. \subsubsection{2009} En el 2009, el formato de resultado estándar para Lua\AllTeX\ es ahora PDF, para así tomar ventaja del apoyo de Lua\TeX\ con OpenType, et al. Nuevos ejecutables nombrados \code{dviluatex} y \code{dvilualatex} ejecutan Lua\TeX\ con resultados DVI. La página de Lua\TeX\ es \url{http://luatex.org}. El motor original Omega, y formato Lambda han sido extraídos, después de discusiones con los autores de Omega. El actualizado Aleph y Lamed permanecen, al igual que las utilidades de Omega. Un nueva versión de las fuentes \TypeI\ de AMS, está incluida, incluyendo Computer Modern: con unos cuantos cambios en la configuración de estos, que a través de los años, han sido llevado a cabo por Knuth, con los archivos originales de Metafont, han sido integrados y actualizados. Las fuentes Euler han sido completamente reconfiguradas por Hermann Zapf (vea \url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). En todos los casos, los métricos no han cambiado. La página en el Internet de las fuentes de AMS se encuentra en \url{https://www.ams.org/tex/amsfonts.html}. El nuevo editor con GUI \TeX{}works está incluido para Windows, y también en Mac\TeX. Para otras plataformas, y para más información, vea la página en el Web de \TeX{}works, \url{https://tug.org/texworks}. Este editor es multi-plataforma, inspirado por TeXShop para \MacOSX{} con el objetivo en ser fácil de usar. El programa de gráficas Asymptote está incluido para varias plataformas. Esto implementa un lenguaje de descripción de lenguajes, basado en texto, con cierto parecido con Metapost, pero con apoyo para un avanzado formato de tres dimensiones, y otras funciones. Su página en el Web está en \url{https://asymptote.sourceforge.net}. El programa por separado, \code{dvipdfm}, ha sido reemplazado por \code{dvipdfmx}, el cual opera en un modo de compatibilidad especial, bajo ese nombre. \code{dvipdfmx} incluye apoyo para \acro{CJK} y tiene muchos otros arreglos que se acumularon, a través de los años, desde la última versión de \code{dvipdfm}. La página principal de DVIPDFMx está en \url{http://project.ktug.or.kr/dvipdfmx}. Ejecutables para \pkgname{cygwin} y plataformas \pkgname{i386-netbsd}, están ahora incluidos, aunque se nos fue aconsejado que muchos usuarios de Open\acro{BSD} obtienen \TeX\ a través de los paquetes de sus sistemas, y encima de esto, habían dificultades en hacer que los binarios funcionaran en más de una versión. Una miscelánea de pequeños cambios: ahora usamos comprensión \pkgname{xz}, el estable programa que reemplaza a \pkgname{lzma} (\url{https://tukaani.org/xz/}); el carácter literal |$| es permitido en los nombres de archivos, cuando no introduce un nombre de una variable conocida; la librería Kpathsea es ahora multi-hilo, multi-procesos, (hizo uso de esto, en Metapost); y la edificación entera de \TL{} está basada ahora en Automake. Nota final del pasado: todas las versiones de \TL{}, acompañado de material auxiliar como las etiquetas de los \CD, están ahora disponibles en \url{ftp://tug.org/historic/systems/texlive}. \subsubsection{2010} \label{sec:2010news} % manténgase al tanto con 2010 En el 2010, la versión estándar para los resultados en PDF es ahora 1.5, permitiendo más compresión. Esto aplica también a todos los motores que fueron usados para producir PDF y \code{dvipdfmx}. Cargando los paquetes \pkgname{pdf14} de \LaTeX\ revierte a PDF-1.4, o set |\pdfminorversion=4|. Pdf\AllTeX\ ahora \emph{automáticamente} convierte un archivo encapsulado de PostScript (EPS) a un PDF, mediante la vía de del paquete \pkgname{epstopdf}, siempre y cuando el archivo de configuración \code{graphics.cfg} de \LaTeX\ esté cargado, y si el formato PDF es seleccionado como estándar en la salida. Las opciones estándar, tienen como objetivo, eliminar cualquier chance de que los archivos que hayan sido creados a mano, puedan ser sobrescritos, pero puedes también prevenir que por ejemplo un \code{epstopdf} se cargue por completo, mediante el ingreso de |\newcommand{\DoNotLoadEpstopdf}{}| (o |\def...|) antes de la declaración \cs{documentclass}. Este archivo tampoco es cargado, si \pkgname{pst-pdf} es utilizado. Para más detalles, vea la documentación del paquete \pkgname{epstopdf} (\url{https://ctan.org/pkg/epstopdf-pkg}). Un cambio relacionado con esto, es la ejecución de unos cuantos comandos externos de \TeX, mediante la vía de la función \cs{write18}, que está ahora activado por estándar. Estos comandos son \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, \code{bibtex}, y \code{bibtex8}; la lista está definida en \code{texmf.cnf}. En aquellos sistemas, que tienen que prohibir todos estos comandos externos, esta opción se puede desactivar, en el instalador (vea la sección~\ref{sec:options}), o sobrescribe el valor después de la instalación mediante la ejecución de |tlmgr conf texmf shell escape 0|. Y aún otro cambio fue en \BibTeX\ y Makeindex, que ahora rehúsan producir los archivos en un directorio arbitrario (como el mismo \TeX), como valor estándar. Esto es así, porque ahora su uso puede ser activado, mediante el restricto \cs{write18}. Para cambiar esto, la variable del entorno del sistema \envname{TEXMFOUTPUT} puede ser fijada, o la configuración |openout_any| modificada. \XeTeX\ ahora respalda el ajuste de margen de un bloque de texto, de la misma manera que pdf\TeX. (La expansión de la fuente, no es actualmente respaldado.) Por configuración estándar, \prog{tlmgr} ahora guarda una copia automáticamente de cada paquete actualizado (\code{tlmgr option autobackup 1}), de esta manera, las actualizaciones que hayan tenido rupturas, puedan ser fácilmente revertidas con \code{tlmgr restore}. Si usted realiza actualizaciones, posteriores a la instalación, y no cuenta con el espacio de almacenamiento en el disco para estas copias de seguridad, ejecute \code{tlmgr option autobackup 0}. Nuevos programas incluyen: el motor p\TeX\ y utilidades relacionadas con el mismo para composición tipográfica en japonés; el programa \BibTeX{}U para activación de Unicode en \BibTeX; la utilidad \prog{chxtex} (\url{https://baruch.ev-en.org/proj/chktex}) para la revisión de los documentos \AllTeX{}; el programa \pkgname{dvisvgm} (\url{https://dvisvgm.sourceforge.net}) que es un traductor DVI-a-SVG. Ejecutables para estas nuevas plataformas están ahora incluidas: \code{amd64-freebsd}, \code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, \code{x86\_64-darwin}, \code{x86\_64-solaris}. Un cambio en \TL{} 2009 que fallamos en mencionar: numerosos ejecutables relacionados con \TeX4ht\ (\url{https://tug.org/tex4ht}), fueron removidos de los directorios de los binarios. El programa genérico \code{mk4ht} puede ser utilizado para ejecutar cualquiera de las combinaciones de \code{tex4ht}. Finalmente, la versión de \TL{} en el \TK\ \DVD\ no puede ser más ejecutada en vivo (extrañamente curioso). Un \DVD\ sencillo, ya no cuenta con más espacio. Un beneficioso efecto secundario de esto, es que la instalación directa de un \DVD\ como tal, es mucho más rápida. \subsubsection{2011} Los binarios para \MacOSX\ (\code{universal-darwin} y \code{x86\_64-darwin}) ahora solamente funcionan en Leopard y versiones recientes; Panther y Tiger, no tienen compatibilidad. \code{Biber}, el programa para procesamiento de bibliografías está incluido en plataformas comunes. Su construcción está estrechamente acompañada por el paquete \code{biblatex}, el cual re-implementa completamente las facilidades bibliográficas proveídas por LaTeX. El programa (\code{mpost}) ya no crea ni utiliza más, los archivos \code{.mem}. Los archivos necesarios, tales como \code{plain.mp}, son simplemente leídos durante la ejecución. Esto es relacionado, con el apoyo a Metapost como una librería, que es un significante avance, y que no es un cambio visible al usuario. La implementación \code{updmap} en Perl, previamente utilizada solamente en Windows, ha sido reconfigurada y ahora está siendo utilizada en todas las plataformas. No debe haber ningún cambio visual para el usuario, como resultado de esto, excepto que opera mucho más rápido. Los programas \cmdname{initex} e \cmdname{initex} fueron restaurados, (pero sin otras variantes \cmdname{ini*}). \subsubsection{2012} \code{tlmgr} respalda actualizaciones de múltiples repositorios en la red. La sección sobre múltiples repositorios en los resultados que provee \code{tlmgr help} tiene más de estos. El parámetro \cs{XeTeXdashbreakstate} está fijado a 1 como estándar, para ambos \code{xetex} y \code{xelatex}. Esto permite saltos de líneas, después de guiones cortos y largos, lo cual siempre ha sido el funcionamiento de \TeX\ básico, \LaTeX, Lua\TeX, etc. Aquellos documentos existentes de \XeTeX\ los cuales deben retener la compatibilidad perfecta de saltos de líneas, necesitarán configurar \cs{XeTeXdashbreakstate} a-0 explícitamente. Los archivos de salida, que son generados por \code{pdftex} y \code{dvips}, pueden exceder ahora, hasta 2gb. Las 35 fuentes estándar de PostScript, están incluidas en los resultados de \code{dvips}, por norma o estándar, debido a que numerosas versiones de estas, están ahora presentes. En el modo restricto de ejecución \cs{write18}, configurado como estándar, el programa \code{mpost} es ahora permitido. Un archivo \code{texmf.cnf} es también encontrado en \filename{../texmf-local}, e.g., \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}, si el mismo existe. El script \code{updamp} lee \code{updmap.cfg} por cada árbol en vez de una configuración global. Este cambio, debe ser invisible, a menos que updmap.cfg's hayan sido editados directamente. Puedes ver más sobre estos, invocando \verb|updmap --help|. Las plataformas: \pkgname{armel-linux} y \pkgname{mipsel-linux} fueron añadidas; \pkgname{sparc-linux} y \pkgname{i386-netbsd} no se encuentran más en la distribución. \subsubsection{2013} La organización de la distribución: el directorio en alto-nivel \code{texmf/} ha sido unido en \code{texmf-dist/}, para simplicidad. Ambas variables de Kpathsea \code{TEXMFMAIN}, y \code{TEXMFDIST}, ahora apuntan hacia \code{texmf-dist}. Muchas colecciones pequeñas de lenguajes han sido unidas, para simplificar la instalación. \MP: respaldo nativo para la producción de PNG y puntos-flotantes (IEEE doble) han sido añadidos. Lua\TeX: se actualizó con Lua 5.2, y ahora incluye una nueva librería (\code{pdfscanner}) para procesar contenido PDF externo, entre muchas cosas más (vea el sitio en el Internet). \XeTeX\ (también vea sus páginas para más): \begin{itemize} \item La librería HarfBuzz es usada para la organización de las fuentes, en vez de ICU. (ICU es aún usada para el respaldo de codificación de archivos de ingreso, bi-dirección, y el opcional salto de línea de Unicode.) \item Para diseño de Grafito, Graphite2 y HarfBuzz son ahora utilizados. \item En Macs, Core Text es usado en vez del (deprecado) ATSUI. \item La preferencia de fuentes TrueType/OpenType en vez de Type1, cuando los nombres son los mismos. \item El arreglo de búsquedas que no coincidan, entre \XeTeX\ y \code{xdvipdfmx}. \item Apoyo de fuentes para matemática de OpenType. \end{itemize} \cmdname{xdvi}: ahora utiliza las fuentes FreeType en vez de \code{t1lib} para la visualización. El \pkgname{microtype.sty}: ahora respalda \XeTeX\ (protuberancia) y Lua\TeX\ (protuberancia, expansión de fuente, rastreo), entre otras mejorías. \cmdname{tlmgr}: nueva acción \code{pinning} para facilitar la configuración de múltiples repositorios; esa sección en \verb|tmlgr --help| tiene más, y en el Internet en \url{https://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}. Plataformas: \pkgname{armhf-linux}, \pkgname{mips-irix}, \pkgname{i386-netbsd}, y \pkgname{amd64-netbsd} añadido o revivido; \pkgname{powerpc-aix} removido. \subsubsection{2014} El 2014, presenció otra afinación de \TeX\ por parte de Knuth; esto afectó todos los motores, pero el único cambio visible, fue la restauración de la cadena \code{preloaded format} en la línea de banner. De acuerdo a Knuth, esto ahora refleja el formato que sería cargado por norma, en vez de un formato que no haya sido desechado y que esté pre-cargado en el binario; puede ser rescrito de varias maneras. pdf\TeX: nuevo parámetro de supresión-de-advertencia \cs{pdfsuppresswarningpagegroup}; nuevos primitivos para espacios falsos entre-palabras, que ayuden con el reflujo del texto: \cs{pdfinterwordspaceon}, \cs{pdfinterwordspaceoff}, \cs{pdffakespace}. Lua\TeX: Modificaciones notables y arreglos fueron realizados con la carga de fuentes, y la separación silábica. La adición más grande es una nueva variante de motor de compilación, \code{luajittex} (\url{http://foundry.supelec.fr/projects/luajittex}) y sus hermanos \code{texluajit} y \code{texluajitc}. Esto utiliza, justo-a-tiempo, un compilador Lua (artículo detallado de TUGboat en \url{https://tug.org/TUGboat/tb34-1/tb106scarso.pdf}). \code{luajittex} está aún en construcción, no está disponible en todas las plataformas, y es considerablemente menos estable que \code{luatex}. Ni nosotros, ni sus constructores recomiendan utilizarlo, excepto para propósitos específicos de experimentación con jit en el código Lua. \XeTeX: Las mismas imágenes de formato, son ahora respaldadas en todas las plataformas (incluyendo Mac); evitar el retorno de descomposición de compatibilidad con Unicode (pero no todas las variantes); la preferencia de OpenType antes de fuentes de Graphite, para compatibilidad con versiones previas de \XeTeX. \MP: Un nuevo sistema-numérico \code{decimal} es respaldado, acompañado de una opción interna \code{numberprecision}; una nueva definición de \code{drawout} en el archivo \filename{plain.mp}, por Knuth; reparaciones de errores, depuraciones, en archivos producidos \acro{SVG}, y \acro{PNG}, entre otros. La utilidad \cmdname{pstopdf} en Con\TeX{}t, será removida como comando solitario, después de esta versión, debido a conflictos con las utilidades de OS con el mismo nombre. Puede ser (aún) invocada como \code{mtxrun --script pstopdf}. \cmdname{psutils} han sido substancialmente revisadas por un nuevo administrador. Como resultado de ello, diferentes utilidades, raramente utilizadas, (\code{fix*}, \code{getafm}, \code{psmerge}, \code{showchar}) están ahora solamente en el directorio \dirname{scripts/}, en vez de ser ejecutables a nivel-de-usuario (esto puede ser revertido, si resulta ser problemático). Un nuevo script, \code{psjoin}, ha sido añadido. La redistribución de Mac\TeX\ de \TeX\ Live (section~\ref{sec:macosx}) no incluye más los paquetes opcionales basados en Mac solamente, para las fuentes de Latin Modern, ni \TeX\ Gyre, por la razón que es bastante fácil para que los usuarios individualmente, los seleccionen para el sistema. El programa \cmdname{convert} de ImageMagick también ha sido removido, debido a que \TeX4ht (específicamente \code{tex4ht.env}) ahora utiliza Ghostscript directamente. La colección \pkgname{langcjk} para el soporte de idiomas chino, japonés, y coreano, ha sido dividida en colecciones individuales, con tamaños más moderados. Plataformas: \pkgname{x86\_64-cygwin} fue añadida, \pkgname{mips-irix} fue removido; Microsoft no ofrece ayuda más para Windows XP, y por esa razón, nuestros programas pueden comenzar a fallar allí en cualquier momento, sin previo aviso. Plataformas: \pkgname{*-kfreebsd} removido, debido a que \TeX\ Live está ahora disponible fácilmente a través de los mecanismos de la plataforma del sistema. Ayuda para plataformas adicionales están disponibles como binarios personalizados (\url{https://tug.org/texlive/custom-bin.html}). En adición a esto, algunas de las plataformas se han omitido del \DVD\ (simplemente para ahorrar espacio), pero pueden ser instaladas normalmente a través del Internet. \subsubsection{2015} \LaTeXe\ ahora incorpora, por norma estándar, cambios previamente incluidos solamente cuando se cargaba el paquete \pkgname{fixltx2e}, el cual es ahora un no-op. Un nuevo paquete \pkgname{latexrelease} y otros mecanismos permiten controlar lo que se hace. Los documentos incluidos \LaTeX\ News \#22 y ``cambios en \LaTeX'' tienen más detalles acerca de esto. Incidentalmente, los paquetes \pkgname{babel} y \pkgname{psnfss}, aunque son partes principales de \LaTeX, están siendo mantenidos separados, y no están afectados por estos cambios (y deben trabajar aún). Internamente, \LaTeXe\ ahora incluye configuración del motor relacionada con Unicode (caracteres que son letras, nombres de primitivos, etc.) el cual era anteriormente parte de \TeX\ Live. Este cambio será invisible para los usuarios; unas cuantas secuencias internas de control de bajo-nivel, han sido renombradas o removidas, pero la funcionalidad debe ser la misma. Pdf\TeX: apoyo técnico con \acro{JPEG} Exif, al igual que \acro{JFIF}, no emiten ni incluso una advertencia si \cs{pdfinclusionerrorlevel} es negativo; sync con \prog{xpdf}~3.04. Lua\TeX: Nueva librería \pkgname{newtokenlib} para escanear fichas o tokens; depuración en el generador de números al azar \code{normal}, y en otros lugares. \XeTeX: Arreglos de manipulación de imágenes; el binario de \prog{xdvipdfm} es buscado primero como hermano para \prog{xetex}; los opcodes o códigos operativos internos de \code{XDV} fueron modificados. Metapost: Nuevo sistema numérico \code{binario}; nuevos programas \pkgname{upmpost} y \pkgname{updvitomp} con japonés-activado, análogo a \prog{up-tex}. Mac\TeX: Actualizaciones al paquete incluido GhostScript para respaldo de \acro{CJK}. El Panel de Configuración de la Distribución \TeX\ ahora trabaja en Yosemite (\MacOSX-10.10). Portafolios de recursos de bifurcación para las fuentes (generalmente sin una extensión) no son más respaldados por \XeTeX; portafolios de bifurcación de datos (\code{.dfont}) permanecen con respaldo. Infraestructuras: El script \prog{fmtutil} ha sido re-implementado para leer \filename{fmtutil.cnf} en una base por-árbol, análogo a \pkgname{updmap}. Programas scripts de Web2C \pkgname{mktex*} (incluyendo \prog{mktexlsr}, \prog{mktextfm}, \prog{mktexpk}) ahora prefieren programas en sus propios directorios, en vez de utilizar la existente ruta (\envname{PATH}). Plataformas: \pkgname{*-kfreebsd} fue removido, debido a que \TeX\ Live está ahora disponible fácilmente a través de los mecanismos de la plataforma del sistema. Ayuda para plataformas adicionales están disponibles como binarios personalizados (\url{https://tug.org/texlive/custom-bin.html}). En adición a esto, algunas de las plataformas se han omitido del \DVD\ (simplemente para ahorrar espacio), pero pueden ser instaladas normalmente a través del Internet. % \subsubsection{2016} Lua\TeX: Cambios radicales de los primitivos, tanto en renombres como en eliminaciones de estos, al igual que la reorganización de la estructura de nodos. Los cambios están resumidos en un artículo por Hans Hagen, ``Lua\TeX\ 0.90 backend changes for PDF and more'' (\url{https://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf}); para todos los detalles acerca de esto, vea el manual de Lua\TeX, \OnCD{texmf-dist/doc/luatex/base/luatex.pdf}. Metafont: Nuevos programas parientes altamente experimentales MFlua y MFluajit, que integran Lua con \MF, con propósitos de evaluación. Metapost: reparaciones de errores, depuraciones, y preparaciones internas para MetaPost 2.0. \code{SOURCE\_DATE\_EPOCH} respaldo en todos los motores excepto para Lua\TeX\ (el cual estará disponible para el próximo lanzamiento) y el código original \code{tex} (que fue intencionalmente omitido): si la variable del entorno del sistema está configurada y fijada, este valor es utilizado para las fechas, en los resultados del PDF. Si el código \code{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES} está configurado y establecido, entonces el valor del código \code{SOURCE\_DATE\_EPOCH} es utilizado para la inicialización de los primitivos de \TeX\ \cs{year}, \cs{month}, \cs{day}, y \cs{time}. El manual de pdf\TeX\ tiene ejemplos y detalles. pdf\TeX: nuevos primitivos \cs{pdfinfoomitdate}, \cs{pdftrailerid}, y \cs{pdfsuppressptexinfo} que controlan los valores que aparecen en la salida de datos, que normalmente se modifican con cada ejecución. Estas funciones son para los resultados de salida del PDF, no del DVI. Xe\TeX: Nuevos primitivos \cs{XeTeXhyphenatablelength}, \cs{XeTeXgenerateactualtext},\\ \cs{XeTeXinterwordspaceshaping}, \cs{mdfivesum}; el límite de caracteres de clases se incrementó a 4096; y el id de la unidad de octeto o byte incrementó. Otras utilidades: \begin{itemize} \item \code{gregorio} es un nuevo programa, parte del paquete \code{gregoriotex} que es para la composición tipográfica de notaciones musicales de cantos Gregorianos. Está incluido estándar en \code{shell\_escape\_commands}. \item \code{upmendex} es un programa de creación de índices, mayormente compatible con \code{makeindex}, con respaldo para la clasificación de Unicode; entre otros cambios. \item \code{afm2tfm} hace ahora ajustes de altura hacia arriba de los métricos de las fuentes que están basadas en acentos; una nueva opción \code{-a} omite todos estos ajustes. \item \code{ps2pk} puede manipular las fuentes extendidas PK/GF. \end{itemize} Mac\TeX: El Panel de Configuración de la Distribución \TeX\ ya no existe; su funcionalidad ahora se encuentra en TeX Live Utility; conjunto de aplicaciones GUI (Interfaz Gráfica de Usuario) actualizadas; un nuevo script \code{cjk-gs-integrate} puede ser ejecutado por aquellos usuarios que desean incorporar varias fuentes CJK en el visualizador Ghostscript. Infraestructura: Respaldo y apoyo para el fichero de configuración a nivel-del-sistema de \code{tlmgr}; verificación de las sumas de control de los paquetes; si el GPG está disponible, verifique la firma, la credencial de las actualizaciones en la red. Estos chequeos ocurren mediante ambos tanto en el instalador como en el programa \TL\ Manager \code{tlmgr} (Si el GPG no está disponible, las actualizaciones proceden como es usual.) Plataformas: \code{alpha-linux} y \code{mipsel-linux} fueron removidas. \subsubsection{2017} Lua\TeX: Más funciones de devolución de llamadas o funciones de callback, más control en la composición tipográfica, más acceso a los comandos internos; librería \code{ffi} para cargar código dinámico fue añadida en algunas plataformas. pdf\TeX: Variables de entorno |SOURCE_DATE_EPOCH_TEX_PRIMITIVES| del año pasado fueron renombrabas a |FORCE_SOURCE_DATE|, sin cambios en la funcionalidad; la lista de fichas o tokens de \cs{pdfpageattr} que contiene la cadena del código \code{/MediaBox}, omite la salida del código predeterminado de \code{/MediaBox}. Xe\TeX: Matemática de Unicode/Opentype está ahora basada en el respaldo de la tabla de matemáticas de HarfBuzz; y algunas correcciones de errores. Dvips: implementación que el último papersize especial o el último especial del tamaño del papel gane, cuando múltiples dimensiones son especificadas, para consistencia con el programa \code{dvipdfmx} y expectativas del paquete; la opción \code{-LO} (\code{LO} config setting) restaura la funcionalidad anterior del primer especial ganador. ep\TeX, eup\TeX: Nuevos primitivos \cs{pdfuniformdeviate}, \cs{pdfnormaldeviate}, \cs{pdfrandomseed}, \cs{pdfsetrandomseed}, \cs{pdfelapsedtime}, \cs{pdfresettimer}, de pdf\TeX. Mac\TeX: Empezando este año, solamente aquellas versiones de \MacOSX\ para las cuales Apple aún lanza parches de seguridad, serán respaldadas en Mac\TeX, bajo la plataforma de nombre |x86_64-darwin|; actualmente esto quiere decir Yosemite, El-Capitan, y Sierra (10.10 y más recientes). Los binarios para versiones anteriores de \MacOSX\ no están incluidas en Mac\TeX, pero están aún disponibles en \TeX\ Live (|x86_64-darwinlegacy|, \code{i386-darwin}, \code{powerpc-darwin}). Infraestructura: El árbol \envname{TEXMFLOCAL} es ahora buscado antes de \envname{TEXMFSYSCONFIG} y \envname{TEXMFSYSVAR} (por norma estándar); se espera y se tiene la esperanza que esto coincida mejor con las expectativas de los archivos locales que sobrescriben los archivos del sistema. También, \code{tlmgr} tiene un modo nuevo \code{shell} para uso interactivo y de programación, y una nueva acción \code{conf auxtrees} que fácilmente añade y remueve árboles extra. \code{updmap} y \code{fmtutil}: Estos scripts ahora avisan e informan con una advertencia cuando son invocados sin explícitamente haber especificado tanto el así llamado modo (\code{updmap-sys}, \code{fmtutil-sys}, o la opción \code{-sys}), o en el modo de usuario (\code{updmap-user}, \code{fmtutil-user}, o la opción \code{-user}). Se espera que esto reducirá el problema perenne en invocar el modo de usuario por accidente y que por consiguiente se pierdan las actualizaciones futuras del sistema. Vea \url{https://tug.org/texlive/scripts-sys-user.html} para más detalles. \code{install-tl}: acceso de rutas personales son ahora configuradas bajo los valores de Mac\TeX\ (|~/Library/...|)\, predeterminados en Macs. Nueva opción \code{-init-from-profile} para comenzar una instalación con los valores de un perfil dado; un nuevo comando \code{P} para que explícitamente guarde un perfil; nuevos nombres de variable de perfil (pero los anteriores son aún aceptados). Sync\TeX: el nombre temporal de un archivo aparece ahora como \code{foo.synctex(busy)}, en vez de \code{foo.synctex.gz(busy)} (no~\code{.gz}). Compiladores y sistemas de edificación que quieren remover los archivos temporales pueden necesitar ajustes. Otras utilidades: \code{texosquery-jre8} es un nuevo programa multi-plataforma que extrae información del sistema operativo como la configuración de la localización, entre otros aspectos, de un documento \TeX\ y está incluido estándar en el intérprete de la línea de órdenes o comandos |shell_escape_commands| para la ejecución restricta del shell. (Viejas versiones de JRE están respaldadas por texosquery, pero no pueden ser habilitadas en modo restricto, debido a que no son respaldadas por Oracle, incluso para problemas de seguridad.) Plataformas: Vea la anotación acerca de Mac\TeX\ encima; no hay otros cambios. \subsubsection{2018} Kpathsea: Se ignora las mayúsculas con todos los nombres de archivos que coincidan, es ahora el estándar en los directorios que no son parte del sistema; establezca un \code{texmf.cnf} o la variable del entorno del sistema \code{texmf\_casefold\_search} con el valor \code{0} para desactivarlo. Detalles completos se encuentran en el manual de Kpathsea (\url{https://tug.org/kpathsea}). ep\TeX, eup\TeX: Nuevo primitivo \cs{epTeXversion}. Lua\TeX: Preparación para el lanzamiento de Lua 5.3 en el 2019: el binario \code{luatex53} está disponible en la mayoría de las plataformas, pero debe ser renombrado \code{luatex} para que sea efectivo. O utilice los ficheros de \ConTeXt\ Garden (\url{https://wiki.contextgarden.net}); más información acerca de esto se puede encontrar allí. MetaPost: Arreglos con direcciones equivocadas en la ruta de acceso. Salidas de TFM y de PNG. pdf\TeX: Permite vectores de codificación para las fuentes de bitmap; el actual directorio no está configurado con un hash en el PDF ID; arreglos de depuración para \cs{pdfprimitive} y todo lo relacionado con el mismo. Xe\TeX: Respaldo para \code{Rotate} en la inclusión de imagen en PDF; escape con valores sin ceros si los resultados de la salida del driver fallan; varios arreglos con UTF-8 y otros primitivos. Mac\TeX: Vea más abajo, los cambios en el respaldo de la versión. Adicionalmente, los ficheros instalados en \code{Applications/TeX/} a través de Mac\TeX\ han sido reorganizados para tener mejor clarificación; ahora esta localización contiene cuatro programas de interfaz gráfica GUI (BibDesk, LaTeXiT, TeX Live Utility, y TeXShop) en el nivel más alto, y directorios con utilidades adicionales y documentación. \code{tlmgr}: nuevos instaladores \code{tlshell} (Tcl/Tk) y \code{tlcockpit} (Java); resultados de salida JSON; \code{uninstall} tiene ahora un sinónimo para \code{remove}; nueva acción/opción \code{print-platform-info}. Plataformas: \begin{itemize*} \item Nuevo: \code{x86\_64-linuxmusl} y \code{aarch64-linux} Removido: \code{armel-linux}, y \code{powerpc-linux} \item \code{x86\_64-darwin} respalda 10.10--10.13 (Yosemite, El-Capitan, Sierra, y High-Sierra). \item \code{x86\_64-darwinlegacy} respalda 10.6--10.10 (aunque \code{x86\_64-darwin} es preferido por 10.10). Todo el respaldo para 10.5 (leopard) ha cesado, esto quiere decir, que ambos \code{powerpc-darwin} y \code{i386-darwin platforms} han sido removidos. \item Windows: XP ya no es respaldado. \end{itemize*} \subsubsection{2019} Kpathsea: Una más consistente expansión de llaves y separación de ruta; nueva variable \code{TEXMFDOTDIR} en vez del código forzado \code{.}\ en las rutas de acceso permite realizar búsquedas más fácil o en los subdirectorios (vea los comentarios en el archivo \code{texmf.cnf}.) ep\TeX eup\TeX; Nuevos primitivos \cs{readpapersizespecial} y \cs{expanded}. Lua\TeX: Lua 5.3 es ahora utilizada con una aritmética concomitante con cambios en la interfaz. La creciente librería pplib es ahora utilizada para leer los archivos pdf, y de esa manera se elimina la dependencia en poppler (y la necesidad de C++); la interfaz de Lua se modificó respectivamente. MetaPost: El nombre del comando \code{r-mpost} es reconocido como un alias para la invocación de la opción \code{--restricted}\, y es añadido a la lista de comandos restrictos que son el estándar y que están disponibles. Precisión mínima consiste de dos números para el modo binario y el modo decimal. El modo binario ya no está disponible en MPLib pero aún se encuentra en MetaPost por sí solo. pdf\TeX: Nuevos primitivos \cs{expanded}; si el parámetro \cs{pdfomitcharset} es especificado con 1, la cadena \code{CharSet} es omitido en los resultados de la salida de PDF, debido a que no se puede garantizar que sea correcto o no, y tal como es requerido por PDF/A-2 y PDF/A-3. Xe\TeX: Nuevos primitivos \cs{expanded}, \cs{creationdate}, \cs{elapsedtime}, \cs{filedump}, \cs{filemoddate}, \cs{filesize}, \cs{resettimer}, \cs{normaldeviate}, \cs{uniformdeviate}, \cs{randomseed}; extiende \cs{Ucharcat} a producir caracteres activos. \code{tlmgr}: Respaldo de \code{curl} como un programa para descargas; utilice \code{lz4} y gzip antes de utilizar \code{xz} para realizar copias locales de reserva, siempre que esté disponible; y a menos que la variable de entorno del sistema \code{TEXLIVE\_PREFER\_OWN} esté configurada, \code{tlmgr} prefiere utilizar los binarios-del-sistema antes que los binarios que son proveídos por \TL\ para programas de compresión y descargas. \code{install-tl}: Nueva opción \code{-gui} (sin argumento) es el estándar en Windows y Macs, e invoca una nueva Interfaz Gráfica de Usuario Tcl/TK GUI. (vea ~\ref{sec:basic} and~\ref{sec:graphical-inst}.) Utilidades: \begin{itemize*} \item \code{cwebbin} (\url{https://ctan.org/pkg/cwebbin}) es ahora la implementación de CWEB en \TeX\ Live, con respaldo para más dialectos de lenguajes, que incluye el programa \code{ctwill} para compilar mini-índices. \item \code{chkdvifont}: reporta información de la fuente a través de los archivos \dvi{}, al igual que de tfm/ofm, vf, gf, pk. \item \code{dvispo}: compila un archivo DVI de página-independiente con respecto a los especiales. \end{itemize*} Mac\TeX: \code{x86\_64-darwin} ahora respalda versiones 10.12 y más reciente (Sierra, High Sierra, Mojave); \code{x86\_64-darwinlegacy} aún respalda versiones 10.6 y otras más nuevas. El corrector ortográfico Excalibur ya no está incluido, debido a que requiere respaldo de 32-bit. Plataformas: \code{sparc-solaris} fue removido. \htmlanchor{news} \subsection{Presente: 2020} \label{sec:tlcurrent} General: \begin{itemize} \item El primitivo \cs{input} en todos los motores, incluyendo \texttt{tex}, ahora acepta un argumento de archivo de grupo-delimitado como extensión dependiente del sistema. El uso con un archivo de espacio/token-delimitado es completamente inalterable. El argumento de grupo-delimitado fue implementado anteriormente en Lua\TeX; ahora disponible en todos los motores. ASCII caracteres de comillas (\texttt{"}) han sido removidos de los nombres de ficheros, pero está no obstante inalterado después de la tokenización de las fichas. Esto no afecta actualmente la orden de la línea de comando \cs{input} de \LaTeX, debido a que este es un macro redefinido del primitivo estándar \cs{input}. \item Una nueva opción \texttt{--cnf-line} para \texttt{kpsewhich}, \texttt{tex}, \texttt{mf}, y todos los otros motores, que respaldan las preferencias de configuración en la línea de intérprete de comandos. \item La adición de varios primitivos con varios motores en este año y los años anteriores, ha sido llevado a cabo con la intención que resulte en un conjunto común de funcionalidad a través de todos los motores. (\textsl{Noticias de \LaTeX\ \#31}, \url{https://latex-project.org/news}). \end{itemize} ep\TeX, eup\TeX: Nuevos primitivos \cs{Uchar}, \cs{Ucharcat}, \cs{current(x)spacingmode}, \cs{ifincsname}; revisión de \cs{fontchar??} y \cs{iffontchar}. Para eup\TeX\ solamente: \cs{currentcjktoken}. Lua\TeX: Integración con la librería de HarfBuzz, disponible como nuevos motores \texttt{luahbtex} (utilizado por \texttt{lualatex}) y \texttt{luajithbtex}. Nuevos primitivos: \cs{eTeXgluestretch}, \cs{eTeXglueshrink}, \cs{eTeXglueorder}. p\TeX: Nuevos primitivos \cs{ifjfont}, \cs{iftfont}. También en ep\TeX, up\TeX, eup\TeX. Xe\TeX: Reparaciones para \cs{Umathchardef}, \cs{XeTeXinterchartoks}, \cs{pdfsavepos}. Dvips: Codificaciones de salida para las fuentes de bitmap, que ofrecen mejores capacidades de copiar/pegar. (\url{https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf}). Mac\TeX: Mac\TeX\ y \texttt{x86\_64-darwin} ahora requieren 10.13 o las más recientes versiones (High~Sierra, Mojave, and Catalina); \texttt{x86\_64-darwinlegacy} respalda 10.6 y las más recientes. Mac\TeX\ está notariado y programas de línea de intérprete de comandos tienen procesos de ejecución más fortalecidos, como es requerido por Apple para los paquetes de instalación. BibDesk y \TeX\ Live Utility no están en Mac\TeX\ porque los mismos no están notariados, pero esto se puede obtener mediante el archivo \filename{README} que provee una lista de urls. \code{tlmgr} y la infraestructura: \begin{itemize*} \item Automáticamente reintenta (solo una vez) paquetes que fallan durante las descargas. \item Nueva opción \texttt{tlmgr check texmfdbs}, para chequear consistencia con los archivos \texttt{ls-R} y con las especificaciones \texttt{!!} para cada uno de los árboles. \item Uso de control de revisión con los nombres de archivos para los envases de los paquetes, como en \texttt{tlnet/archive/\textsl{pkgname}.rNNN.tar.xz}; debe ser invisible para los usuarios, pero es un notable cambio en la distribución. \item \texttt{catalogue-date} información no está más propagada desde el Catálogo de \TeX, debido a que esto no estaba relacionado con las actualizaciones de los paquetes. \end{itemize*} \subsection{Futuro} \emph{!`\TL{} no es perfecto!} (Y nunca lo será.) Nuestro propósito es continuar con el lanzamiento de nuevas versiones, y desearíamos proveer más ayuda material, más utilidades, más programas de instalación, y (por supuesto) un árbol de macros y fuentes con más mejorías y con mejor revisión. Este trabajo está siendo llevado a cabo por voluntarios, en sus tiempos libres, y siempre habrá más que hacer. Por favor vea \url{https://tug.org/texlive/contribute.html}. Por favor, envíe correcciones, referencias y ofertas de ayuda a: \begin{quote} \email{tex-live@tug.org} \\ \url{https://tug.org/texlive} \end{quote} \medskip \noindent \textsl{!`Feliz \TeX ing!} \end{document}