Avec
nicematrix
, on peut utiliser l'environnement
NiceTabular
et TikZ pour tracer les traits en utilisant les nœuds PGF/TikZ créés par
nicematrix
.
Code : Tout sélectionner
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{*{4}{|c}|}
\hline
2&6&9&9\\
\hline
17&24&33&130\\
\hline
\CodeAfter
\tikz \draw [red] (1-|3) -- (2-|4) (2-|3) -- (3-|4) ;
\end{NiceTabular}
\end{document}
Plusieurs compilations successives sont nécessaires.
En fait, avec
nicematrix
, il est possible de simplifier le code en utilisant la clé
hvlines
pour tracer tous les filets horizontaux et verticaux.
Code : Tout sélectionner
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{cccc}[hvlines]
2&6&9&9\\
17&24&33&130\\
\CodeAfter
\tikz \draw [red] (1-|3) -- (2-|4) (2-|3) -- (3-|4) ;
\end{NiceTabular}
\end{document}
On peut aussi écrire une commande
\crossbox
à utiliser dans une cellule du tableau et barrera cette cellule.
Code : Tout sélectionner
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{nicematrix,tikz}
\begin{document}
\ExplSyntaxOn
\cs_new_protected:Nn \__pantigny_crossbox:nnn
{
\tikz \draw [ #3 ]
( #1 -| #2 ) -- ( \int_eval:n { #1 + 1 } -| \int_eval:n { #2 + 1 } ) ;
}
\NewDocumentCommand \crossbox { ! O { } }
{
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
\__pantigny_crossbox:nnn
{ \arabic { iRow } }
{ \arabic { jCol } }
{ \exp_not:n { #1 } }
}
}
\ExplSyntaxOff
\begin{NiceTabular}{cccc}[hvlines]
2&6&\crossbox[red]9&9\\
17&24&\crossbox[red]33&130\\
\end{NiceTabular}
\end{document}