Posso fazer o látex ignorar algumas definições ou substituí-las por uma espécie de definição de pré-processador?

Posso fazer o látex ignorar algumas definições ou substituí-las por uma espécie de definição de pré-processador?

Escrevo um documento em várias máquinas. Um deles tem o Ubuntu 14.04 instalado com uma espécie de instalação desatualizada do TexLive. Os demais possuem Ubuntu 14.10 e Arch Linux.

No meu documento eu uso osetas.metabiblioteca. Agora estou preso com um documento que não compila em uma das minhas máquinas (a 14.04).

Existe uma maneira de fazer o látex ignorar todas as definições problemáticas. O que eu gostaria de ter é algo (talvez algumas linhas de código para comentar) para ativar e desativar os recursos mais recentes do TikZ sem alterar os arquivos de origem das imagens reais? No momento são 9 imagens usando as dicas arrows.meta e esse número pode crescer. Portanto, alterar a fonte da imagem não é o caminho 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}

Responder1

A melhor solução é realmente atualizar a distribuição do TeX. Isso evitará dores de cabeça no futuro, e a nova arrows.metabiblioteca oferece muitos recursos interessantes.

Mas, se a atualização não for uma opção: O código condicional abaixo verificará se a versão pgfcarregada é 3.0.0 ou posterior (datada de ou após 18/12/2013). Se sim, carregamos arrows.metae -Stealthpodemos usar normalmente. Se não, o alias da ponta da seta chama Stealtha dica antiga stealthfornecida pela biblioteca arrows.

O resultado final disso é que Stealthserá usado se o TikZ/PGF 3.0.0 estiver disponível, mas retornará stealthse não estiver disponível, sem quaisquer modificações no código do desenho.

Limitações:modificadores de estilo de seta ou outras opções (coisas como -{Stealth[width=6pt]}, por exemplo) introduzidas arrows.metanão serão tratadas com sucesso 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}

informação relacionada