删除 etoolbox 插入的空行

删除 etoolbox 插入的空行

我使用工具箱包生成带有一些条件表达式的表。

\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\providetoggle{ch}
\begin{tabular}{ |l|c|}
  \hline
  Name&value\\\hline
\togglefalse{ch}
\iftoggle{ch}{
    Foo0&0\\\hline
}{}
\toggletrue{ch}
\iftoggle{ch}{
    Foo&12342\\\hline
}{}
\togglefalse{ch}
\iftoggle{ch}{
    bar&0\\\hline
}{}
\end{tabular}
\end{document}

有空行的表

它强制在表末尾添加新的空行。是否可以删除它,或者使用一些不执行此操作的宏?

我在etoolbox 条件导致表格中出现不需要的空行但解决方案建议使用 expl3,但这对我来说不起作用。

答案1

如果您希望保持测试连续,那么这将起作用:

\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\providetoggle{ch}
\begin{tabular}{ |l|c|}
  \hline
  Name&value
\togglefalse{ch}%
\iftoggle{ch}{%
    \\\hline Foo0&0%
}{}%
\toggletrue{ch}%
\iftoggle{ch}{%
   \\\hline  Foo&12342%
}{}%
\togglefalse{ch}%
\iftoggle{ch}{%
    \\\hline bar&0%
}{}%
\\\hline
\end{tabular}
\end{document}

另一方面,如果你能够嵌套条件,那么只要至少有一个条件保证为真,这就会起作用:

\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\providetoggle{ch}
\begin{tabular}{ |l|c|}
  \hline
  Name&value\\\hline
\togglefalse{ch}%
\iftoggle{ch}{%
  Foo0&0\\\hline%
}{%
  \toggletrue{ch}%
  \iftoggle{ch}{%
    Foo&12342\\\hline%
  }{%
    \togglefalse{ch}%
    \iftoggle{ch}{%
      bar&0\\\hline%
    }{%
    }%
  }%
}%
\end{tabular}
\end{document}

在此处输入图片描述

此外,%行尾的一些符号还会消除杂散的空格标记。

这两种方法的关键在于您必须tabular在某些实际输出(在这些情况下是\hline)上结束,而不是错误条件计算。

相关内容