![改变表格线的宽度](https://linux22.com/image/315703/%E6%94%B9%E5%8F%98%E8%A1%A8%E6%A0%BC%E7%BA%BF%E7%9A%84%E5%AE%BD%E5%BA%A6.png)
我们知道,通过添加\setlength\arrayrulewidth{xpt}
可以改变所有表格线的粗细。
如果我想更改特定的表格线,该怎么做?
\documentclass[11pt]{article}
\setlength\arrayrulewidth{0.7pt}
\begin{document}
\begin{tabular}{|l|l|l|l|}
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
\end{tabular}
\vspace{1ex}
\begin{tabular}{|l|l|l|l|}
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
\end{tabular}
\end{document}
第一个表格的线条粗细保持不变。我想更改第二个表格中所有线条的粗细。(垂直和水平线条必须相等。)
答案1
更新
从序言中使用\arrayrulewidth
并将其放置在所需的表之前,使用组将更改保持为\arrayrulewidth
本地:
\documentclass[11pt]{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|l|l|l|l|}
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
\end{tabular}
\vspace{1ex}
{
\setlength\arrayrulewidth{2pt}
\begin{tabular}{|l|l|l|l|}
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
\end{tabular}
}
\begin{tabular}{|l|l|l|l|}
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
& & & \\
\hline
\end{tabular}
\end{document}
您也可以进行单独的规则控制:
对于水平线:
\noalign{\hrule height <length>}
而不是\hline
(您可以为此定义一个命令)。对于垂直规则:
!{\vrule width <length>}
而不是|
在格式规范中。例如:
示例代码:
\documentclass{article}
\usepackage{array}
\newcommand\ChangeRT[1]{\noalign{\hrule height #1}}
\begin{document}
\noindent
\begin{tabular}{
|c!{\vrule width 1pt}
c!{\vrule width 1.6pt}
c!{\vrule width 2.2pt}
c!{\vrule width 2.8pt}
c!{\vrule width 3.4pt}
c!{\vrule width 4pt}
c!{\vrule width 4.6pt}
}
\hline
& & & & & & \\
\ChangeRT{1pt}
& & & & & & \\
\ChangeRT{1.6pt}
& & & & & & \\
\ChangeRT{2.2pt}
& & & & & & \\
\ChangeRT{2.8pt}
& & & & & & \\
\ChangeRT{3.4pt}
& & & & & & \\
\ChangeRT{4pt}
& & & & & & \\
\ChangeRT{4.6pt}
\end{tabular}\par\bigskip
\noindent
\begin{tabular}{|c!{\vrule width 4pt}c|c!{\vrule width 8pt}}
\hline
column1a & column2a & column 3a \\
\ChangeRT{4pt}
column1b & column2b & column 3b \\
\hline
column1c & column2c & column 3c \\
\ChangeRT{2pt}
column1d & column2d & column 3d \\
\hline
\end{tabular}
\end{document}
这booktabs
包为其规则命令提供了一个可选参数来控制其厚度(当然,垂直规则在这里不是一个好的伴侣):
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{*{7}{c}}
\toprule[2pt]
a & b & c & d & e & f & g \\
\midrule[1pt]
a & b & c & d & e & f & g \\
\midrule
a & b & c & d & e & f & g \\
\cmidrule[2pt]{3-5}
a & b & c & d & e & f & g \\
\midrule
a & b & c & d & e & f & g \\
\bottomrule[5pt]
\end{tabular}
\end{document}
答案2
对于水平规则,您可以使用boldline
包(来自shipunov
包)。它定义\hlineB
和\clineB
命令,使用num
\arrayrulewidth 参数。
另一种选择是makecell
包,它定义自己的\Xhline
和\Xcline
命令;它们有一个dimension
参数。
对于垂直规则,您可以!{\vrule width x pt}
在表格序言中使用。Boldline
定义V{num}
限定符。
\documentclass{article}
\usepackage{array, makecell}
\usepackage{boldline}
\usepackage[x11names, table]{xcolor}
\usepackage{colortbl}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.5}
\begin{tabular}{V{5}c|c|cV{5}}
\hlineB{7.5}
Fiddle & Dee & Dee \\
\clineB{1-2}{3}
Tweedledee &Tweedledum & \\
\hlineB{5}
\end{tabular}
\vskip 3ex
\begin{tabular}{!{\vrule width2pt}c|c|c!{\vrule width2pt}}
\Xhline{3pt}
Fiddle & Dee & Dee \\
\Xcline{1-2}{1.2pt}
Tweedledee &Tweedledum & \\
\Xhline{2pt}
\end{tabular}
\end{center}
\end{document}