Hallo, ich versuche eine beschriftete Matrix zu erstellen (Bezeichnungen für Zeile und Spalte). Das ganze funktioniert auch mit \bordermatrix wunderbar, nur möchte ich eckige Klammern statt runde Klammern.

Beispielcode:

Open in Online-Editor
\documentclass[]{article}
\usepackage{amsmath}
\begin{document}

$
\bordermatrix{
  & 1   & 2   & 3   & 4   \cr
A & a_1 & a_2 & a_3 & a_4 \cr
B & b_1 & b_2 & b_3 & b_4 \cr
C & c_1 & c_2 & c_3 & c_4 \cr
D & d_1 & d_2 & d_3 & d_4 \cr
}
$

\end{document}

Mit begin{bmatrix}... kann ich keine Beschriftungen vornehmen (oder?).

Gibt es dafür einen einfachen Weg, Befehl o.ä.?

Im, Prinzip habe ich eine Lösung hier gefunden: http://tex.stackexchange.com/questions/55054/bordermatrix-with-brackets-instead-of-parentheses

Das erscheint mir aber recht umständlich. Deshalb wollte ich wissen ob es eine einfachere, anschaulichere Möglichkeit gibt.

Danke vorab

gefragt 20 Jul '16, 10:56

DerMetzger's gravatar image

DerMetzger
81224
Akzeptiert-Rate: 0%

bearbeitet 20 Jul '16, 13:27

saputello's gravatar image

saputello
11.1k154365

Meinst Du mit Beschriftung, dass Du Zeilen oder Spalten außerhalb der Matrix mit Namen o. ä. versehen willst?

(20 Jul '16, 11:15) saputello

Genau das meine ich (so wie bei bordermatrix im obigen Beispiel). Hier sind A, B, C, D dei "Bezeichnungen" für die Zeilen, bzw. 1, 2, 3, 4 für die Spalten.

(20 Jul '16, 11:18) DerMetzger

Könnte man mit tikz machen. Ist aber auch nicht ohne Aufwand.

(20 Jul '16, 11:19) saputello

Ja habe ich mir auch überlegt. Ich habe auch schon eine Lösung geunden ohne tikz (s. unten). Wollte nur wissen ob es nicht eben auch einen einfachen Befhel wie bordermatrix gibt. Der Punkt ist, dass ich ein hundert Seiten langes Dokument habe, wo nur eine solche Matrix vorkommt.

(20 Jul '16, 11:24) DerMetzger

Open in Online-Editor
\usepackage{etoolbox}
\let\bbordermatrix\bordermatrix
\patchcmd{\bbordermatrix}{8.75}{4.75}{}{}
\patchcmd{\bbordermatrix}{\left(}{\left[}{}{}
\patchcmd{\bbordermatrix}{\right)}{\right]}{}{}

Liefert bis jetzt das beste und übersichtlichste Ergebnis, das ich gefunden habe (Seite oben). Gibt es einen amsmath Befehl, den ich anwenden kann, ohne bordermatrix so abzuändern?

Permanenter link

beantwortet 20 Jul '16, 11:03

DerMetzger's gravatar image

DerMetzger
81224
Akzeptiert-Rate: 0%

bearbeitet 20 Jul '16, 11:04

Man kann sich das mit bmatrix natürlich zurechtpfriemeln:

Open in Online-Editor
\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[
\begin{bmatrix}
  & \parbox[b][0pt][b]{.5em}{\raisebox{3ex}{1}}   & \parbox[b][0pt][b]{.5em}{\raisebox{3ex}{2}}   & \parbox[b][0pt][b]{.5em}{\raisebox{3ex}{3}}   & \parbox[b][0pt][b]{.5em}{\raisebox{3ex}{4}}   \\[-3ex]
\makebox[0pt][r]{$A$\hspace{1.5em}} & a_1 & a_2 & a_3 & a_4 \\
\makebox[0pt][r]{$B$\hspace{1.5em}} & b_1 & b_2 & b_3 & b_4 \\
\makebox[0pt][r]{$C$\hspace{1.5em}} & c_1 & c_2 & c_3 & c_4 \\
\makebox[0pt][r]{$D$\hspace{1.5em}} & d_1 & d_2 & d_3 & d_4 & \\
\end{bmatrix}
\]

\end{document}

getrixte Matrix

Empfehlen würde ich das aber nicht. Die Lösung von cmhuges auf StackExchange, die wohl ursprünglich aus Herbert Voß' Mathmode stammt, ist da wesentlich schöner.

Permanenter link

beantwortet 20 Jul '16, 11:37

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 20 Jul '16, 11:51

Alternativ kann man das blkarray-Paket verwenden.

Open in Online-Editor
\documentclass{article}
\usepackage{blkarray}
\begin{document}

$
\begin{blockarray}{ccccc}
  & 1 & 2 & 3 & 4 \\
  \begin{block}{c[cccc]}
    A & a_1 & a_2 & a_3 & a_4 \\
    B & b_1 & b_2 & b_3 & b_4 \\
    C & c_1 & c_2 & c_3 & c_4 \\
    D & d_1 & d_2 & d_3 & d_4 \\
  \end{block}
\end{blockarray}
$

\end{document}

alt text

Permanenter link

beantwortet 20 Jul '16, 12:24

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Hier noch was mit TikZ. Finde ich persönlich aber nicht so schön.

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}

\begin{tikzpicture}
  \matrix
  [
    matrix of math nodes,
    left delimiter={[},
    right delimiter={]},
  ] (m) {
    a_1 & a_2 & a_3 & a_4 \\
    b_1 & b_2 & b_3 & b_4 \\
    c_1 & c_2 & c_3 & c_4 \\
    d_1 & d_2 & d_3 & d_4 \\
  };
  \foreach \i/\j in {1/A, 2/B, 3/C, 4/D}
  {
    \node[above=2ex] at (m-1-\i) {$\i$};
    \node[left=2em] at (m-\i-1) {$\j$};
  }
\end{tikzpicture}

\end{document}

alt text

Permanenter link

beantwortet 20 Jul '16, 13:16

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 20 Jul '16, 13:16

Mit kbordermatrix von http://mirror.ctan.org/macros/generic/misc/kbordermatrix.sty Ist leider wegen der unsicheren Lizenz nicht in TeXLive und MikTeX.

Open in Online-Editor
\documentclass{article}
\usepackage{kbordermatrix}
\begin{document}

\kbordermatrix{
    & 1   & 2   & 3   & 4     \\
    A & a_1 & a_2 & a_3 & a_4 \\
    B & b_1 & b_2 & b_3 & b_4 \\
    C & c_1 & c_2 & c_3 & c_4 \\
    D & d_1 & d_2 & d_3 & d_4 
}

\end{document}

alt text

Permanenter link

beantwortet 07 Aug '16, 11:44

crazyhorse's gravatar image

crazyhorse
4323
Akzeptiert-Rate: 26%

bearbeitet 07 Aug '16, 17:44

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:

×58
×50
×15
×1

gestellte Frage: 20 Jul '16, 10:56

Frage wurde gesehen: 15,017 Mal

zuletzt geändert: 07 Aug '16, 17:44