我想让 tabularx 表格的开头和结尾仅在某些情况下出现,但这似乎不可能。我收到“参数失控错误”。为什么是错误的,或者这种构造是不可能的?
这是一个简单的例子:
\documentclass[a4paper,12pt]{book}%
\usepackage[utf8]{inputenc}
\usepackage[swedish]{babel}
\usepackage{tabularx}
\usepackage{ifthen}
\newboolean{thing}
\begin{document}
\setboolean{thing}{false}
\chapter*{Testchapter}
\ifthenelse{\boolean{thing}}{}{\begin{tabularx}{7cm}{|c|X|}}
3&5\\
\ifthenelse{\boolean{thing}}{}{\end{tabularx}}
\end{document}
(当然,在我的真实文档中,当“事物”为真时,“3&5 \”行会被替换为非表格的内容。)
答案1
环境tabularx
被完全扫描(最多\end{tabularx}
)在处理之前一次扫描整个身体。因此,您不能中断执行方式。在调节期间将其作为一个整体包括进来是一种选择\begin{tabularx}
:\end{tabularx}
\documentclass{article}
\usepackage{tabularx,etoolbox}
\newbool{thing}
\begin{document}
\boolfalse{thing}
Before
\ifbool{thing}
{3 and 5}
{%
\begin{tabularx}{7cm}{ | c | X | }
3 & 5 \\
\end{tabularx}
}%
After
\end{document}