![Nicematrix \cdashline 替代品](https://linux22.com/image/451604/Nicematrix%20%5Ccdashline%20%E6%9B%BF%E4%BB%A3%E5%93%81.png)
包中是否有与 相当的arydshln
东西?cdashline
nicematrix
我知道\hdottedline
,但我需要在某些列中添加虚线水平线。
答案1
您可以使用\CodeAfter
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}% needed <<<<<<<<<<<
\begin{document}
\begin{NiceTabular}{ccccc}[cell-space-limits=5pt] % expand the cells
A&B&C&D&E\\
F&G&H&I&J\\
K&L&M&N&O\\
P&Q&R&S&T
\CodeAfter
\tikz \draw [dotted] (1-|1) -- (1-|4);
\tikz \draw [dotted] (3-|1) -- (3-|4);
\tikz \draw [dashed] (2-|4) -- (2-|6);
\tikz \draw [dashed] (1-|1) -- (6-|1);
\tikz \draw [dotted] (1-|4) -- (6-|4);
\tikz \draw [dashed] (5-|4) -- (5-|6);
\tikz \draw (2-|6) -- (5-|6);
\end{NiceTabular}
\end{document}
答案2
\cdotteline
我在最新版本nicematrix
(2022/07/16的6.11)里添加了一个命令。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{ccc}
champignon & crayon & pays \\
\cdottedline{2-3}
chypre & monde & bike \\
rien & bateau & pain
\end{NiceTabular}
\end{document}
如果您坚持使用旧版本的nicematrix
,您可以按如下方式编写命令\cdottedline
(但是,虚线是 Tikz 的虚线,带有方点)。
\documentclass{article}
\usepackage{nicematrix,tikz}
\ExplSyntaxOn
\NewDocumentCommand { \cdottedline } { m }
{ \__schardong:w #1 \q_stop }
\cs_new_protected:Npn \__schardong:w #1-#2 \q_stop
{
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{ \__schardong_i:nnn { \int_use:c { c@iRow } } { #1 } { \int_eval:n { #2 + 1 } } }
}
\cs_new_protected:Npn \__schardong_i:nnn #1 #2 #3
{ \tikz \draw [dotted] (#1-|#2) -- (#1-|#3) ; }
\ExplSyntaxOff
\begin{document}
\begin{NiceTabular}{ccc}
champignon & crayon & pays \\
\cdottedline{2-3}
chypre & monde & bike \\
rien & bateau & pain
\end{NiceTabular}
\end{document}
与往常一样nicematrix
,您需要进行多次编译。