
Tengo un caso array
en el que una de las columnas es un polinomio y me gustaría alinear los términos del polinomio para cada fila de la matriz. Mi truco es usar \phantom
s en todas partes, pero ¿hay alguna manera de hacerlo automáticamente? Por ejemplo, ¿si pudiera hacer que esta parte de la matriz actuara como una especie de align
entorno?
Aquí hay un MWE:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
What I have:
\[ \begin{array}{|r|c|}
\hline
S & P(x) \\
\hline
9 & x + x^2 + x^3 \\
10 & 3x + x^2 + x^3 \\
11 & x + 10x^3\\
\hline
\end{array} \]
What I want:
\[ \begin{array}{|r|c|}
\hline
S & P(x) \\
\hline
9 & \phantom{3}x + x^2 + \phantom{10}x^3 \\
10 & 3x + x^2 + \phantom{10}x^3 \\
11 & \phantom{3}x \phantom{{} + x^2 } + 10x^3\\
\hline
\end{array} \]
\end{document}
Respuesta1
Puedes usar más columnas como
\[ \begin{array}{|r|r@{{}+{}}c@{{}+{}}r|}
\hline
S & \multicolumn{3}{|c|}{P(x)} \\
\hline
9 & x & x^2 &x^3 \\
10 & 3x & x^2 & x^3 \\
11 & \mc{x} & & 10x^3\\
\hline
\end{array} \]
donde \mc
se define para cuidar la alineación sin el +
signo sucesivo.
Código:
\documentclass{article}
\usepackage{amsmath}
\newlength{\mylen}
\settowidth{\mylen}{${}+{}$}
\newcommand{\mc}[1]{\multicolumn{1}{r@{\hspace{\mylen}}}{#1}}
\begin{document}
What I have:
\[ \begin{array}{|r|c|}
\hline
S & P(x) \\
\hline
9 & x + x^2 + x^3 \\
10 & 3x + x^2 + x^3 \\
11 & x + 10x^3\\
\hline
\end{array} \]
What I want:
\[ \begin{array}{|r|r@{{}+{}}c@{{}+{}}r|}
\hline
S & \multicolumn{3}{|c|}{P(x)} \\
\hline
9 & x & x^2 &x^3 \\
10 & 3x & x^2 & x^3 \\
11 & \mc{x} & & 10x^3\\
\hline
\end{array} \]
\end{document}