如果使用\ ifstrequal,则错位\ noalign

问题描述 投票:1回答:1

如果我使用tabularx,则会在\ifstrequal环境中收到“放错位置\ noaling”错误。

这正在工作:

\documentclass{article}

\usepackage{tabularx}
\usepackage{etoolbox}

\begin{document}

\begin{tabularx}{\textwidth}{rrrrr}
    I & am & a & useless & table \\
    \ifstrequal{a}{a}{
        I & am & a & useless & table \\
    } {
        I & am & a & useless & table \\
    }
\end{tabularx}

\end{document}

不是

\documentclass{article}

\usepackage{tabularx}
\usepackage{etoolbox}

\begin{document}

\begin{tabularx}{\textwidth}{rrrrr}
    I & am & a & useless & table \\
    \ifstrequal{a}{a}{
        \hline
        I & am & a & useless & table \\
        \hline
    } {
        I & am & a & useless & table \\
    }
\end{tabularx}

\end{document}
latex
1个回答
0
投票

您可以求助于旧版\ifx

\documentclass{article}

\usepackage{tabularx}
\usepackage{booktabs}

\newcommand{\stringa}{a}
\newcommand{\stringb}{b}

\begin{document}

\begin{tabularx}{\textwidth}{rrrrr}
    I & am & a & useless & table \\
    \ifx\stringa\stringa
        \midrule
        I & am & a & useless & table \\
        \midrule
    \else
        I & am & a & useless & table \\
    \fi
\end{tabularx}

\end{document}

((我使用booktabs包中的规则,而不是\hline,因为它们提供了更好的间距)

© www.soinside.com 2019 - 2024. All rights reserved.