Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Schriftgröße im array

  1. #1
    Registrierter Benutzer
    Registriert seit
    21.10.2010
    Beiträge
    11

    Schriftgröße im array

    Hallo,

    laut Dokumentation handelt es sich beim array um eine Umgebung für den mathematischen Modus. Im mathematischen Modus kann die Schriftgröße ja über \scriptstyle verkleinert werden. Leider hat dieser Befehl keine Auswirkungen auf das array! Eine andere Idee war \scriptsize. Funktioniert super, leider meldet Latex eine Warnung, dass \scriptsize im mathematischen Modus nicht erlaubt ist. Wie bekommt man denn nun sauber die Matrixeinträge kleiner? Es gibt zwar die Umgebung smallmatrix, aber da hab ich Probleme, die Elemente rechtsbündig auszurichten bzw. gleich große Abstände zu generieren. Aus irgend einem Grund akzeptiert smallmatrix die Spaltendefinitionen nicht (basieren nicht alle Matrixumgebungen auf der array-Umgebung?).

    Code:
    \documentclass[a4paper]{article}
    \usepackage{array}
    \usepackage{amsmath}
    \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
    
    \begin{document} 
    
    Mit scriptstyle (funktioniert nicht):
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    {\scriptstyle
    \begin{array}{*{8}{R{3mm}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0 
    \end{array}}
    \biggr] \cdot u_x
    \end{equation*} 
    
    Mit scriptsize (funktioniert, aber Fehlermeldung):
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    {\scriptsize
    \begin{array}{*{8}{R{3mm}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0 
    \end{array}}
    \biggr] \cdot u_x
    \end{equation*} 
    
    Mit smallmatrix (Formatierungsprobleme):
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    \begin{smallmatrix}%{*{8}{R{3mm}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0 
    \end{smallmatrix}
    \biggr] \cdot u_x
    \end{equation*} 
    
    \end{document}
    Danke!
    Geändert von Lebostein (22-10-2010 um 07:27 Uhr)

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Lebostein Beitrag anzeigen
    Hallo,

    laut Dokumentation handelt es sich beim array um eine Umgebung für den mathematischen Modus. Im mathematischen Modus kann die Schriftgröße ja über \scriptstyle verkleinert werden. Leider hat dieser Befehl keine Auswirkungen auf das array! Eine andere Idee war \scriptsize. Funktioniert super, leider meldet Latex eine Warnung, dass \scriptsize im mathematischen Modus nicht erlaubt ist. Wie bekommt man denn nun sauber die Matrixeinträge kleiner? Es gibt zwar die Umgebung smallmatrix, aber da hab ich Probleme, die Elemente rechtsbündig auszurichten bzw. gleich große Abstände zu generieren. Aus irgend einem Grund akzeptiert smallmatrix die Spaltendefinitionen nicht (basieren nicht alle Matrixumgebungen auf der array-Umgebung?).
    Code:
    \begin{array}{*{8}{>{$\scriptstyle}R{3mm}<{$}}}
    Herbert

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.10.2010
    Beiträge
    11
    Zitat Zitat von voss Beitrag anzeigen
    Code:
    \begin{array}{*{8}{>{$\scriptstyle}R{3mm}<{$}}}
    Herbert
    Damit werden schon mal die Einträge kleiner. Leider werden die vertikalen Abstände entsprechend der normalen Schriftgröße belassen...

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.06.2010
    Beiträge
    142
    So bekomme ich keine Fehlermeldung:
    Code:
    ...
    \newcolumntype{S}[1]{>{\raggedleft\ensuremath\scriptstyle\arraybackslash}p{#1}}
    ...
    Mit neuer Spaltendeklaration \textbf{S}:
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    {\scriptsize
    \begin{array}{*{8}{S{3mm}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0 
    \end{array}}
    \biggr] \cdot u_x
    \end{equation*}

  5. #5
    Registrierter Benutzer
    Registriert seit
    21.10.2010
    Beiträge
    11
    @ellocco: Tschuldige, ich meinte "Warnung", habe aber fälschlicherweise "Fehlermeldung" geschrieben. Der Code von dir produziert exakt die gleiche Warnung wie meine zweite Variante aus dem ersten Beitrag:

    LaTeX Font Warning: Command \scriptsize invalid in math mode on input line...

    Darf man dass den ignorieren? Was ist denn mit der smallmatrix. Warum kann man denn diese nicht wie ein array formatieren. Scheinbar haben alle Matrizenumgebungen aus amsmath (matrix, bmatrix usw.) dieses Problem, sie akzeptieren keine Spaltenformatierung... gibt es dafür eine Lösung?

    Code:
    \documentclass[a4paper]{article}
    \usepackage{amsmath}
    
    \begin{document} 
    
    amsmath ist toll!
    \begin{equation}
    \begin{bmatrix}1&0\\0&1\end{bmatrix}
    \end{equation}
    
    amsmath ist ... wie ist das mit der Ausrichtung rechtsbuendig?
    \begin{equation}
    \begin{bmatrix}-1&0\\0&1\end{bmatrix}
    \end{equation}
    
    \end{document}
    Geändert von Lebostein (22-10-2010 um 14:19 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Viele Warnungen kann man ignorieren. Wenn sie dich aber sehr stört: Bei Herberts Lösung kannst du den Zeilenabstand verringern, indem du \arraystretch lokal änderst. Du kannst auch den Mathemodus z.B. mit einer \mbox verlassen, \scriptsize ausführen, und dann wieder in den Mathemodus wechseln:

    Code:
    \documentclass[a4paper]{article}
    \usepackage{array}
    \usepackage{amsmath}
    \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
    
    \begin{document}
    
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    {\renewcommand\arraystretch{0.7}%
    \begin{array}{*{8}{>{$\scriptstyle}R{3mm}<{$}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0
    \end{array}}
    \biggr] \cdot u_x
    \end{equation*}
    
    \begin{equation*}
    A \frac{L}{H} \cdot \biggl[
    \mbox{\scriptsize$%
    \begin{array}{*{8}{R{3mm}}}
     -2 &  0 &  0 & -2 &  0 &  0 &  0 &  4 \\
      1 &  0 &  0 & -1 &  0 &  0 &  0 &  0 \\
      0 &  0 &  0 &  0 &  0 &  0 &  0 &  0
    \end{array}$}
    \biggr] \cdot u_x
    \end{equation*}
    
    \end{document}

  7. #7
    Registrierter Benutzer
    Registriert seit
    21.10.2010
    Beiträge
    11
    Vielen Dank Ulrike! Zwei Lösungen, die mich voll und ganz zufrieden stellen.

    Oh man, man merkt Latex deutlich an, dass es aus Tausenden von Schnippseln von verschiedenen Autoren, die jeweils andere Herangehensweisen vertreten, über mehrere Jahrzehnte lang zusammengeflickt wurde... jetzt weiß ich auch, warum so viele lieber Abstand davon halten. Eigentlich ne Katastrophe, wenn die Ergebnisse nicht so überzeugend wären...
    Geändert von Lebostein (22-10-2010 um 14:41 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Oh man, man merkt Latex deutlich an, dass es aus Tausenden von Schnippseln von verschiedenen Autoren, die jeweils andere Herangehensweisen vertreten, über mehrere Jahrzehnte lang zusammengeflickt wurde
    Nun, das mag zwar stimmen. Aber bei deinem Beispiel hier sieht man das nicht. Da sieht man nur, dass wenn du 3 Autoren fragst, wie eine Formel auszusehen hat, 6 verschiedene Antworten bekommst - und dass LaTeX so flexibel ist, dass man all diese Versionen auch hinbekommt, wenn auch einige mit etwas mehr Mühe als andere.

  9. #9
    Registrierter Benutzer
    Registriert seit
    23.06.2010
    Beiträge
    142
    Zitat Zitat von Lebostein Beitrag anzeigen
    @ellocco: Tschuldige, ich meinte "Warnung", habe aber fälschlicherweise "Fehlermeldung" geschrieben. Der Code von dir produziert exakt die gleiche Warnung wie meine zweite Variante aus dem ersten Beitrag:

    LaTeX Font Warning: Command \scriptsize invalid in math mode on input line...
    ...
    Da war ich zu hastig, jetzt ist mir klar, daß ich da einen gedanklichen Fehler
    gemacht habe, Du hattest ja einen Textbefehl in der Matheumgebung und
    nicht umgekehrt.
    Die zweite Lösung von Ulrike ist ja ganz schön creativ, super!

  10. #10
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Lebostein Beitrag anzeigen
    Oh man, man merkt Latex deutlich an, dass es aus Tausenden von Schnippseln von verschiedenen Autoren, die jeweils andere Herangehensweisen vertreten, über mehrere Jahrzehnte lang zusammengeflickt wurde... jetzt weiß ich auch, warum so viele lieber Abstand davon halten. Eigentlich ne Katastrophe, wenn die Ergebnisse nicht so überzeugend wären...
    Nein! Das ist falsch, was du sagst!
    LaTeX ist von etwas mehr als einer Handvoll Personen erstellt worden
    und amsmath faktisch nur von einer Person!
    Du hast lediglich durch TeX die Freiheit _alles_ neu und anders zu machen;
    denn du schreibst keinen Text sondern programmierst ihn. Also gibt
    es faktisch zu jedem Problem \infty viele Lösungen ...

    Herbert

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •