我需要向长表添加一些分隔行来区分不同的部分。我正在使用的 Word 模板有这样的分隔线:
我目前尝试复制此操作,使用三条线,并将中间的 \arrayrulewidth 和 \arrayrulecolor 更改为此操作。以下是示例代码:
\documentclass[letterpaper,10pt]{article}
\usepackage[margin=.5in]{geometry}
\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{array}
\usepackage{multicol}
\begin{document}
\arrayrulecolor{red}
\begin{longtable}{|m{1.5in}|m{2.5in}|m{2.5in}|}
\hline
Section 1 & Scales 1 & Subscales 1 \\
\hline
\noalign{\global\arrayrulewidth=4pt}\arrayrulecolor{blue}
\hline
\noalign{\global\arrayrulewidth=.4pt}\arrayrulecolor{red}
\hline
Section 2 & Scales 2 & Subscales 2 \\
\hline
\end{longtable}
\end{document}
是否有一些解决方法可以使边框显示出来,或者是否有其他方法可以实现这一点?
答案1
这很容易做到\hhline
:
\documentclass[letterpaper,10pt]{article}
\usepackage[margin=.5in]{geometry}
\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{array, hhline}
\usepackage{multicol}
\begin{document}
\arrayrulecolor{red}
\setlength{\doublerulesep }{4pt}
\doublerulesepcolor{blue}
\begin{longtable}{|m{1.5in}|m{2.5in}|m{2.5in}|}
\hhline{|-|-|-|}
Section 1 & Scales 1 & Subscales 1 \\
\hhline{|=|=|=|}
Section 2 & Scales 2 & Subscales 2 \\
\hhline{|-|-|-|}
\end{longtable}
\arrayrulecolor{black}
\doublerulesepcolor{white}
\end{document}
答案2
供您参考,以下是您可以使用 执行{NiceTabular}
的nicematrix
操作,输出完美(您不会看到使用 时看到的细白线hhline
)。但是,nicematrix
不提供可破坏的环境。
\documentclass[10pt]{article}
\usepackage{xcolor}
\usepackage{nicematrix,tikz}
\NiceMatrixOptions
{
custom-line =
{
command = doubleline ,
tikz =
{
draw = red ,
double = blue ,
shorten < = 0.5 \arrayrulewidth ,
shorten > = 0.5 \arrayrulewidth ,
} ,
total-width = 3 \arrayrulewidth ,
}
}
\begin{document}
\begin{NiceTabular}{|ccc|}[rules/color=red]
one & two & three \\
four & five & six \\
\doubleline
seven & eight & nine \\
ten & eleven & twelve \\
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。