Existe alguma propriedade/opção única para criar todas as bordas na tabela LaTeX?

Existe alguma propriedade/opção única para criar todas as bordas na tabela LaTeX?
\begin{tabular}{ | c | c | c | }
  \hline                       
  1 & 2 & 3 \\ \hline
  4 & 5 & 6 \\ \hline
  7 & 8 & 9 \\
  \hline  
\end{tabular}

Se quisermos criar uma tabela com todas as bordas (como uma tabela do MS Word), existe uma opção simples que podemos usar no LaTex para criar tal tabela em vez de digitar "|" e \hline em vários locais (como mostrado no exemplo acima)?

Responder1

É fácil com tblro ambiente do novo pacote LaTeX3tabularray. Você pode até definir hlines e vlines como padrão.


\documentclass{article}

\usepackage{tabularray}

\begin{document}

\begin{tblr}{
  colspec = {ccc},
  hlines, vlines,
}                      
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tblr}

\SetTblrInner{hlines,vlines} % set default hlines and vlines

\bigskip

\begin{tblr}{ccc}      
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tblr}

\bigskip

\begin{tblr}{lcr}      
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tblr}

\end{document}

insira a descrição da imagem aqui

Responder2

Com {NiceTabular}of nicematrix, você tem a chave hvlinesque desenha todas as regras.

\documentclass{article}
\usepackage{nicematrix}

\begin{document}
\begin{NiceTabular}{ccc}[hvlines]
  1 & 2 & 3 \\ 
  4 & 5 & 6 \\ 
  7 & 8 & 9 \\
\end{NiceTabular}
\end{document}

Saída do código acima

informação relacionada