PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : equationarray versus amsmath



ellocco
19-10-2010, 16:33
Hallo,

ich arbeite traditionell mit dem Paket equationarray und bin
auch ganz zufrieden, trotzdem wollte ich auf die moderneren
AMS-LaTeX Gleichungskonstrukte umsteigen.
Für das Erste erkläre ich den Versuch als gescheitert,
alleine habe ich es nicht hinbekommen.
Aber vielleicht hat jemand eine Idee?

ellocco

voss
19-10-2010, 17:07
ich arbeite traditionell mit dem Paket equationarray und bin
auch ganz zufrieden, trotzdem wollte ich auf die moderneren
AMS-LaTeX Gleichungskonstrukte umsteigen.
Für das Erste erkläre ich den Versuch als gescheitert,
alleine habe ich es nicht hinbekommen.
Aber vielleicht hat jemand eine Idee?


habe ich, aber vielleicht könntest du mal mit deinen ewigen
Anhängen aufhören und hier ein Minimalbeispiel angeben, was man
rauskopieren kann!

und unten im Link gibt es was zu lesen ...

Herbert

ellocco
19-10-2010, 17:37
habe ich, aber vielleicht könntest du mal mit deinen ewigen
Anhängen aufhören und hier ein Minimalbeispiel angeben, was man
rauskopieren kann!

und unten im Link gibt es was zu lesen ...

Herbert
Ich finde das Beispiel ist schon ziemlich minimal, es geht mir auch nicht
um die Fehlersuche, hier für die Copy-und-Paste-Freunde:

\documentclass{article}
\usepackage[paper=a4, BCOR=0.0mm]{typearea} %% pagesize and layout
\areaset[current]{170.0mm}{252.0mm} %% Text hight, text width
\usepackage[latin1]{inputenc} %% latin1 includes umlauts, ansinew includes win32 specials
\usepackage[T1]{fontenc} %% enable EC-Fonts (extended cork)
\usepackage[english]{babel} %% language specific settings
%% --- Fonts --------
\usepackage{amssymb} %% ams-Fonts & symbols, e.g. msbm /Bbb and mathfrak{} (should be loaded before
\usepackage{latexsym} %% provides base latex-symbols like Diamond{}
%% --- Math stuff --------
\usepackage{amsmath} %% anhanced mathematics support
\usepackage{array} %% provide math-array environment
\usepackage{eqnarray} %% provides equationarray
%% --- else --------
\usepackage{blindtext}
\usepackage{hyperref}
%% --- last package: --------------------------------------------------------------------------------------------
\usepackage{fixltx2e} %% fix latex-e bugs
%%% ### End Load Packages ################################################## ##########################################

%% --- Commands --------------------------------------------------------------------------------------------------------
%% --- Start Document --------------------------------------------------------------------------------------------------
\begin{document}
\subsection*{equationarray}
\blindtext{}
\begin{equationarray*}{@{}ll@{\,}c@{\:}ll}
\multicolumn{5}{l}{\hspace*{0.98\linewidth{}}}\\[-2.0ex]
\text{Text:}&
a &=& \: c -\: d ~;
&\text{with:~} [c] = [d] = \text{V}\\*[0ex]
\text{Etwas längerer Text:} &
b &=& f ›×{} \frac{r}{g}~;
&\text{with:~} f = ›a{} ›× (v ›× T)^{-1}
\phantomsection{}\label{eq:example}\yesnumber{}
\end{equationarray*}

\subsection*{Frage}
So wie die Gleichung \ref{eq:example} oben soll es aussehen,
wie bekomme ich das mit den \texttt{align} Umgebungen von \textsf{AMS}\LaTeX{}
hin?
Ich habe über eine Stunde rumgeknobelt, aber mir ist nichts Gutes eingefallen.
Die Version oben funktioniert, aber schick ist sie nicht.

\subsection*{flalign}
\blindtext{}
\begin{flalign}
\text{Text:}&&
a &= \: c -\: d ~;
&&\text{with:~} [c] = [d] = \text{V}\nonumber{}\\
\text{Etwas längerer Text:} &&
b &= f ›×{} \frac{r}{g}~;
&&\text{with:~} f = ›a{} ›× (v ›× T)^{-1}
\label{eq:flalign}
\end{flalign}

\end{document}
\endinput



P.S.:
Ich finde die Anhänge schicker, aber das ist persönlicher Geschmack,
z.B. kann ich dann direkt ein PDF beipacken.

P.P.S.:
Ich finde Deine Mathe-Anleitung super!!! - Was ich bloß nicht gefunden habe,
ist der äquivalente Befehl \yesnumber, der in *AMSmath-Umgebungen
für eine Zeile die Numerierung in einschaltet.

voss
19-10-2010, 17:57
Ich finde das Beispiel ist schon ziemlich minimal, es geht mir auch nicht
um die Fehlersuche, hier für die Copy-und-Paste-Freunde:

\usepackage{eqnarray} %% provides equationarray



das Paket ist nicht bei TeXLive2010, somit kann ich dein Beispiel nicht ausprobieren. Und minimal ist dein Beispiel auch nicht, denn hyperref dürfte beispielsweise nichts mit deiner Frage zu tun haben ...

Herbert

Schweinebacke
19-10-2010, 18:13
das Paket ist nicht bei TeXLive2010, somit kann ich dein Beispiel nicht ausprobieren.
Das liegt daran, dass eqnarray (http://www.ctan.org/pkg/eqnarray) unter einer unklaren Lizenz steht. Es steht aber zum Download auf CTAN (http://www.ctan.org/tex-archive/macros/latex/contrib/eqnarray/) bereit.

ellocco
19-10-2010, 18:38
das Paket ist nicht bei TeXLive2010, somit kann ich dein Beispiel nicht ausprobieren. Und minimal ist dein Beispiel auch nicht, denn hyperref dürfte beispielsweise nichts mit deiner Frage zu tun haben ...

Herbert
Doch, denn das ist eine der Nachteile gegenüber AMS-math Umgebungen,
ein dynamischer Link funktioniert erst, wenn ein \phantomsection{}
eingebaut wird.
Das Beispiel sollte auch zeigen, daß und wie ein Hyper-Link zusammen mit
der equationarray-Umgebung funktioniert, ich hatte nur vergessen
es entsprechend zu kommentieren.
Wie das Ergebnis aussehen soll, siehst Du am PDF, das sich in meinem ersten
ZIP-Archiv befindet. Anbei noch die Doku und das Style-File.

voss
19-10-2010, 18:53
Das liegt daran, dass eqnarray (http://www.ctan.org/pkg/eqnarray) unter einer unklaren Lizenz steht. Es steht aber zum Download auf CTAN (http://www.ctan.org/tex-archive/macros/latex/contrib/eqnarray/) bereit.

das weiß ich ...
Es ist aber die Aufgabe des Hilfesuchenden darauf mit einem Link hinzuweisen

Herbert

ellocco
19-10-2010, 19:04
das weiß ich ...
Es ist aber die Aufgabe des Hilfesuchenden darauf mit einem Link hinzuweisen

Herbert
Du bist ja drollig, ich wäre nie auf die Idee gekommen andere Distributionen
und Betriebssysteme zu installieren, um zu gucken, ob dort das Paket verfügbar
ist, das ich verwende.
Im übrigen funktioniert die Frage auch ohne eine Beispiel, ich benötige Folgendes:


Anfang-Formelumgebung
linksbündig a = b*c Erläuterung A
linksbündiger text c = d-f Eräuterung B
Ende-Formelumgebung


Alle drei Spalten sollen linksbündig sein und die Gleichheitszeichen ausgerichtet.

voss
19-10-2010, 19:48
Alle drei Spalten sollen linksbündig sein und die Gleichheitszeichen ausgerichtet.

while {true}{
siehe Link unten ...
}

Herbert

ellocco
19-10-2010, 20:27
while {true}{
siehe Link unten ...
}

Herbert
Sorry, ich brauche es konkreter, wie wäre es mit einem MB?

ellocco
19-10-2010, 21:07
Wie ich gerade festgestellt habe, geht es noch einfacher, der optionale
Parameter [l] sorgt für die Linksbündigkeit, der Trick mit

\multicolumn{6}{l}{\hspace*{0.96\linewidth{}}}\\[-2.0ex]
kann entsprechend entfallen, er kann aber hilfreich sein,
wenn die rechte Spalte kurz vor dem rechten Rand enden soll:


...
\begin{equationarray*}[l]{@{}ll@{\,}c@{\:}llr}
\multicolumn{6}{l}{\hspace*{0.96\linewidth{}}}\\[-2.0ex]
\text{Text:}&
a &=& \: c -\: d ~;
&\text{with:~} [c] = [d] = \text{V}\\*[0ex]
\text{Etwas längerer Text:} &
b &=& f ›×{} \frac{r}{g}~;
&\text{with:~} f = ›a{} ›× (v ›× T)^{-1} &\text{rechts}
\phantomsection{}\label{eq:example_a}\yesnumber{}
\end{equationarray*}

\begin{equationarray*}[l]{@{}ll@{\,}c@{\:}llr}
\text{Text:}&
a &=& \: c -\: d ~;
&\text{with:~} [c] = [d] = \text{V}\\*[0ex]
\text{Etwas längerer Text:} &
b &=& f ›×{} \frac{r}{g}~;
&\text{with:~} f = ›a{} ›× (v ›× T)^{-1}& \text{rechts}
\phantomsection{}\label{eq:example_b}\yesnumber{}
\end{equationarray*}

ellocco
21-10-2010, 21:23
Schade, daß es mit den AMS-math Umgebungen wohl etwas schwieriger
ist, solche Formeln zu erstellen, ich nehme mal an, daß dann wieder
auf die array-Umgebung zurück gegriffen werden muß,
aber das ist ja genau das, was die equationarray-Umgebung macht.

Wer die Umgebung auch komfortabler findet, als die AMS-math-Konstruckte
und mit AucTeX arbeitet, für den habe ich hier die passenden Einträge in
die init.el:



...
;; enviroments that should be recognized as math-environment
(setq texmathp-tex-commands
'(;; Plain TeX
;; Standard LaTeX
("equationarray" env-on) ("equationarray*" env-on)))
...
;; Ref_tex should look for labels also in equationarray environment
;; see documentation of ref-tex: 3.4.1 Theorem and Axiom Environments
(setq reftex-label-alist
'(
("equationarray" ?e "eq:" "~\\ref{%s}" nil ("equation" "eqa\\." "eq\\.") )
("equationarray*" ?e "eq:" "~\\ref{%s}" nil ("equation" "eqa\\." "eq\\.") )
("center" ?t "tab:" "~\\ref{%s}" nil ("table" "tab\\.") )
))

(add-hook 'LaTeX-mode-hook
(lambda ()
(LaTeX-add-environments
'("equationarray" LaTeX-env-array)
'("equationarray*" LaTeX-env-array)
'("center" LaTeX-env-array)
) ) )

ellocco
23-10-2010, 21:58
Habe gerade ein wenig gebastelt, hier ein Beispiel für feste Spaltenbreiten innerhalb
von equationarray oder array Umgebungen, es wird fester Platz reserviert.
Automatischer Zeilenumbrüche finden nur statt, wenn Operatoren in der
Formel sind. Siehe mathmode.pdf von Herbert Voss, Kapitel 2.6.
http://mirror.ctan.org/info/math/voss/mathmode/Mathmode.pdf


\documentclass[fleqn]{article}
\usepackage[latin1]{inputenc} %% latin1 includes umlauts, ansinew includes win32 specials
\usepackage[T1]{fontenc} %% enable EC-Fonts (extended cork)
\usepackage{amsmath} %% anhanced mathematics support
\usepackage{array} %% provides math-environment array
\usepackage{eqnarray} %% provides math-environment equationarray (no standard package)
%% --- last package: -----------------------------------------------------------------------------
\usepackage{fixltx2e} %% fix latex-e bugs
%% --- custumized length -----------------------------------------------------------------------------
%\newlength{\mathindent}
\setlength{\mathindent}{0.5em} %% left equation sep
\newlength{\eqnumbr}
\settowidth{\eqnumbr}{\quad{}(9)}
\newlength{\eqwidth}
\setlength{\eqwidth}{\linewidth} %% equation-line-width
\addtolength{\eqwidth}{-\eqnumbr}
\addtolength{\eqwidth}{-\mathindent}
% \setlength{\eqwidth}{\linewidth-\eqnumbr} %% equation-line-width
%% --- new column formats -----------------------------------------------------------------------------
\newcolumntype{d}[1]{>{\hspace{0pt}\raggedright{}$}p{#1}<{$}} %% flashed left equation of length x
\newcolumntype{e}[1]{>{\hspace{0pt}\centering{}$}p{#1}<{$}} %% centered equation of length x
\newcolumntype{f}[1]{>{\hspace{0pt}\raggedleft{}$}p{#1}<{$}} %% flashed right equation of length x
%% --- start document -----------------------------------------------------------------------------
\begin{document}
New Column Types \textsl{d}, \textsl{e}, \textsl{f} for array or equationarray environment
\begin{equationarray}[l]{|d{\eqwidth}|}
f_v = b - g
\end{equationarray}
\begin{equationarray}[l]{|e{\eqwidth}|}
f_v = b - g
\end{equationarray}
\begin{equationarray}[l]{|f{\eqwidth}|}
f_v = b - g
\end{equationarray}
\begin{equationarray}[l]{|d{2cm}|e{2cm}|f{2cm}|}
d_b & e_g & f_v
\end{equationarray}
\begin{equation}
\begin{array}[l]{|d{2cm}|e{2cm}|f{2cm}|}
d_b & e_g & f_v
\end{array}
\end{equation}
\begin{flalign}
\begin{array}[l]{|d{2cm}|e{2cm}|f{2cm}|}
d_b & e_g & f_v
\end{array} &&
\end{flalign}
\end{document}

voss
23-10-2010, 22:20
Habe gerade ein wenig gebastelt, hier ein Beispiel für feste Spaltenbreiten innerhalb
von equationarray oder array Umgebungen, es wird fester Platz
reserviert, aber ein automatischer Zeilenumbruch findet nicht statt.



\documentclass[fleqn]{article}
\usepackage{amsmath}

\begin{document}

\begin{xalignat}{3}
f_v &= b - g & f_v &= b - g & f_v &= b - g
\end{xalignat}

\begin{xxalignat}{3}
f_v &= b - g & f_v &= b - g & f_v &= b - g
\end{xxalignat}

\begin{flalign}
f_v &= b - g \\
& & f_v &= b - g \\
& & & &f_v &= b - g
\end{flalign}

\begin{flalign}
f_v &= b - g &&\\
& & f_v &= b - g &&\\
& & & &f_v &= b - g &&
\end{flalign}

\end{document}

Herbert

ellocco
23-10-2010, 22:50
Geht die dritte Spalte auch linksbündig?

\documentclass[fleqn]{article}
\usepackage{amsmath}
\setlength{\parindent}{0cm}
\begin{document}
Text
\begin{flalign}
&\text{linksbündig} & a &= b - g & \text{geht das} \\
&\text{linksbündiger Text} & cc &= d - f & \text{auch linksbündig?}
\end{flalign}
\end{document}

voss
23-10-2010, 22:53
Geht die dritte Spalte auch linksbündig?

\documentclass[fleqn]{article}
\usepackage{amsmath}

\begin{document}
Text
\begin{flalign}
&\text{linksbündig} & a &= b - g && \text{geht das} \\
&\text{linksbündiger Text} & cc &= d - f && \text{auch linksbündig?}
\end{flalign}
\end{document}

Natürlich!

Herbert

ellocco
06-01-2011, 20:24
Das liegt daran, dass eqnarray (http://www.ctan.org/pkg/eqnarray) unter einer unklaren Lizenz steht. Es steht aber zum Download auf CTAN (http://www.ctan.org/tex-archive/macros/latex/contrib/eqnarray/) bereit.

Ich installiere gerade mein MiKTeX neu und habe eben festgestellt,
daß der Autor Roland Winkler sein Paket in 2010 aktualisiert
und unter die GNU-Lizenz gestellt hat. Deshalb verstehe ich nicht,
was da noch unklar ist, hat er irgendetwas übersehen?