
Tenho um array
em que uma das colunas é um polinômio e gostaria de alinhar os termos do polinômio para cada linha do array. Meu truque é usar \phantom
s em todos os lugares, mas existe uma maneira de fazer isso automaticamente? Por exemplo, se eu pudesse fazer com que essa parte do array funcionasse como algum tipo de align
ambiente?
Aqui está um 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}
Responder1
Você pode usar mais colunas 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} \]
onde \mc
é definido para cuidar do alinhamento sem o +
sinal sucessor.
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}