\lstlisting 内的花括号在 tabularx 中显示不正确

\lstlisting 内的花括号在 tabularx 中显示不正确
\documentclass[varwidth]{standalone}
\usepackage {listings}
\usepackage {tabularx}

\begin{document}
Expectation:
\begin{table}[l]
    abc \lstinline[]${def}$ ghi \\
    \lstinline[]$abc {def} ghi$ \\
\end{table}

Found:
\begin{table}
    \begin{tabularx}{\textwidth}{X}
        abc \lstinline[]${def}$ ghi \\
        \lstinline[]$abc {def} ghi$ \\
    \end{tabularx}
\end{table}
\end{document}

我尝试在表格lstinline内使用花括号tabularx,但它会导致奇怪的问题。

在此处输入图片描述

答案1

您不能在另一个命令的参数中使用类似动词的命令,并且由于技术原因,这包括的主体tabularx,因此:

\documentclass[varwidth]{standalone}
\usepackage {listings}
\usepackage {tabularx}
\newsavebox\zzz
\newsavebox\zzzb
\begin{document}
Expectation:
\begin{table}%??[l]
    abc \lstinline[]${def}$ ghi \\
    \lstinline[]$abc {def} ghi$ \\
\end{table}

Found:
\begin{table}
\begin{lrbox}{\zzz}\lstinline[]${def}$\end{lrbox}
\begin{lrbox}{\zzzb}\lstinline[]$abc {def} ghi$\end{lrbox}
    \begin{tabularx}{\textwidth}{X}
        abc \usebox\zzz\ ghi \\
         \usebox\zzzb
    \end{tabularx}
\end{table}
\end{document}

相关内容