发现文档中的某个表格需要跨越好几页,longtable
不符合要求因为我必须改变表格中间的运行标题,所以我转向了supertabular
。
到获得正确的垂直间距我用booktabs
。
自从那打破了表格周围的垂直线,我想通过将整个表格包裹起来来解决这个问题mdframed
。
到目前为止,关于为什么有人首先想要用supertabular
with包装的历史已经讲完了。;-)mdframed
现在来谈谈手头的问题:看来这两个包在几个点的定位上存在分歧……?
来源:
\documentclass{article}
\usepackage{mdframed}
\usepackage{supertabular}
\begin{document}
\begin{mdframed}[innerleftmargin=0pt,innerrightmargin=0pt]
\begin{supertabular*}{\textwidth}{l@{\extracolsep{\fill}}l}
\hline
Foo & Bar\\
\hline
\end{supertabular*}
\end{mdframed}
\end{document}
有些出乎意料的结果:
呃……嗯?
编辑:进一步的测试表明,supertabular 的 hline 被推到右侧(超出文本区域),而不是 mdframed 被推到左侧。测试还表明,这是 supertabular 特有的,因为 longtable、tabularx 或 tabular* 均未显示类似行为。错误报告已邮寄给 supertabular 维护者,抄送 mdframed 维护者。
答案1
您可能有一些较旧的图书馆。
将您的代码与 TeXLive 一起使用(今天更新)并添加\usepacakge{showframe}
我得到:
没有showframe
我收到的包裹;
笔记:
- 我正在使用
showframe
包而不是\usepackage[showframe]{geometry}
后者改变页面宽度,正如我最近在尝试解决时发现的那样并排的 2 个小页面不符合文章的宽度。
代码:
\documentclass{article}
\usepackage{mdframed}
\usepackage{supertabular}
\usepackage{showframe}
\begin{document}
\begin{mdframed}[innerleftmargin=0pt,innerrightmargin=0pt]
\begin{supertabular*}{\textwidth}{l@{\extracolsep{\fill}}l}
\hline
Foo & Bar\\
\hline
\end{supertabular*}
\end{mdframed}
\end{document}