![Test auf leeres, möglicherweise aufgelistetes Argument in Tabu](https://rvso.com/image/266404/Test%20auf%20leeres%2C%20m%C3%B6glicherweise%20aufgelistetes%20Argument%20in%20Tabu.png)
#2
Aus irgendeinem Grund kann ich im folgenden tabu
Anwendungsfall nicht testen, ob leer ist.
Unvollständig \ifx; der gesamte Text nach Zeile 14 wurde ignoriert
wird beim Ausführen des folgenden Codes ausgelöst.
\documentclass{article}
\usepackage{tabu}
\usepackage[english]{babel}
\newcommand \test [2]{%
%Works
%#1 \ifx& empty \else {\begin{minipage}[t]{\linewidth}#2\end{minipage}} \fi
% Doesn't with Arg A
\begin{tabu}{XX} #1 & \ifx& empty \else {\begin{minipage}[t]{\linewidth}#2\end{minipage}} \fi \end{tabu}
}
\begin{document}%
\test{A}{\begin{itemize}\item Test\end{itemize}} % Arg A
%\test{A}{}
\end{document}
Antwort1
Dies scheint etwas damit zu tun zu haben, wie tabu
Zellinhalte untersucht werden. Das Hinzufügen von Klammern hilft.
Ich habe auch den Leeretest durch etwas Sichereres geändert.
\newcommand\test[2]{%
\begin{tabu}{XX}
#1 &
{\if\relax\detokenize{#2}\relax
empty%
\else
\begin{minipage}[t]{\linewidth}#2\end{minipage}%
\fi}
\end{tabu}}
Antwort2
Du hast
\ifx&
wenn TeX das &
Ende der Zelle erkennt, wechselt Tex in den Code, der die Spaltendefinition beendet. Hier \ifx
werden also die ersten beiden Token in der schließenden Definition des X
Spaltentyps in Tabu verglichen. Im Folgenden wird ein sicherer Test auf leer verwendet.
Abgesehen davon ist nicht klar, warum Sie eine Miniseite in eine X-Spalte einfügen möchten, da X-Spalten bereits Parboxen sind?
\documentclass{article}
\usepackage{tabu}
\usepackage[english]{babel}
\makeatletter
\newcommand \test [2]{%
\begin{tabu}{XX}%
#1&%
\def\tmp{#2}%
\ifx\tmp\@empty
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{empty}%
{\begin{minipage}[t]{\linewidth}#2\end{minipage}}%
\end{tabu}}
\makeatother
\begin{document}%
\test{A}{\begin{itemize}\item Test\end{itemize}} % Arg A
\test{A}{}
\end{document}