tikz、tabularx、array 和 arydshln 这四个包之间存在冲突。如果我不这样做,下面的 MWE 会编译
- 加载 tikz(tikz.sty 2015/08/07 v3.0.1a(rcs-revision 1.151))
- (加载 todonotes(todonotes.sty 2018/11/22)调用 tikz)
- 使用 tabularx(使用包和环境,tabularx.sty 2016/02/03 v2.11b)
- 加载数组(array.sty 2018/11/13 v2.4j)
- 加载 arydshln (arydshln.sty 2018/09/26 v1.74)
正如@daleif 指出的那样,todonotes 调用的 tikz 是问题的一部分。
使用全部,我得到:
! 额外 },或忘记了 \endgroup。\@endpbox ...th \dp \@arstrutbox \fi \par \egroup \adl@colhtdp \box \adl@box... l.22 \end{tabularx}
\documentclass{article}
\usepackage{tikz}
% \usepackage{todonotes}
\usepackage{tabularx}
\usepackage{array}
\usepackage{arydshln}
\begin{document}
\begin{tabular}{l l l }
A & B & C
\end{tabular}
\begin{tabularx}{\textwidth}{l X X}
A & B & C
\end{tabularx}
\end{document}
我怎样才能使用这四个包而不发生冲突?
答案1
这是由于内部变化造成的,array
我们可能会尝试进行调整,以便错误消失,但与此同时,如果你改变包裹顺序,它就会再次起作用
\documentclass{article}
\usepackage{arydshln}
\usepackage{todonotes}
\usepackage{tabularx}
\usepackage{array}
\begin{document}
\begin{tabular}{l l l }
A & B & C
\end{tabular}
\begin{tabularx}{\textwidth}{l X X}
A & B & C
\end{tabularx}
\end{document}