Nicematrix \cdashline 替代品

Nicematrix \cdashline 替代品

包中是否有与 相当的arydshln东西?cdashlinenicematrix

我知道\hdottedline,但我需要在某些列中添加虚线水平线。

答案1

您可以使用\CodeAfter

A

\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,您需要进行多次编译。

第二段代码的输出

相关内容