我正在尝试创建一个新环境,但它给我带来了一些麻烦。编译器一直告诉我我缺少一个 },但我不知道它可能在哪里。这是一个代码示例。谢谢你的帮助。
\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{xparse}
\NewDocumentEnvironment{afskriftFolketaelling}{mm}
{%
\tabularx{\textwidth}{|X|l|c|c|l|l|l|}
\hline
\multicolumn{7}{|c|}{\textbf{#1}}\\
\multicolumn{7}{|c|}{#2}\\\hline
\textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title}\\\hline
}
{
\endtabularx
}
\begin{document}
\begin{afskriftFolketaelling}{test1}{test2}
{
1&2&3&4&5&6&7\\\hline
}
\end{afskriftFolketaelling}
\end{document}
答案1
您的环境采用两个强制参数,并且您另外指定整个环境内容位于其自己的组中。这不是tabular
(或tabularx
),因为该组现在跨越多个单元格。也就是说,您在一个单元格中打开该组,然后在另一个单元格中将其关闭,这是不正确的。“缺失}
”错误与第一个打开的组尚未正确关闭有关。
解决方案是删除环境中的组:
\documentclass{article}
\usepackage{tabularx,xparse}
\NewDocumentEnvironment{afskriftFolketaelling}{ m m }
{%
\noindent\tabularx{\textwidth}{ | X | l | c | c | l | l | l | }
\hline
\multicolumn{7}{|c|}{\textbf{#1}} \\
\multicolumn{7}{|c|}{#2} \\ \hline
\textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} & \textbf{title} \\ \hline
}
{%
\endtabularx
}
\begin{document}
\begin{afskriftFolketaelling}{test1}{test2}
1 & 2 & 3 & 4 & 5 & 6 & 7 \\ \hline
\end{afskriftFolketaelling}
\end{document}