Wie richte ich aufgezählte Gleichungen linksbündig und Text rechtsbündig aus?

Wie richte ich aufgezählte Gleichungen linksbündig und Text rechtsbündig aus?

Ich liste ein paar Beziehungen mit kurzen und beschreibenden Aussagen dazu auf. So wie ich es mir vorstelle, versuche ich, Beziehungen links und Beschriftungen rechts anzuordnen, ausgerichtet am linken Rand. Der folgende Scheinversuch veranschaulicht meine Absicht:

Dummes Beispiel

Ich möchte nur, dass dies wie eine „erweiterte“ Aufzählungsliste aussieht. Es sollte also die gleiche Einrückung und den gleichen vertikalen Abstand wie meine anderen Listen und keine Gleichungsnummern haben. Ich habe überlegt, die tabularUmgebung zu verwenden, weiß aber nicht, wie ich die Abstände in Bezug auf die enumerateVerwendung ausdrücken soll.

Was wäre eine sinnvolle Möglichkeit, dies zu tun?

Antwort1

Verwenden Sie eine reguläre enumerateund setzen Sie jede Gleichung in das gleich große Feld (miteqparbox'S \eqmakebox[<tag>][<align>]{<stuff>}:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{eqparbox}

\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\begin{enumerate}
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\begin{enumerate}
  \item
    \eqmakebox[leq][l]{$f(x) = \Theta$} \qquad (belonging to~$\Theta$)
  \item
    \eqmakebox[leq][l]{$f(x+y) = x \leftrightarrow x > y$} \qquad (identity of confusion)
  \item
    \eqmakebox[leq][l]{$\lambda f(x) = f(x^\lambda)$} \qquad (non-sensible relation)
\end{enumerate}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\end{document}

Die Verwendung einer Liste anstelle einer Liste tabularstellt sicher, dass die Dinge genauso ausgerichtet sind wie Ihre anderen Listen, und das Platzieren des Inhalts in ähnlich großen Feldern stellt eine horizontale Ausrichtung mit Ihren „Kommentaren“ sicher.

Antwort2

Sie können eine neue Umgebung basierend auf tabularder Kombination mit einem Element wie dem folgenden Befehl definieren, der die Nummerierung und Ausrichtung bereitstellt:

Beispielausgabe

\documentclass{article}

\usepackage{array,environ}

\newcolumntype{L}{>{$}l<{$}}

\newcounter{aenum}
\renewcommand{\theaenum}{\arabic{aenum}.}
\newcommand{\aitem}[2]{\refstepcounter{aenum}\theaenum&#1&(#2)\\}

\NewEnviron{annotedeqnlist}{\noindent
\begin{tabular}{rL@{\quad}l}
  \setcounter{aenum}{0}%
  \BODY
\end{tabular}}

\begin{document}

\begin{annotedeqnlist}
\aitem{f(x) \in \Theta}{belonginess to \( \Theta \)}
\aitem{f(x+y)=x \iff x>y}{identity of confusion}
\end{annotedeqnlist}
\end{document}

Ich habe das Paket verwendet, um eine praktische Spalte vom Typ „Mathematik“ bereitzustellen. Sie können die Spaltendefinition auch wie folgt arrayergänzen :\displaystyle

\newcolumntype{L}{>{$\displaystyle}l<{$}}

Antwort3

Bildbeschreibung hier eingeben

\documentclass[a4paper]{article}

%% Language and font encodings
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
%% Useful packages
\usepackage{amsmath}
\newcommand\lreqn[2]{\noindent\makebox[\textwidth]{$\displaystyle#1$\hfill(#2)}\vspace{2ex}}


\begin{document}
\lreqn{f(x)= \Theta}{first function}
\lreqn{f(x+y)=f(x)+f(y)}{second function}
\end{document}

oder besuchenSchreiben Sie „Text“ in Gleichungen **richtig**.

Antwort4

Der Code mag kompliziert erscheinen, aber die Syntax ist recht benutzerfreundlich. Die annotedeqnUmgebung ist eine Liste von Zeilen, die durch eingeleitet werden \item, wobei &als Trennzeichen verwendet wird. Der Teil davor &ist im Mathematikmodus gesetzt (dies kann bei Bedarf geändert werden), der zweite Teil im Textmodus.

Die ersten Teile werden gemessen, sodass wir die zweiten Teile an derselben horizontalen Position beginnen können, zwei Gesimse vom Ende des breitesten ersten Teils entfernt.

Die naheliegende Annahme ist, dass jedes Element in eine Zeile passt.

\documentclass{article}

\usepackage{environ,xparse}

\usepackage{lipsum}

\ExplSyntaxOn
\NewEnviron{annotedeqnlist}
 {
  \giusti_annotedeqn_list:V \BODY
 }

\seq_new:N \l__giusti_annotedeqn_list_seq
\seq_new:N \l__giusti_annotedeqn_listarg_seq
\seq_new:N \l__giusti_annotedeqn_temp_seq
\box_new:N \l__giusti_annotedeqn_first_box

\cs_new_protected:Nn \giusti_annotedeqn_list:n
 {
  % get the items
  \seq_set_split:Nnn \l__giusti_annotedeqn_list_seq { \item } { #1 }
  % discard the first empty item
  \seq_pop_left:NN \l__giusti_annotedeqn_list_seq \l_tmpa_tl
  % massage the items
  \seq_clear:N \l__giusti_annotedeqn_listarg_seq
  \seq_map_inline:Nn \l__giusti_annotedeqn_list_seq
   {
    \seq_set_split:Nnn \l__giusti_annotedeqn_temp_seq { & } { ##1 }
    \seq_put_right:Nx \l__giusti_annotedeqn_listarg_seq
     {
      {\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 1 } }
      {\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 2 } }
     }
   }
  % measure the equations
  \hbox_set:Nn \l__giusti_annotedeqn_first_box
   {
    $\begin{array}{@{}l@{}}
    \seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_first:n
    \end{array}$
   }
  % produce the enumerate environment
  \begin{enumerate}
  \seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_item:n
  \end{enumerate}
 }
\cs_generate_variant:Nn \giusti_annotedeqn_list:n { V }

\cs_new_protected:Nn \__giusti_annotedeqn_first:n
 {
  \use_i:nn #1 \\
 }

\cs_new_protected:Nn \__giusti_annotedeqn_item:n
 {
  \__giusti_annotedeqn_item:nn #1
 }
\cs_new_protected:Nn \__giusti_annotedeqn_item:nn
 {
  \item
  \makebox[\box_wd:N \l__giusti_annotedeqn_first_box][l]{$#1$}
  \qquad
  #2
 }
\ExplSyntaxOff

\begin{document}

\lipsum*[2]
\begin{annotedeqnlist}

\item f(x) \in \Theta & (belonginess to \( \Theta \))

\item\label{confusion} f(x+y)=x \iff x>y & (identity of confusion)

\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)

\end{annotedeqnlist}
with a reference to item~\ref{confusion}.

\lipsum*[3]
\begin{annotedeqnlist}

\item f(x) \in \Theta & (belonginess to \( \Theta \))

\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)

\end{annotedeqnlist}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen