¿Puedo hacer que Latex ignore algunas definiciones o las reemplace con una especie de definición de preprocesador?

¿Puedo hacer que Latex ignore algunas definiciones o las reemplace con una especie de definición de preprocesador?

Escribo un documento en varias máquinas. Uno de ellos tiene instalado Ubuntu 14.04 con una especie de instalación anticuada de TexLive. Los demás tienen Ubuntu 14.10 y Arch Linux.

En mi documento utilizo elflechas.metabiblioteca. Ahora estoy atascado con un documento que no se compila en una de mis máquinas (la 14.04).

¿Hay alguna manera de hacer que el látex ignore todas las definiciones problemáticas? Lo que me gustaría tener es algo (tal vez unas pocas líneas de código para comentar) para habilitar y deshabilitar las funciones más nuevas de TikZ sin cambiar los archivos fuente de las imágenes reales. En este momento son 9 imágenes que utilizan los metaconsejos de flechas.y este número podría aumentar. Entonces, cambiar la fuente de la imagen no es el camino a seguir.

\documentclass[tikz]{standalone}
\usepackage[T1]{fontenc}        % font encoding
\usepackage[utf8]{inputenc}     % input encoding
\usepackage{lmodern}            % fonts

\usepackage{tikz,pgfplots}      % provides TikZ


\usetikzlibrary{arrows}
%\usetikzlibrary{arrows.meta}

%\newcommand{\Stealth}{\stealth}    % does not work

\begin{document}

\begin{tikzpicture}
    \draw[-Stealth] (0,0) to (1,1);
\end{tikzpicture}

\end{document}

Respuesta1

Realmente la mejor solución es actualizar la distribución TeX. Le ahorrará dolores de cabeza en el futuro y la nueva arrows.metabiblioteca ofrece muchas características interesantes.

Pero, si la actualización no es una opción: el código condicional a continuación verificará si la versión pgfcargada es 3.0.0 o posterior (con fecha del 18/12/2013 o después). En caso afirmativo, lo cargamos arrows.metay -Stealthpodemos usarlo como de costumbre. Si no, asigne un alias a la punta de flecha llamada Stealtha la stealthsugerencia anterior proporcionada por la biblioteca arrows.

El resultado final de esto es que Stealthse usará si TikZ/PGF 3.0.0 está disponible, pero se recurrirá a él stealthsi no está disponible, sin ninguna modificación en el código de dibujo.

Limitaciones:Los modificadores de estilo de flecha u otras opciones (cosas como -{Stealth[width=6pt]}, por ejemplo) introducidas con arrows.metano serán manejadas exitosamente por este código.

\documentclass[tikz]{standalone}

\usepackage[T1]{fontenc}    % font encoding
\usepackage[utf8]{inputenc} % input encoding
\usepackage{lmodern}        % fonts

\usepackage{tikz}           % provides TikZ
\usetikzlibrary{arrows}

\makeatletter
\@ifpackagelater{pgf}{2013/12/18}{
  \usetikzlibrary{arrows.meta}
}{
  \pgfarrowsdeclarealias{Stealth}{Stealth}{stealth}{stealth}
}
\makeatother

\begin{document}
\begin{tikzpicture}
  \draw[-Stealth] (0,0) to (1,1);
\end{tikzpicture}
\end{document}

información relacionada