Atualmente estou começando a usar a tecnologia LaTeX e me deparei com esse problema. Li vários manuais tabulares sobre CTAN sem sucesso.
Estou tentando criar uma tabela assim:
+---------+--------+--------+--------+
| |114| |100| |92 | |101|
| |___| |___| |___| |___|
| | | | |
| 113 | 99 | 84 | 97 |
+---------+--------+--------+--------+
| |114| |100| |92 | |101|
| |___| |___| |___| |___|
| | | | |
| 113 | 99 | 84 | 97 |
+---------+--------+--------+--------+
| |114| |100| |92 | |101|
| |___| |___| |___| |___|
| | | | |
| 113 | 99 | 84 | 97 |
+---------+--------+--------+--------+
Existe algum pacote existente para atingir essa estrutura? Caso contrário, estava pensando em aninhar linhas ou algo parecido, embora ainda não tenha certeza.
Responder1
Uma solução com Plain TeX para diversão, aprendizado e para mostrar o que é possível com os blocos de construção básicos:
\def\widest{000}
\def\uv{\unskip\vrule}
\def\bx#1#2{\vbox{%
\offinterlineskip%
\halign{\ \hfil## &##&\ \hfil## \cr
\hphantom{\widest}&&\hphantom{\widest}\cr
&\vrule\strut& #2\cr
\omit&\hrulefill&\omit\hrulefill\cr
#1&\strut&\cr}
}}
\def\bxx{
\bx{113}{114} &
\bx{99}{100} &
\bx{84}{92} &
\bx{97}{101}\cr
\noalign{\hrule}
}
{\offinterlineskip
\halign{\vrule\strut \hfill #\uv & #\uv & #\uv & #\uv\cr
\noalign{\hrule}
\bxx\bxx\bxx
}}\bye
Responder2
Pelo que eu sei, não existe tal pacote, mas isso pode ser alcançado com configurações básicas, uso \multicolumn
e \cline
macros.
\documentclass[twoside]{book}
\usepackage{booktabs}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\usepackage{blindtext}
\begin{document}
\large
\begin{tabular}{|*{8}{L{1cm}|}}
\hline
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
\end{tabular}
% Now with booktabs features
\begin{tabular}{|*{8}{L{0.5cm}|}}
\toprule
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101 \tabularnewline
& & & & & & & \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8}
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97} \tabularnewline
\hline
\end{tabular}
\normalsize
\end{document}
Responder3
\documentclass{scrartcl}
\usepackage{tikz}
\tikzset{/bowlinggrid/.cd,
box width/.store in=\bgridlargewidth,box width=3cm,
box height/.store in=\bgridlargeheight,box height=2.5cm,
small width/.store in=\bgridsmallwidth,small width=1.2cm,
small height/.store in=\bgridsmallheight,small height=1cm,
columns/.store in=\bgridcolnumber,columns=4} % I cannot get /.initial= to work
\newcommand*\bowlinggrind[2][]
{%
\begin{tikzpicture}
\tikzset{/bowlinggrid/.cd,#1}
\foreach \N/\n [count=\cnt] in {#2}
{
\pgfmathsetmacro\currcolnumber{int(mod(\cnt-1,\bgridcolnumber))}
\pgfmathsetmacro\currrownumber{int(ceil(\cnt/\bgridcolnumber))}
\draw
({\currcolnumber*\bgridlargewidth},{-\currrownumber*\bgridlargeheight})
node [above right] {\N}
rectangle ++(\bgridlargewidth,\bgridlargeheight)
rectangle ++(-\bgridsmallwidth,-\bgridsmallheight)
node [above right] {\n};
}
\end{tikzpicture}%
}
\begin{document}
\begin{center}
\bowlinggrind
{113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101}
\end{center}
\begin{center}
\bowlinggrind[box width=1.8cm,box height=1.3cm,small width=.9cm,small height=.5cm]
{113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101,
113/114,99/100,84/92,97/101}
\end{center}
\end{document}
Responder4
FWIW, este efeito é relativamente fácil de obter no ConTeXt. Observe a separação muito clara entre conteúdo e apresentação.
\startsetups[cellular]
\setupTABLE[frame=off, align={middle,lohi}, offset=0.5em]
\setupTABLE[even] [odd][frame=on, offset=0.25em]
\setupTABLE[even][even][rightframe=on, bottomframe=on]
\setupTABLE[odd] [even][leftframe=on, bottomframe=on]
\setupTABLE[odd] [odd][leftframe=on, topframe=on]
\stopsetups
\starttext
\startTABLE[setups=cellular]
\NC \NC 114 \NC \NC 100 \NC \NC 92 \NC \NC 101 \NC \NR
\NC 113 \NC \NC 99 \NC \NC 84 \NC \NC 97 \NC \NC \NR
\NC \NC 114 \NC \NC 100 \NC \NC 92 \NC \NC 101 \NC \NR
\NC 113 \NC \NC 99 \NC \NC 84 \NC \NC 97 \NC \NC \NR
\NC \NC 114 \NC \NC 100 \NC \NC 92 \NC \NC 101 \NC \NR
\NC 113 \NC \NC 99 \NC \NC 84 \NC \NC 97 \NC \NC \NR
\stopTABLE
\stoptext