Horizontale Abstände in Matheumgebungen

Formelsatz für Mathematik, Naturwissenschaften und Technik


Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Horizontale Abstände in Matheumgebungen

Beitrag von Dimitri »

Hallo liebe Latex-Freunde,

trotz "exaktem Untereinanderausrichten" der alignxxx-Umgebungen treten - bei genauem Hinsehen - Verschiebungen der horizontalen Abstände auf: "x" steht weiter rechts als "\mathbf{J}y" was wiederum weiter rechts steht als "xyz":
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
  &\text{berechne}~ &  & x\\
  &\text{und}       &  &
    \!\begin{alignedat}[t]{1}
      &\!\begin{aligned}[t]
        \mathbf{J}y
      \end{aligned}\\
      &\!\begin{aligned}
        xyz
      \end{aligned}
  \end{alignedat}
\end{alignat*}
\end{document}
Die Verschiebung ist zwar sehr gering, aber mich nervt es trotzdem. Kann Mir jemand erklären, woran das liegt und Mir bei der Beseitigung helfen?

Beste Grüße,
Dimitri

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Vielleicht verstehe ich nicht richtig, was Du wie ausrichten möchtest, aber in Deinem Beispiel sind x, \mathbf{J}y und xyz linksbündig ausgerichtet. Damit das wirklich sichtbar wird, habe ich mal per overlay noch einen Rahmen eingefügt.

\documentclass[fontsize=12pt]{scrreprt} 
\usepackage{amsmath}
\usepackage{tikz}% für den overlay Rahmen 
\begin{document} 
\begin{alignat*}{2} 
   &\text{berechne}~ &  & x\\ 
   &\text{und}       &  & 
     \!\begin{alignedat}[t]{1} 
       &\!\begin{aligned}[t] 
         \mathbf{J}y 
       \end{aligned}\\ 
       &\!\begin{aligned} 
         xyz
       \end{aligned} 
   \end{alignedat} 
\end{alignat*}
\begin{alignat*}{2} 
   &\text{berechne}~ &  & x\\ 
   &\text{und}       &  & 
     \!\begin{alignedat}[t]{1} 
       &\!\begin{aligned}[t] 
         \mathbf{J}y 
       \end{aligned}\\ 
       &\!\begin{aligned} 
         xyz
        \tikz[remember picture,overlay]
          \node[anchor=east,inner sep=0pt,draw,minimum height=3cm]
          {\phantom{$xyz$}};
       \end{aligned} 
   \end{alignedat} 
\end{alignat*}  
\end{document}
Gruß
Elke

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag von Dimitri »

Also bei meinem pdf-Reader und einem Zoom ab 800% wird deutlich sichtbar, dass x, \mathbf{J}y und xyz nicht exakt untereinander stehen...

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag von Dimitri »

Stop, war ein Fehler meinerseits. Habe ein \! vergessen...
Danke vielmals.

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag von Dimitri »

Wenn ich aber Folgendes nehme, funktionierts nicht mehr:
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\usepackage{tikz}% für den overlay Rahmen
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont}
\DeclareMathAlphabet{\test}{OML}{cmm} {bx}{it}
\begin{document}
\begin{alignat*}{2}
   &\text{berechne}~ &  & x\\
   &\text{und}       &  &
     \!\begin{alignedat}[t]{1}
       &\!\begin{aligned}[t]
         \mathbf{J}y
       \end{aligned}\\
       &\!\begin{aligned}
         \test{x}yz
       \end{aligned}
   \end{alignedat}
\end{alignat*}
\begin{alignat*}{2}
   &\text{berechne}~ &  & x\\
   &\text{und}       &  &
     \!\begin{aligned}[t]
         &\langle\mathbf{J}y\\
         &\! \begin{gathered}
               bla\\
               \test{x}yzbla\\
               bla
             \end{gathered}
   \end{aligned}
\tikz[remember picture,overlay]
\node[anchor=east,inner sep=0pt,draw,minimum height=4cm]
{\phantom{$\test{x}yzbla$}};
\end{alignat*}  
\end{document}
Welche Abstände fügt Latex denn da ein und wieso?
Ich möchte gerne, dass x exakt unter \langle und \test{x}yzbla steht - die (horizontal) längste Komponente in der gathered-Umgebung soll linksbündig zu x und \langle sein.
Kann Mir da bitte jemand helfen?

Viele Grüße,
Dimitri

PS: Habe die Box noch etwas verschoben, damit man es besser sieht: 30.10., 00:22 Uhr

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn Du eine \fbox mit einem fboxsep von 0pt einfügst, siehst Du das die Abstände Bestandteil der Zeichen sind:
\documentclass[fontsize=12pt]{scrreprt} 
\usepackage{amsmath} 
\usepackage{tikz}% für den overlay Rahmen 
\DeclareMathAlphabet{\test}{OML}{cmm} {bx}{it}

\setlength\fboxsep{0pt}

\begin{document} 
\begin{alignat*}{2} 
    &\text{berechne}~ &  & \fbox{$x$}\\ 
    &\text{und}       &  & 
      \!\begin{aligned}[t] 
          &\fbox{$\langle$}\mathbf{J}y\\ 
          &\! \begin{gathered} 
                bla\\ 
                \fbox{$\test{x}yzbla$}\\ 
                bla 
              \end{gathered} 
    \end{aligned} 
    \tikz[remember picture,overlay] 
      \node[anchor=east,inner sep=0pt,draw,minimum height=4cm] 
      {\phantom{\fbox{$\test{x}yzbla$}}}; 
\end{alignat*}
\end{document}
Gruß
Elke

Dimitri
Forum-Guru
Forum-Guru
Beiträge: 418
Registriert: Fr 22. Mär 2013, 16:50

Beitrag von Dimitri »

Kann ich daran (in einfacher Weise) irgendwas ändern??? Oder sollte ich das deiner Meinung nach einfach so lassen?

Antworten