Este é o código que funciona perfeitamente:
\documentclass{article}
\usepackage{shellesc}
\begin{document}
\begin{tabular}{lr}
hello!
&
\ShellEscape{/bin/echo 'hello!' > a.tex}
\input{a}
\\
\end{tabular}
\end{document}
No entanto, se eu usar tabularx
em vez de tabular
, a compilação parará em \input
:
\documentclass{article}
\usepackage{tabularx}
\usepackage{shellesc}
\begin{document}
\begin{tabularx}{\textwidth}{lr}
hello!
&
\ShellEscape{/bin/echo 'hello!' > a.tex}
\input{a}
\\
\end{tabularx}
\end{document}
O que há de errado e como consertar?
Responder1
SeguindoComentário de David Carlislevocê pode testar se o arquivo existe e inseri-lo somente nesse caso. Então a célula da tabela será preenchida na última execução.
\documentclass{article}
\usepackage{tabularx}
\usepackage{shellesc}
\begin{document}
\begin{tabularx}{\textwidth}{lr}
hello!
&
\ShellEscape{/bin/echo 'hello!' > a.tex}
\IfFileExists{./a.tex}{\input{a}}{}
\\
\end{tabularx}
\end{document}