Latex 放置错误\n如果使用\ifstrequal,则不对齐

Latex 放置错误\n如果使用\ifstrequal,则不对齐,latex,Latex,如果使用\ifstrequal,则在表格环境中会出现“错位\noaling”错误 这是有效的: \documentclass{article} \usepackage{tabularx} \usepackage{etoolbox} \begin{document} \begin{tabularx}{\textwidth}{rrrrr} I & am & a & useless & table \\ \ifstrequal{a}{a}{

如果使用
\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}

您可以求助于好的旧
\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}

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

你可以求助于好的
\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}

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

问题是
\hline
必须是新表格行的第一件事,即在
\
之后。请参阅中的一个相关问题,该问题通常已被理解,但没有解释3的解决方法吗?问题是
\hline
必须是新表格行的第一件事,即
\
之后。在上查看一个相关的问题,一般来说已理解,但是否有解决问题的方法(不包括expl3)?