我正在尝试修改 WeBWorK 用于生成学生在线数学作业的 pdf 硬拷贝的一些代码。我的目标是提高 WeBWorK 的可访问性。
我目前的任务是为表格添加标题。目前,表格的生成方式与下面 mwe 中的第一个表格类似。我尝试了很多方法来很好地插入标题,第二个表格展示了我能制作的最佳效果。
问题在于我在第三个表格中看到的情况,其中唯一不同的是标题比后续列宽的总和要长。在这种情况下,我所看到的标题没有居中。此外,最好将列保持与前两个表格中一样的分隔。
我需要坚持使用纯文本。有没有一种万能的解决方案可以解决我的问题?
\batchmode
\documentclass{amsart}
\begin{document}
\par\medskip\centerline{\kern 1pt\vbox{\halign{#\hfil&&\kern 1em #\hfil\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr}}\kern 0pt}\medskip
%----------------------------
\par\medskip\centerline{\kern 1pt\vbox{\halign{#\hfil&&\kern 1em #\hfil\cr
\omit\hfil\multispan2{caption}\hfil\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr}}\kern 0pt}\medskip
%----------------------------
\par\medskip\centerline{\kern 1pt\vbox{\halign{#\hfil&&\kern 1em #\hfil\cr
\omit\hfil\multispan2{caption that is very long}\hfil\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr
\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}&\hfil \mbox{\parbox[t]{4ex}{\hrulefill}}\cr}}\kern 0pt}\medskip
\end{document}
答案1
我不明白你认为这样能得到什么好处。我不明白为什么\halign
模板要这样指定。
你\omit\hfil\multispan
错了,\hidewidth
这就是你所寻找的。
\documentclass{amsart}
\begin{document}
\centerline{%
\vbox{
\halign{%
#\hfil&&\kern 1em #\hfil\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
}
}%
}
\bigskip
\centerline{%
\vbox{
\halign{%
#\hfil&&\kern 1em #\hfil\cr
\multispan2\hidewidth caption\hidewidth\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
}
}%
}
\bigskip
\centerline{%
\vbox{
\halign{%
#\hfil&&\kern 1em #\hfil\cr
\multispan{2}\hidewidth caption that is very long\hidewidth\cr
\hfil \(x\)&\hfil \(y\)\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
\hfil \parbox[t]{4ex}{\hrulefill}&\hfil \parbox[t]{4ex}{\hrulefill}\cr
}
}%
}
\end{document}