"shellesc"가 "tabularx"와 충돌하는 이유와 해결 방법은 무엇입니까?

"shellesc"가 "tabularx"와 충돌하는 이유와 해결 방법은 무엇입니까?

다음은 잘 작동하는 코드입니다.

\documentclass{article}
\usepackage{shellesc}
\begin{document}
\begin{tabular}{lr}
    hello!
    &
    \ShellEscape{/bin/echo 'hello!' > a.tex}
    \input{a}
    \\
\end{tabular}
\end{document}

tabularx그러나 대신 사용하면 tabular컴파일이 다음에서 중지됩니다 \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}

무엇이 문제이고 어떻게 해결하나요?

답변1

수행원데이비드 칼라일의 논평파일이 존재하는지 테스트하고 그러한 경우에만 입력할 수 있습니다. 그러면 마지막 실행에서 테이블 셀이 채워집니다.

\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}

관련 정보