In einer Matrix habe ich große Einträge, daneben steht eine Matrix mit kleineren Elementen.

\documentclass{article}
\usepackage{amsmath}
\newcommand*{\dx}{\,\mathrm{dx}}
\begin{document}
\[
  \begin{pmatrix}
    \int\limits_0^\infty f_1(x)\dx \\
    \vdots \\
    \int\limits_0^\infty f_n(x)\dx \\
  \end{pmatrix}
  \begin{pmatrix}
    x_1 \\
    \vdots \\
    x_n
  \end{pmatrix} = \ldots
\]
\end{document}

Matrizen verschiedener Größe

Nun möchte ich, dass die Elemente auf gleicher Höhe stehen. Wie kriege ich das hin?

gefragt 09 Jan '14, 16:35

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%


Wenn man Elemente unterschiedlicher Höhe bzw. Breite aneinander ausrichten möchte, kann man Befehle verwenden, die unsichtbar jeweils den Platz in Höhe bzw. Breite reservieren:

  • \vphantom{Ausdruck} reserviert die Höhe eines Ausdrucks (v für vertikal)
  • \hphantom{Ausdruck} reserviert die Breite eines Ausdrucks (h für horizontal)
  • \phantom{Ausdruck} reserviert den ganzen Platz, den der Ausdruck belegen würde, ohne ihn auszugeben

Man wählt dann jeweils das größte Element. Man kann es sich auch in ein Makro packen, wenn man es nicht mehrfach schreiben möchte.

Hier im Beispiel reserviere ich unsichtbar die Höhe des Integralausdrucks durch Einfügen von \vphantom{\int\limits_0^\infty}:

\documentclass{article}
\usepackage{amsmath}
\newcommand*{\dx}{\,\mathrm{dx}}
\begin{document}
\[
  \begin{pmatrix}
    \int\limits_0^\infty f_1(x)\dx \\
    \vdots \\
    \int\limits_0^\infty f_n(x)\dx \\
  \end{pmatrix}
  \begin{pmatrix}
    \vphantom{\int\limits_0^\infty}x_1 \\
    \vdots \\
    \vphantom{\int\limits_0^\infty}x_n
  \end{pmatrix} = \ldots
\]
\end{document}

Matrizen mit Ausrichtung

Permanenter link

beantwortet 09 Jan '14, 16:43

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%

Hier ist noch eine Möglichkeit mit einer anderen Herangehensweise statt Phantom-Ausgleich: alles steht in der gleichen Matrix, so dass es ganz natürlich korrekt ausgerichtet ist, und nur die Klammern werden eingefügt. Das mache ich hier mit dem bigdelim-Paket, so wie es in der Antwort hierauf gemacht wurde: Wie kann ich Matrizen aneinander ausrichten und beschriften?

\documentclass{article}
\usepackage{amsmath}
\usepackage{bigdelim}
\usepackage{multirow}
\makeatletter
\renewcommand*{\env@matrix}[1][*\c@MaxMatrixCols c]{%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{#1}}
\makeatother
\newcommand*{\dx}{\,\mathrm{dx}}
\begin{document}
\[
  \begin{matrix}[lc@{}ccc@{}c]
    \ldelim({5}{0pt} & \int\limits_0^\infty f_1(x)\dx & \rdelim){5}{0pt} &
        \ldelim({5}{0pt} & x_1 & \rdelim){5}{1em}\\
    & \vdots & & & \vdots \\
    & \int\limits_0^\infty f_n(x)\dx & & & x_n
  \end{matrix} = \ldots
\]
\end{document}

Matrix mit Ausrichtung

Das ist noch nicht perfekt, soll aber mal das Prinzip zeigen. Die Klammern müsste man noch besser an die Zellenhöhe bzw. Matrixhhöhe anpassen, und die \env@matrix-Redefinition habe ich gemacht, um den Platz links und rechts der Klammern auszugleichen, der zunächst nicht optimal ist - kann man auch verbessern.

Permanenter link

beantwortet 09 Jan '14, 17:00

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×117
×69
×58
×38
×24

gestellte Frage: 09 Jan '14, 16:35

Frage wurde gesehen: 15,309 Mal

zuletzt geändert: 09 Jan '14, 17:00