在下面的 MWE 中,当我从表格环境中省略以下代码时,输出会正确显示:
\multicolumn{6}{|c|}{The sentence below is an example of the polite past tense}\\\hline
此外,“bottom”\multicolumn
命令也能正确显示。
奇怪的是(至少对我来说),当我确实包括上面的代码,表格输出变得混乱。请比较下面的两个图以更好地理解我的意思。
我该如何调整代码以便两个\multicolumn
语句都能正确显示,而不会混淆表中的其他内容?
这是 MWE。请注意,我已注释掉导致问题的部分:
\documentclass[10pt, a4paper]{ltjbook}
\usepackage{luatexja}
\usepackage{amsmath}
\usepackage{environ}
\usepackage{tabularx}
\usepackage{hhline}
\usepackage[table]{xcolor}
\newcolumntype{A}{>{\centering\let\newline\\\arraybackslash}X}
\NewEnviron{decomp}[1]
{%
\begin{tabularx}{\columnwidth}{|*{#1}{@{}A}@{}|}%
\hhline{|*{#1}{-}|}\multicolumn{#1}{|c|}{\cellcolor{lightgray}\textbf{$\lbrace\cdot\cdot\cdot\rbrace$ Sample Sentence}}\\%
\hhline{|*{#1}{-}|}\rule{0pt}{\baselineskip}%
\BODY%
\end{tabularx}%
}
\begin{document}
\begin{decomp}{6}
%\multicolumn{6}{|c|}{The sentence below is an example of the polite past tense.}\\\hline
先生&は&一週間&前&に&来ました。\\\hline
センセイ&は&イッシュウカン&まえ&に&きました。\\\hline
teacher&は&1 week&before&に&came\\\hline
\multicolumn{6}{|r|}{\textit{The teacher came a week ago.}}\\\hline
\end{decomp}
\end{document}
答案1
这与tabularx
或无关environ
你有
\hhline{|*{#1}{-}|}\rule{0pt}{\baselineskip}%
因此,您已经使用规则启动了单元格,您会得到相同的错误
\documentclass{article}
\begin{document}
\begin{tabular}{cc}
a&b\\\hline\rule{1pt}{1pt}%
\multicolumn{2}{c}{bang}
\end{tabular}
\end{document}
答案2
根据大卫卡莱尔的上述回答:
\documentclass[10pt, a4paper]{ltjbook}
\usepackage{luatexja}
\usepackage{amsmath}
\usepackage{environ}
\usepackage{tabularx}
\usepackage{hhline}
\usepackage[table]{xcolor}
\newcolumntype{A}{>{\centering\let\newline\\\arraybackslash}X}
\NewEnviron{decomp}[1]
{%
\begin{tabularx}{\columnwidth}{|*{#1}{@{}A}@{}|}%
\hhline{|*{#1}{-}|}\multicolumn{#1}{|c|}{\cellcolor{lightgray}\textbf{$\lbrace\cdot\cdot\cdot\rbrace$ Sample Sentence}}\\\hline
\BODY%
\end{tabularx}%
}
\begin{document}
\begin{decomp}{6}
\multicolumn{6}{|l|}{The sentence below is an example of the polite past tense.}\\\hline
先生&は&一週間&前&に&来ました。\\\hline
センセイ&は&イッシュウカン&まえ&に&きました。\\\hline
teacher&は&1 week&before&に&came\\\hline
\multicolumn{6}{|r|}{\textit{The teacher came a week ago.}}\\\hline
\end{decomp}
\end{document}