[Bug]: `misc/tabularFontSize`不支持longtable
Closed this issue · 17 comments
目前是这样实现的。
{
\zihao{5}
\begin{longtable}[htbp]{cccc}
…
\end{longtable}
}
建议之后所有表格都改为longtable
建议之后所有表格都改为longtable
因为longtable不跨页时正常显示,跨页时可以显示为续表。
建议将实例表格换成longtable,具体写法我给 @YDX-2147483647 发过
建议之后所有表格都改为longtable
因为longtable不跨页时正常显示,跨页时可以显示为续表。 建议将实例表格换成longtable,具体写法我给 @YDX-2147483647 发过
不过还要看学校的格式要求,即表格跨页时前后页如何标注
具体写法我给 @YDX-2147483647 发过
建议之后所有表格都改为longtable
我反对。有时与其将表格切断,不如独占一页,那样还是普通表格好。
但如果章节过短,使用table会导致表格被强制移动到其他章节。
这种显示模式有利有弊,我认为应该给予用户选择权,至少知情权
但如果章节过短,使用table会导致表格被强制移动到其他章节。
这种显示模式有利有弊,我认为应该给予用户选择权,至少知情权
有一定道理,不过我还是认为解决方法不在于改表格,而在于避免过短的章节。
我认为longtable
应该只用于那种好几页的表格,比如罗列几十种材料的物理化学常数。一般同学用不到。
Overleaf文档也如此推荐:
If you have to insert a very long table, which takes up two or more pages in your document, use the
longtable
package.
但如果章节过短,使用table会导致表格被强制移动到其他章节。
这种显示模式有利有弊,我认为应该给予用户选择权,至少知情权有一定道理,不过我还是认为解决方法不在于改表格,而在于避免过短的章节。
我认为
longtable
应该只用于那种好几页的表格,比如罗列几十种材料的物理化学常数。一般同学用不到。Overleaf文档也如此推荐:
If you have to insert a very long table, which takes up two or more pages in your document, use the
longtable
package.
1、用到的同学会不知道
2、这文档没人看……建议在示例里面找个表格换,有必要我之后提个pull request,不过在此之前要确定格式
3、避免过短章节……三级小标题也算章节吧,不一定有多长
╮(╯_╰)╭
如果你想提PR,建议等 #498 合并了再加,并且不删除原有表格,因为那是学校模板有的。
╮(╯_╰)╭
如果你想提PR,建议等 #498 合并了再加,并且不删除原有表格,因为那是学校模板有的。换一个成么,不跨页的话显示一样的
不管了,之后提交pull request再请reviewer审核
#499 发现的 longtable 异常行距问题,在ctexbook
文档类并不存在。
罪魁祸首:setspace宏包。它可能没重置longtable。
Line 958 in 9b315ee
Line spacing in longtable environment · Issue #2 · LaTeX-Package-Repositories/setspace
MWE
\documentclass{ctexbook}
% \usepackage{setspace}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\begin{table}[ht]
\centering
\caption{Tabular}
\begin{tabular}{ccccc}
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\ \midrule
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\ \bottomrule
\end{tabular}
\end{table}
\begin{longtable}[ht]{ccccc}
\caption{Long table} \\
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\
\midrule
\endfirsthead
\multicolumn{5}{l}{续表} \\
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\
\midrule
\endhead
\midrule
\multicolumn{5}{r}{{续下页}} \\
\endfoot
\bottomrule
\endlastfoot
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\
\end{longtable}
\end{document}
可能的解决方案
\AtBeginEnvironment{longtable}{\singlespacing}
single spaced longtable with apa6 - TeX - LaTeX Stack Exchange
How to turn double spacing off in longtable? - TeX - LaTeX Stack Exchange
longtable表格上框线和caption有多余间距。这一问题在ctexbook也存在。
[doc] Missing doc for option strut
(#71) · 议题 · Axel Sommerfeldt / caption · GitLab
% !TeX program = xelatex
% !BIB program = biber
% \documentclass[type=bachelor]{bithesis}
% <ctex>
\documentclass[zihao=-4]{ctexbook}
\usepackage{booktabs}
\usepackage[strut=off]{caption} % strut=off问题更明显
\captionsetup{belowskip=-5pt} % 若无此行,只有几像素的区别,不测量很难看出;若有此行,则非常明显
\captionsetup[table]{skip=0em} % 只有取较小值时才有问题
% </ctex>
\usepackage{tabularx}
\usepackage{longtable}
\begin{document}
\begin{table}[ht]
\centering
\caption{\fbox{Tabular Lg}} % 都含“Lg”两个伸长的字母,控制变量
\begin{tabular}{*{5}{>{\centering\arraybackslash}p{5em}}}
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\ \midrule
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\ \bottomrule
\end{tabular}
\end{table}
\begin{table}[ht]
\centering
\caption{\fbox{Tabular* Lg}}
\begin{tabular*}{32em}{@{\extracolsep{\fill}}ccccc}
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\ \midrule
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\ \bottomrule
\end{tabular*}
\end{table}
\begin{table}[ht]
\centering
\caption{\fbox{Tabularx Lg}}
\begin{tabularx}{32em}{*{5}{>{\centering\arraybackslash}X}}
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\ \midrule
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\ \bottomrule
\end{tabularx}
\end{table}
\begin{longtable}[ht]{ccccc}
\caption{\fbox{Long table Lg}} \\
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\
\midrule
\endfirsthead
\multicolumn{5}{l}{续表} \\
\toprule
项目 & 产量 & 销量 & 产值 & 比重 \\
\midrule
\endhead
\midrule
\multicolumn{5}{r}{{续下页}} \\
\endfoot
\bottomrule
\endlastfoot
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\
\end{longtable}
\end{document}
已更新 #503。