
He buscado un poco en el foro y no encuentro una solución satisfactoria a mi problema.
Quiero crear una tabla en la que comparo dos situaciones diferentes, y una línea de la comparación es una matriz/matriz. Quiero que el espacio para el tabular sea un poco más grande porque todo está demasiado apretado. Entonces uso un cambio \arraystretch
dentro de los grupos:
\begin{center}
\renewcommand*{\arraystretch}{1.5}
\begin{tabular}{|c|c|}
\hline
Problem (1) & Problem (2)\\
\hline
\begingroup
\renewcommand*{\arraystretch}{1}
$\left\{
\begin{array}{c}
G_1 = 1\\
G_2 = 0
\end{array}
\right.$
\endgroup
&
\begingroup
\renewcommand*{\arraystretch}{1}
$\left\{
\begin{array}{c}
G_1 = 0\\
G_2 = 1
\end{array}
\right.$
\endgroup
\\
\hline
displacement $u_1(x,y) = \chi_1(y)$ & displacement $u_1(x,y) = \chi_2(y)$\\
\hline
\end{tabular}
\end{center}
Funciona bien para las líneas de texto, pero con la matriz/matriz dentro, no coloca ningún espacio adicional en la parte superior e inferior, lo cual no es lo que esperaba. Sin embargo, si aumenta el \arraystretch
valor superior 3
, verá un espacio en la parte superior de las matrices, luego aumente hasta 4
le permitirá ver el espacio aparecer en la parte inferior.
¿Alguien tiene alguna idea de cómo hacer que LaTeX comprenda que se supone que la matriz está rodeada de espacio?
Pregunta adicional: con un gran número para \arraystretch
(sobre 4
), la alineación vertical no parece centrada sino un poco en la parte inferior. ¿Existe alguna otra opción además de usar tabularx
, minipáginas, etc.?
Respuesta1
Realmente no necesitas cambiar el valor de \arraystretch
. El makecell
paquete puede dar algo de relleno vertical a las filas. Además, puede tener reglas con grosor variable y saltos de línea dentro de las celdas, con el comando del mismo nombre. Para las fórmulas, es más sencillo utilizar el cases
entorno.
Estoy de acuerdo con los comentarios de @Mico sobre el uso del comando de reglas de booktabs y sin reglas verticales. Si utiliza reglas verticales, le muestro cómo puede mejorar (¡a mi gusto!) dichas tablas.
\documentclass{article}
\usepackage{array, booktabs}
\usepackage{makecell}
\setcellgapes{3pt}
\usepackage{mathtools}
\begin{document}
\begin{center}
\makegapedcells
\begin{tabular}{!{\vrule width 1pt}c|c!{\vrule width 1pt}}
\Xhline{1pt}
Problem (1) & Problem (2) \\
\hline
$ \begin{cases}
G_1 = 1\\
G_2 = 0
\end{cases}$
&
$ \begin{cases}
G_1 = 0\\
G_2 = 1
\end{cases} $
\\
\hline
\makecell{displacement \\$u_1(x,y) = \chi_1(y)$} & \makecell{displacement \\ $u_1(x,y) = \chi_2(y)$}\\
\Xhline{1pt}
\end{tabular}
\end{center}
\vskip1cm
\begin{center}
\makegapedcells
\begin{tabular}{@{}cc@{}}
\toprule
Problem (1) & Problem (2) \\
\cmidrule(lr){1-1}\cmidrule(lr){2-2}
$ \begin{dcases}
G_1 = 1\\
G_2 = 0
\end{dcases}$
&
$ \begin{cases}
G_1 = 0\\
G_2 = 1
\end{cases} $
\\
\addlinespace
displacement $u_1(x,y) = \chi_1(y)$ & displacement $u_1(x,y) = \chi_2(y)$ \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
Respuesta2
En lugar de perder tiempo calculando el espacio por encima y por debajo de varios\hline
s, simplemente puede deshacerse de las líneas horizontales interiores (y todas las líneas verticales) y utilizar las macros de dibujo de líneas de lapestañaspaquete para dibujar las líneas superior e inferior. Por supuesto, aún puedes utilizar las instrucciones \renewcommand{\arraystretch}{1.5}
si lo deseas.
Espero que estés de acuerdo conmigo en que este diseño esal menostan legible como el que tiene muchas más líneas verticales y horizontales...
\documentclass{article}
\usepackage{amsmath} % for 'cases' environment
\usepackage{booktabs} % for \toprule, \bottomrule, and \addlinespace macros
\begin{document}
\begin{center}
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}cc@{}}
\toprule
Problem (1) & Problem (2) \\ \addlinespace
$\begin{cases}
G_1 = 1\\G_2 = 0
\end{cases}$
&
$\begin{cases}
G_1 = 0\\G_2 = 1
\end{cases}$ \\ \addlinespace
displacement $u_1(x,y) = \chi_1(y)$ &
displacement $u_1(x,y) = \chi_2(y)$ \\
\bottomrule
\end{tabular}
\end{center}
\end{document}