Matrix "dehnen", wirkt so gequetscht

Formelsatz für Mathematik, Naturwissenschaften und Technik


mattes_01
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: So 16. Nov 2008, 15:30

Matrix "dehnen", wirkt so gequetscht

Beitrag von mattes_01 »

Hallo!

Also der Code sieht so aus:

Code: Alles auswählen

\begin{bmatrix}
						-\frac{d}{J} & \frac{K_t}{J}\\
						-\frac{K_b}{L} & -\frac{R}{L}\\ 
\end{bmatrix}
Aber das ist alles so gequetscht.
Mit welchem Befehl kann cih die Matrix ein bisschen dehnen, dass das alles nicht so gequetscht wirkt.

Danke und Gruß

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 1996
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Matrix "dehnen", wirkt so gequetscht

Beitrag von Stefan Kottwitz »

Hallo Mattes,
mattes_01 hat geschrieben: Mit welchem Befehl kann cih die Matrix ein bisschen dehnen, dass das alles nicht so gequetscht wirkt.
es ginge durch Redefinition von \arraystretch, z.B.:

Code: Alles auswählen

\renewcommand*\arraystretch{1.5}
das betrifft dann alle arrays, wenn Du die Wirkung nicht einschränkst.

Man könnte alternativ das interne Makro \env@matrix redefinieren, wie hier aus ähnlichem Grund beschrieben ist, um einen Stretch-Wert als optionalen Parameter einzuführen, damit nicht alle arrays und auch nicht alle Matrizen betroffen sind und kein Gruppieren nötig ist. Falls Dich das interessiert, schreibe ich es konkreter.

Stefan

mattes_01
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: So 16. Nov 2008, 15:30

Beitrag von mattes_01 »

Ja sehr gerne!

Ich bin zwar noch ein Anfänger der grade mit seiner Studienarbeit angefangen hat, aber grade aus diesem Grund werde ich mich in Zukunft noch oft mit dem Thema auseinadersetzen.

Und deswegen wäre es auch hilfweich, wenn sich das ganze nicht auf alle Arrays auswirkt, sondern man das gezielt einsetzen kann.

Danke schonmal und Gruß vom Mattes

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 1996
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Matrix und \arraystretch

Beitrag von Stefan Kottwitz »

Hallo Mattes,

angelehnt an diese beiden Postings amsmath: cases and \arraystretch und An extension to amsmath matrix environments (dort weitere Infos) ist folgende Redefinition, die Du in Deine Präambel schreiben könntest:

Code: Alles auswählen

\makeatletter
\renewcommand*\env@matrix[1][\arraystretch]{%
  \edef\arraystretch{#1}%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{*\c@MaxMatrixCols c}}
\makeatother
Es wird das interne Makro redefiniert, mit dem amsmath seine Matrizen erstellt. Hinzugefügt wurde ein optionaler Parameter, der auf \arraystretch voreingestellt ist und \arraystretch zugewiesen wird. Daher der plain-TeX-Befehl \edef, um expandierend zuzuweisen. Der restliche Code ist identisch von amsmath übernommen. Ab nun kann man weiterhin array und Matrizen wie gewohnt ohne Änderungen verwenden. Schreibt man jedoch zusätzlich einen Parameter in eckigen Klammern wie in

Code: Alles auswählen

\begin{bmatrix}[1.5]
...
so wird die Matrix entsprechend gestreckt, sonst nicht.

Viele Grüße,

Stefan

mattes_01
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: So 16. Nov 2008, 15:30

Beitrag von mattes_01 »

Hi!

Das is ja cool, dass man Makros definieren kann!

Werde mich da die Tage drum kümmern, aber auf jeden Fall schonmal vielen Dank

Mattes

Antworten