Sorgen Sie dafür, dass das negative Vorzeichen keinen Platz einnimmt

Sorgen Sie dafür, dass das negative Vorzeichen keinen Platz einnimmt

Ich habe bereits die Beiträge gelesen, in denen beschrieben wird, wie man Text erstellt, der keinen Platz einnimmt. Meine Frage ist, ob ich es in diesem Fall richtig mache.

\documentclass{article}

\usepackage{mathtools}

\newcommand{\n}{\makebox[0pt][r]{$-$}}

\begin{document}
Not using my custom command
\begin{alignat*}{3}
  a_1 & {}-{} & a_2 & {}={} & -3\\
      && a_2 & {}={} & 8\\
      && - a_2 & {}={} & 8
\end{alignat*}

Using my custom command
\begin{alignat*}{3}
  a_1 & {}-{} & a_2 & {}={} & -3\\
      && a_2 & {}={} & 8\\
      && \n a_2 & {}={} & 8
\end{alignat*}
\end{document}

Der Befehl \nkommt mir etwas kompliziert vor, deshalb frage ich mich, ob es eine bessere Lösung für mein Problem gibt.

Antwort1

Ihre Definition ist nicht wirklich ein Hack. Sie können es etwas einfacher definieren, indem Sie Folgendes verwenden \llap:

\newcommand\n{\llap{$-$}}

\llapund \rlapsind im Wesentlichen identisch mit \makebox[0pt][r]bzw. \makebox[0pt][l].

Antwort2

Es gibt bessere Möglichkeiten: das Paket systemeund autoaligne. Ersteres hat eine einfachere Syntax, letzteres ist leistungsfähiger, aber auch etwas schwieriger, wenn Begriffe fehlen.

\documentclass{article}

\usepackage{autoaligne}
\usepackage{systeme}
\usepackage{regexpatch}

% see http://tex.stackexchange.com/questions/247070/
\makeatletter
\xpatchcmd{\SYS@makesyspreamble@i}
  {$##$\hfil\null}% left alignment
  {\hfil$##$\null}% right alignment
  {}{}
\makeatother

\begin{document}
\[
\sysdelim..
\systeme{
  a_1 - a_2 = -3,
  a_2 = 8,
 -a_2= -8
}
\]

\[
\autoaligne[dd]{%
a_1-a_2=-3 \\%
+a_2=8 \\
-a_2=-8
}
\]

\end{document}

Bildbeschreibung hier eingeben

Antwort3

Eine korrekte Verwendung von alignatmacht die Dinge viel einfacher. Denken Sie daran, dass n Ausrichtungsgruppen 2n – 1 Et-Zeichen erfordern. Tatsächlich reichen hier 2 Gruppen aus:

\documentclass{article}

\usepackage{mathtools}

\begin{document}

\begin{alignat*}{2}
  a_1- a_2 &={} & -3 & \\
       a_2 &= & 8 & \\
       - a_2 & = & 8 & %
\end{alignat*}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen