改变表格线的宽度

改变表格线的宽度

我们知道,通过添加\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} 

在此处输入图片描述

相关内容