Seguindoesta postagem, tenho outra tabela em latex:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\newcolumntype{?}{!{\vrule width 3pt}}
\usepackage{makecell}
\begin{document}
\begin{table*}[!t]
\footnotesize
\centering
\caption{Example of a table}
\label{sth}
\begin{tabular}{>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}?>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|}
\cline{2-11}
& \multicolumn{5}{c?}{X^{tr} (\mathrm{english text})} & \multicolumn{5}{c|}{Y^{yu} (\mathrm{english text})} \\ \cline{2-11}
\multirow{-2}{*}{} & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\ \hline
\multicolumn{1}{|c|}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\ \hline
\multicolumn{1}{|c|}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\ \hline
\end{tabular}
\end{table*}
\end{document}
Tenho vários problemas com meu esforço.
- por que -2* aparece na primeira coluna?
- Tentei me livrar das linhas verticais e horizontais, mas preciso manter uma divisória preta em negrito no meio. então, não sei quais linhas excluir.
- as fórmulas estão borradas nas linhas, então devo remover as linhas. Tentei dar uma lacuna extra em torno de cada caixa. Existe uma maneira melhor? meu método parece não funcionar para a primeira linha no topo.
- O "texto em inglês" não aparece na segunda linha como deveria, com espaço entre eles. o que tentei é escrever tudo na tabela como fórmula matemática mas isso está gerando erros. alguém pode resolver isso?
- Na segunda linha, o A deve aparecer como letra maiúscula. Isso não está acontecendo.
Preciso principalmente de ajuda para tornar esta tabela mais legível e resolver as mensagens de erro que são geradas. Por favor, sugira alterações.
Responder1
Alguns comentários e observações:
Como praticamente todo o material da tabela deve estar no modo matemático, use um
array
ambiente em vez de umtabular
ambiente.O
c
tipo de coluna parece ser apropriado para todas as 11 colunas. Ocellspace
pacote tem seus usos. Para a tabela actual, porém, empregar a sua maquinaria parece ser um exagero.Para reduzir a largura total da tabela, altere o valor de
\arraycolsep
(assumindo que você seguiu meu conselho para usar umarray
ambiente). O valor padrão deste parâmetro é5pt
; no exemplo abaixo, eu configurei como2.5pt
.A string "-2" aparece por causa da
\multirow{-2}{*}{}
diretiva. O que é suposto alcançar? A mesa fica bem sem ela.Sua mesa está ok semqualquerlinhas verticais. Realmente. Veja abaixo.
Use as macros de desenho de linha do
booktabs
pacote em vez de\hline
e\cline
.Não use
\mathrm
; use\text{...}
ou\textnormal{...}
.Para fazer a
\mathscr
macro se comportar conforme o esperado, carregue um pacote que forneça um alfabeto matemático com script matemático. Experimente omathrsfs
pacote.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools,array,mathrsfs,booktabs}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\newcommand\msA{\mathscr{A}}
\begin{document}
\begin{table}[!t]
\setlength\arraycolsep{2.5pt} % default value: 5pt
\footnotesize
\captionsetup{font=footnotesize} % optional
\centering
\caption{Example of a table}
\label{sth}
$\begin{array}{@{}*{11}{c}@{}}
\toprule
& \multicolumn{5}{c}{X^{tr} (\textnormal{english text})}
& \multicolumn{5}{c@{}}{Y^{yu} (\text{english text})} \\
\cmidrule(lr){2-6} \cmidrule(l){7-11}
& \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5
& \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 \\
\midrule
1 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35
& 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\
2 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35
& 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\
\bottomrule
\end{array}$
\end{table}
\end{document}
Responder2
É isso que voce quer?
Se estiver aqui está o código:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[version=setB,StylisticSet=1]{XITS Math}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\usepackage{makecell}
\begin{document}
\newcolumntype{?}{!{\vrule width 3pt}}
\begin{table}[!t]
\footnotesize
\centering
\caption{Example of a table}
\label{sth}
\begin{tabular}{>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}?>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}}
& \multicolumn{5}{c?}{$X^{tr} (\mathrm{english text})$} & \multicolumn{5}{c}{$Y^{yu} (\mathrm{english text})$} \\
& \mathscr{A}_1 & \mathscr{A}_ 2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\
\multicolumn{1}{c}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\
\multicolumn{1}{c}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 \\
\end{tabular}
\end{table}
\end{document}
Por causa do
\multirow{-2}{*}{}
. Seu código não estava compilando porque você não tinha o pacotemultirow
.Exclua todos os
|
.Sua escolha
É porque está no modo matemático, então você precisa adicionar um espaço manualmente, usando
\,
Você não definiu o comando para fazer as letras em modo script.