Seite 1 von 1

Element einer Matrix in Equation Umgebung zentrieren

Verfasst: Di 8. Dez 2015, 17:40
von chirs_85
Hallo,

ich würde gerne Elemente einer Matrix innerhalb der Equation Umgebung zentrieren. Die Element sind unterschiedl. lang (etwa "a_b" und "c_{defghi}").

Bisherige versuche mit \centering, \begin{bmatrix}[c] haben nicht funktioniert.

Gibt es Ideen?

Gruß

Re: Element einer Matrix in Equation Umgebung zentrieren

Verfasst: Di 8. Dez 2015, 20:37
von esdd
chirs_85 hat geschrieben: Gibt es Ideen?
Ja, mach ein Minimalbeispiel und zeig uns, was Du tust, damit die beiden Elemente nicht zentriert übereinander stehen:
    \documentclass{article}
    \usepackage{amsmath}
    \begin{document}
    \begin{equation}
      \begin{bmatrix}
        a_b\\
        c_{defgh}
      \end{bmatrix}
    \end{equation}
    \end{document}

Verfasst: Mi 9. Dez 2015, 09:18
von chirs_85
Besten Dank fürs Feedback. Anbei ein Minimalbeispiel
	
\documentclass{article}
 \usepackage{amsmath}
    \begin{document}
	\begin{equation}
	   \begin{bmatrix}
             a^b\\
             c^{defghij}
            \end{bmatrix} 
	\end{equation}
\end{document}
Ich hätte gerne, das "a" und "c" untereinander stehen. Das Problem scheint das supersript zu sein

Verfasst: Mi 9. Dez 2015, 10:07
von Noch so einer
Man könnte natürlich statt einer bmatrix- einfach eine array-Umgebung mit l-Spalten verwenden. Man kann aber auch bmatrix um ein optionales Argument erweitern, so dass man den Spaltentype frei wählen kann:
\documentclass{article}
\usepackage{mathtools}
\makeatletter
% Das internet \env@matrix von amsmath bekommt als optinalen Parameter den Spaltentyp mit dem Default c
\def\env@matrix{%
  \kernel@ifnextchar [%]
    {\env@@matrix}%
    {\env@@matrix[c]}%
}
\def\env@@matrix[#1]{\hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{*\c@MaxMatrixCols #1}}
% Die Umgebung bmatrix wird so umdefiniert, dass sie ebenfalls ein optionales Argument erhält, das sie an \env@matrix weiterreicht
\renewenvironment{bmatrix}[1][l]{\left[\env@matrix[#1]}{\endmatrix\right]}
\makeatother

\begin{document}
\begin{equation}
  \begin{bmatrix}[l]
  a^b\\
  c^{defghij}
\end{bmatrix}
\end{equation}
\end{document}
Hat man allerdings unterschiedliche Spalten, dass ist das nicht mehr sonderlich sinnvoll. Dann sollte man darüber nachdenken, wirklich mit einer array-Umgebung zu arbeiten.

Verfasst: Mi 9. Dez 2015, 10:15
von esdd
Das Paket mathtools definiert für solche Zwecke Sternvarianten der Matrixumgebungen:
\documentclass{article} 
\usepackage{mathtools}% lädt auch amsmath 
\begin{document}
\begin{equation}
  \begin{bmatrix*}[l]
    a^b\\ 
    c^{defghij}
  \end{bmatrix*}
\end{equation}
\end{document}
Wie in dem Vorschlag von Besserwisser werden dann aber *alle* Spalten der Matrix linksbündig ausgerichtet.

Verfasst: Mi 9. Dez 2015, 10:35
von chirs_85
esdd hat geschrieben:Das Paket mathtools definiert für solche Zwecke Sternvarianten der Matrixumgebungen:
\documentclass{article} 
\usepackage{mathtools}% lädt auch amsmath 
\begin{document}
\begin{equation}
  \begin{bmatrix*}[l]
    a^b\\ 
    c^{defghij}
  \end{bmatrix*}
\end{equation}
\end{document}
Wie in dem Vorschlag von Besserwisser werden dann aber *alle* Spalten der Matrix linksbündig ausgerichtet.
So sieht es ganz gut aus. Danke :-)