
Quiero ubicar la mesa de la imagen en el centro exacto. En este momento, sobresale hacia la derecha y se ve feo. Este es el código que tengo:
\scalebox{0.75}{
\begin{center}
\centering
\begin{tabular}{||c c c c c c c c c c||}
\hline
& SHSZ300 & RGUSHS & SPTRHLTH & MVGDXJTR & SX6R & GDLECFEF & NDELCHF &
SXXR & SPTRINFT \\ [0.5ex]
\hline\hline
SHSZ300&1.0000&0.1256&0.1231&0.1806&0.1800&0.4097&0.5796&0.2387&0.2593\\
\hline
RGUSHS&0.1256&1.0000&0.7845&0.1667&0.3758&0.5186&0.3488&0.5881&0.5926\\
\hline
SPTRHLTH&0.1231&0.7845&1.0000&0.1229&0.5322&0.6021&0.4604&0.6867&0.6586\\
\hline
MVGDXJTR&0.1806&0.1667&0.1229&1.0000&0.0734&0.1163&0.3502&0.1841&0.1900\\
\hline
SX6R&0.1800&0.3758&0.5322&0.0734&1.0000&0.5312&0.3054&0.7212&0.5611\\
\hline
GDLECFEF&0.4097&0.5186&0.6021&0.1163&0.5312&1.0000&0.7493&0.7267&0.6943\\
\hline
NDELCHF&0.5796&0.3488&0.4604&0.3502&0.3054&0.7493&1.0000&0.5453&0.5386\\
\hline
SXXR&0.2387&0.5881&0.6867&0.1841&0.7212&0.7267&0.5453&1.0000&0.7182\\
\hline
SPTRINFT&0.2593&0.5926&0.6586&0.1900&0.5611&0.6943&0.5386&0.7182&1.0000\\
\end{tabular}
\end{center}}
¿Cómo puedo modificar el código para que la tabla esté exactamente centrada?
Respuesta1
Rediseñaría tu mesa de la siguiente manera:
- Explotar el hecho de que los encabezados de fila y los encabezados de columna son iguales
- uso
tabular*
para entorno de mesa - configurado
tabsep
para ocupar el espacio disponible entre columnas - no usar líneas verticales
- No utilice
\scalebox
- para líneas horizontales empoy
booktabs
paquete
(las líneas rojas indican el borde del texto)
\documentclass{article}
\usepackage{geometry}
\usepackage{booktabs}
%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}%[htb]
\setlength\tabcolsep{0pt}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
l
*{9}{c}
}
\toprule
& (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) & (9) \\
\midrule
(1): SHSZ300 &1.0000 &0.1256 &0.1231&0.1806&0.1800&0.4097&0.5796&0.2387&0.2593\\
(2): RGUSHS &0.1256 &1.0000 &0.7845&0.1667&0.3758&0.5186&0.3488&0.5881&0.5926\\
(3): SPTRHLTH &0.1231 &0.7845 &1.0000&0.1229&0.5322&0.6021&0.4604&0.6867&0.6586\\
\addlinespace
(4): MVGDXJTR &0.1806 &0.1667 &0.1229&1.0000&0.0734&0.1163&0.3502&0.1841&0.1900\\
(5): SX6R &0.1800 &0.3758 &0.5322&0.0734&1.0000&0.5312&0.3054&0.7212&0.5611\\
(6): GDLECFEF &0.4097 &0.5186 &0.6021&0.1163&0.5312&1.0000&0.7493&0.7267&0.6943\\
\addlinespace
(7): NDELCHF &0.5796 &0.3488 &0.4604&0.3502&0.3054&0.7493&1.0000&0.5453&0.5386\\
(8): SXXR &0.2387 &0.5881 &0.6867&0.1841&0.7212&0.7267&0.5453&1.0000&0.7182\\
(9): SPTRINFT &0.2593 &0.5926 &0.6586&0.1900&0.5611&0.6943&0.5386&0.7182&1.0000\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
nota: dado que no conocemos el diseño de la página de su documento, supongo que la página tiene A4
bordes determinados de forma predeterminada por geometry
el paquete. Si el ancho del texto es menor, es posible que necesite reducir el tamaño de fuente a \small
o footnotesize
.
Respuesta2
Aquí hay una variación deLa respuesta de @Zarko(y tambiénesta respuesta) que va más allá en la reducción del desorden visual: emplea el siunitx
paquete para mostrar solo 3 dígitos significativos para todas las correlaciones. Creo que les harás un gran favor a tus lectores aplicando tal simplificación.
\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}
\begin{table}[htb]
\sisetup{round-mode = places,
round-precision = 3,
table-format = 1.3}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l *{9}{S} }
\toprule
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} & {(7)} & {(8)} & {(9)} \\
\midrule
(1) SHSZ300 & 1.0000 & 0.1256 & 0.1231& 0.1806& 0.1800& 0.4097& 0.5796& 0.2387& 0.2593\\
(2) RGUSHS & 0.1256 & 1.0000 & 0.7845& 0.1667& 0.3758& 0.5186& 0.3488& 0.5881& 0.5926\\
(3) SPTRHLTH& 0.1231 & 0.7845 & 1.0000& 0.1229& 0.5322& 0.6021& 0.4604& 0.6867& 0.6586\\
\addlinespace
(4) MVGDXJTR& 0.1806 & 0.1667 & 0.1229& 1.0000& 0.0734& 0.1163& 0.3502& 0.1841& 0.1900\\
(5) SX6R & 0.1800 & 0.3758 & 0.5322& 0.0734& 1.0000& 0.5312& 0.3054& 0.7212& 0.5611\\
(6) GDLECFEF& 0.4097 & 0.5186 & 0.6021& 0.1163& 0.5312& 1.0000& 0.7493& 0.7267& 0.6943\\
\addlinespace
(7) NDELCHF & 0.5796 & 0.3488 & 0.4604& 0.3502& 0.3054& 0.7493& 1.0000& 0.5453& 0.5386\\
(8) SXXR & 0.2387 & 0.5881 & 0.6867& 0.1841& 0.7212& 0.7267& 0.5453& 1.0000& 0.7182\\
(9) SPTRINFT& 0.2593 & 0.5926 & 0.6586& 0.1900& 0.5611& 0.6943& 0.5386& 0.7182& 1.0000\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
Respuesta3
Usar el \small
tamaño de fuente, reducir el valor \tabcolsep
y usar encabezados de columna de varias líneas cuando sea necesario con el comando \makecell
o \thead
son las herramientas habituales para hacer que una tabla se ajuste al ancho de la página. Además, cargué hhline
para tener intersecciones más ordenadas de reglas verticales y horizontales:
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[utf8]{inputenc}%
\usepackage{makecell, hhline}
\begin{document}
\begin{table}[!htb]
\centering\small
\setlength{\extrarowheight}{2pt}
\setlength{\tabcolsep}{3pt}
\begin{tabular}{||*{10}{c}||}
\hline
& SHSZ300 & RGUSHS & \makecell{SPTRH\\LTH} & \makecell{MVGDXJ\\TR} & SX6R & \makecell{GDLECF\\EF} & \makecell{NDELC\\HF} &
SXXR & \makecell{SPTRIN\\FT} \\ [0.5ex]
\hhline{}
SHSZ300&1.0000&0.1256&0.1231&0.1806&0.1800&0.4097&0.5796&0.2387&0.2593\\
\hhline{||*{10}{=}||}
RGUSHS&0.1256&1.0000&0.7845&0.1667&0.3758&0.5186&0.3488&0.5881&0.5926\\
\hhline{||*{10}{=}||}
SPTRHLTH&0.1231&0.7845&1.0000&0.1229&0.5322&0.6021&0.4604&0.6867&0.6586\\
\hhline{||*{10}{=}||}
MVGDXJTR&0.1806&0.1667&0.1229&1.0000&0.0734&0.1163&0.3502&0.1841&0.1900\\
\hhline{||*{10}{=}||}
SX6R&0.1800&0.3758&0.5322&0.0734&1.0000&0.5312&0.3054&0.7212&0.5611\\
\hhline{||*{10}{=}||}
GDLECFEF&0.4097&0.5186&0.6021&0.1163&0.5312&1.0000&0.7493&0.7267&0.6943\\
\hhline{||*{10}{=}||}
NDELCHF&0.5796&0.3488&0.4604&0.3502&0.3054&0.7493&1.0000&0.5453&0.5386\\
\hhline{||*{10}{=}||}
SXXR&0.2387&0.5881&0.6867&0.1841&0.7212&0.7267&0.5453&1.0000&0.7182\\
\hhline{||*{10}{=}||}
SPTRINFT&0.2593&0.5926&0.6586&0.1900&0.5611&0.6943&0.5386&0.7182&1.0000\\
\end{tabular}
\end{table}
\end{document}