[Bug]: `misc/tabularRowSeparation`错误地影响了矩阵
Closed this issue · 2 comments
YDX-2147483647 commented
发生了什么?
BIThesis/templates/undergraduate-thesis/main.tex
Lines 69 to 70 in 2f6bf7e
Line 1636 in 2f6bf7e
\arraystretch
除了影响表格,还影响matrix
、bmatrix
等环境,导致矩阵的行间距比正文还大。
你期望的结果
只改表格,不改矩阵。
问题复现的步骤(或者截图)
\documentclass[type=bachelor]{bithesis}
\BITSetup{
misc = {
% 微调表格行间距
tabularRowSeparation = 1.25,
},
}
\begin{document}
\frontmatter
\mainmatter
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
\begin{equation}
\begin{bmatrix}
1 & 0 \\
1 & 0 \\
1 & 0 \\
1 & 0 \\
1 & 0 \\
1 & 0 \\
\end{bmatrix}
\end{equation}
\begin{table}[ht]
\centering
\caption{统计表}
\begin{tabular}{*{5}{>{\centering\arraybackslash}p{2cm}}} \toprule
项目 & 产量 & 销量 & 产值 & 比重 \\ \midrule
手机 & 1000 & 10000 & 500 & 50\% \\
计算机 & 5500 & 5000 & 220 & 22\% \\
笔记本电脑 & 1100 & 1000 & 280 & 28\% \\ \midrule
合计 & 17600 & 16000 & 1000 & 100\% \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
操作系统或平台
None
LaTeX 发行版以及发行年份
No response
BIThesis 模板
No response
日志信息(可选)
No response
YDX-2147483647 commented
临时解决方案
回退 17398c5 。
具体来说,编辑main.tex
,把\BITSetup
中misc/tabularRowSeparation
那行删掉吧。这样会换回默认值1
。
如果你同时要用表格,只能在每个table
里加上\linespread{1.5}
了。
\begin{table}[htbp]
\linespread{1.5}
\centering
\caption{统计表}
…
YDX-2147483647 commented
智谱清言如是说
在LaTeX中,表格的行高是由多个因素决定的,主要包括:
- 基础行高(Baseline):这是文本行的标准行高,通常由文档的基础字体大小决定。
- 行距(Row Spacing):行距是指行与行之间的垂直距离,可以通过
\arrayrulewidth
命令来调整,这是表格线宽的一个参数。 - 单元格内容:单元格中的内容,如文本或图像,也会影响行高。文本内容的高度会占据一定的空间,图像的高度则直接添加到行高上。
- 单元格垂直填充(Cell Vertical Extras):每个单元格可以通过
\vphantom
命令添加垂直填充,这会影响整个行的垂直空间。 - 单元格属性:如
\linespread
命令,可以用来增加或减少单元格内文本的行高。 - 全局命令:如
\renewcommand{\arraystretch}{factor}
,可以改变整个表格的行高,factor
是一个倍数,表示行高要放大或缩小的比例。 - 表格环境的参数:例如
tabular
环境中的height
或totalheight
参数,可以设置整个表格的高度。
要精确控制表格的行高,通常需要结合使用这些方法。如果需要调整特定行的行高,可能需要使用到\rule
命令或者调整单元格内的文本或内容的尺寸。
在 LaTeX 中,matrix
环境中的行高主要由以下因素决定:
- 基础行高:默认情况下,LaTeX 会使用文档的基础行高,这通常是 12pt(对于标准的文档类)。
- 行间距:
matrix
环境中的行可以通过\arraybackslash
(或简写为\tabcolsep
)来调整行间距。这个参数默认情况下设置为 6pt,但可以自行设置。 - 内部排版:
matrix
环境内部,每个元素的大小也会影响行高。每个元素的高度取决于其字体大小和样式。 - 换行符:如果矩阵中的元素包含换行(例如使用
\text{}
包裹的多行文本),换行符的高度也会计入行高。 - 额外的间距:可以通过添加额外的间距命令(如
\vspace
)来增加或减少行高。 - 行样式:如果使用了特殊的行样式,如粗体或斜体,这也会影响行高,因为这些样式会改变字体的尺寸。
要精确控制矩阵的行高,通常需要对上述因素进行细致的调整。下面是一个简单的例子,展示了如何使用 LaTeX 创建一个矩阵并调整其行高:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
% 正常矩阵
\begin{equation}
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\end{equation}
% 调整行高的矩阵
\begin{equation}
\begin{pmatrix}
a & b \\
[1ex] % 添加了 1ex 的行间距
c & d
\end{pmatrix}
\end{equation}
\end{document}
在这个例子中,第二个矩阵的行高比第一个矩阵的要高,因为添加了 [1ex]
来增加行间距。注意,调整行高时可能需要考虑整体文档的排版和美观,确保排版效果符合预期。