PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formeln schön einbinden



StiewiF
13-03-2008, 00:44
hallo, ich habe folgendes problem:
ich möchte eine formel in meinem text haben mit anschließender parametererklärung. sieht vereinfacht so aus

x+y+z = r+t
\Leftrightarrow x+y = r+t-z

z = bla
y = blablubb
t = jdsfölhöslkhfölkdshfäöldsahfäashföalshfdölakshdfök ja

jetzt die herausforderung:

- die breiteste formel soll zentriert sein
- beide = der formeln sollen exakt untereinander sein

-die breiteste erklärung soll ebenfalls zentriert sein
-alle anderen erklärungen sollen auf selber höhe wie die breiteste anfangen

das wär's dann schon. kann mir wer helfen?
Gruß Stefan

Stefan_K
13-03-2008, 01:19
Hallo Stefan,

das kann man vermutlich mit zwei align-Umgebungen von amsmath gut lösen siehe amsmath-Doku (ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf).

Viele Grüße,

Stefan

StiewiF
13-03-2008, 13:29
guter tipp, danke, die = sind schon mal untereinander, fehlen nur noch die erklärungen alle auf einer höhe, werde erst mal noch ein bisschen suchen gahen, es sei denn jemand hat da schnell einen tipp parat

Stefan_K
13-03-2008, 13:44
Hallo Stefan,

Du könntest einen zusätzlichen Spaltentrenner & ganz an den Anfang der jeweiligen Erklärungszeile setzen.

Viele Grüße,

Stefan

StiewiF
13-03-2008, 14:56
ich bin nicht ganz so fit in latex, machst du mir ein bsp?

Stefan_K
13-03-2008, 17:04
Hallo,

hier ein Beispiel mit alignat*:
\begin{alignat*}{2}
&z&&= \text{Erklärung} \\
&y&&= \text{Erklärung für y} \\
&t_{12}&&= \text{mehr Text}
\end{alignat*}

Allerdings fände ich es besser, wenn man nicht linksbündig ausrichtet, sondern die links vom Gleichheitszeichen stehenden Symbole bzw. Formeln rechtsbündig zum Gleichheitszeichen setzt, wie hier mit align*:

\begin{align*}
z &= \text{Erklärung} \\
y &= \text{Erklärung für y} \\
t_{12} &= \text{mehr Text}
\end{align*}


Viele Grüße,

Stefan

StiewiF
13-03-2008, 17:32
danke vielmals, hab mich für das erste entschieden, sieht ganz gut aus, zumal alles was vor dem = steht fast gleich groß ist

super kompetente und schnelle lösung!
also danke nochmal und bis zur nächsten Frage ;-)

StiewiF
15-03-2008, 13:59
kleine frage noch:

was muss ich tun, damit alles linksbündig anfängt?

localghost
15-03-2008, 14:20
[...] was muss ich tun, damit alles linksbündig anfängt?
Füge in den Optionen für die Dokumentklasse fleqn (force left equation) hinzu und ändere (oder eliminiere) den Einzug für Formeln.

\setlength{\mathindent}{0pt}


MfG
Thorsten¹

StiewiF
16-03-2008, 13:53
da hatten wir uns falsch verstanden.
ich will einfach nur die erklärungen, die ich jetzt nicht mehr in der equation-umgebung habe linksbündig haben, also das hier:

\begin{alignat*}{2}
&z&&= \text{Erklärung} \\
&y&&= \text{Erklärung für y} \\
&t_{12}&&= \text{mehr Text}
\end{alignat*}

Stefan_K
16-03-2008, 17:54
Hallo Stefan,

evtl. eignet sich dann die aligned-Umgebung, siehe amsmath-Doku. Diese kann man nämlich sogar "nicht abgesetzt" verwenden, also innerhalb $...$, damit bietet sie sich z.B. für mehrzeilige ausgerichtete Formeln innerhalb von Auflistungen an oder eben für Linkbbündigkeit plus evtl. gleichbleibende Einrückung.
Am Beispiel:
$\begin{aligned}
z&= \text{Erklärung} \\
y&= \text{Erklärung für y} \\
t_{12}&= \text{mehr Text}
\end{aligned}$

Viele Grüße,

Stefan

StiewiF
16-03-2008, 21:51
also irgendwie ists nicht das was ich suche, ich will praktische ne tabelle ohne tabelle ;-)
soll so aussehen

w: wert
wer: wert

wert sollte immer genau unterinander stehen (das kann ich hier irgendwie nicht "malen")
und das ganze soll natürlich ganz links auf der seite anfangen

geht das auch mit 3? nur ne interessenfrage. also so?

w: wert: ass
wer: wertigo: ass

wobei wert und wertigo und ass und ass untereinander stehen sollen

Stefan_K
16-03-2008, 22:05
Warum willst Du keine Tabelle verwenden, es soll aber eine herauskommen? Was spricht gegen beispielsweise:
\noindent\begin{tabular}{@{}lll}
w: & wert: & ass \\
wer: & wertigo: & ass
\end{tabular}
Dabei braucht man noch nicht einmal ein Zusatzpaket.

Stefan

StiewiF
16-03-2008, 22:18
ich wollte nur ne einfache lösung haben, irgendwie, ich verstehe nicht so viel von teX, bin nur ein chemiker ;-)
all meinte tabellen sind ein stück eingerückt, ich weiß nicht warum, muss irgendwo definiert sein, habe ich vor jahren mal von jmd machen lassen, die aber sowieso alle zentriert

auf jeden fall ist das super so, wie dus zuletzt gemacht hast, das nehme ich, danke sehr

StiewiF
16-03-2008, 22:23
tja, irgendwie ist aber der abstand dazwischen größer als normal???:(

Stefan_K
16-03-2008, 22:33
In Tabellen gibts etwas Abstand zwischen den Spalten, diesen kannst Du auch verändern, z.B:
\setlength{\tabcolsep}{0.5ex}

Im Extremfall kannst Du die Länge auf 0 setzen.
Alternativ kann man je ein @{} vor, nach bzw. zwischen die Spaltenformatsymbole setzen, wobei man in den geschweiften Klammern schreiben kann, was zwischen den Spalten gesetzt werden soll, ein geschütztes Leerzeichen, ein kleiner Abstand oder gar nichts. Das habe ich oben ganz links getan, damit kein Rand vor der linken Spalte entsteht.

Stefan

StiewiF
17-03-2008, 00:16
ok, die Tabellen nach links an den rand bekomme ich mit @{}

gerade meinte ich, dass der abstand der ZEILEN größer ist als in meinen anderen Tabellen, wenn ich diesen vorschlag nehme:


\noindent\begin{tabular}{@{}lll}
w: & wert: & ass \\
wer: & wertigo: & ass
\end{tabular}

Stefan_K
17-03-2008, 00:21
Die Zeile
\renewcommand{\arraystretch}{1.5} Deiner Präambel dehnt den Zeilenabstand. Wenn Du den Wert etwa auf 1 oder gar 0.8 verringerst, wird der Abstand deutlich geringer.

Stefan

StiewiF
17-03-2008, 00:45
\renewcommand{\arraystretch}{1.5}

das benutze ich schon, die tabellen sind auch super, aber dieses eingefügte bsp von dir hat nen größeren zeilenabstand

alternativ könnte ich es auch so machen

\begin{table}
\begin{tabular}{@{}ll}
hfd &ljgf\\
\multicolumn{2}{l}{\textbf{GPC in DMAc:}}\\
M$_{n}$: & 5700 \\
M$_{w}$/M$_{n}$: & 1.76 \\
\end{tabular}
\end{table}

allerdings fängt die multicolumn-zeile nicht links an, sondern ist als einzigste eingerückt. warum nur?

Stefan_K
17-03-2008, 00:52
Hallo,

eben weil Du die genannte Zeile mit 1.5 benutzt, ist der Abstand größer! Normal ist ein Wert von 1 für \arraystretch. Ohne diese Zeile habe ich normalen Abstand.

Die Einrückung der multicolumn-Zeile kriegst Du auch mit @{} weg:
\multicolumn{2}{@{}l}{\textbf{GPC in DMAc:}}\\

Stefan

StiewiF
17-03-2008, 01:07
ok, verändern kann ich den zeilenabstand, aber der von den tabellen und der von

\noindent\begin{tabular}{@{}lll}
w: & wert: & ass \\
wer: & wertigo: & ass
\end{tabular}

ist nicht gleich groß, ich weiß nicht worans liegt, ich brauchs im Moment auch nicht
alle meine tabellen sind threeparttables oder longtables, kann das daran liegen?

da hätte ich noch ne andere frage: bei den threeparttables die Fußnoten möchte ich gerne hintereinander haben und nicht untereinander, bisher habe ich das hier:


\begin{table}[H]
\begin{threeparttable}
\begin{tabular}{cc}
M$_{1}$\tnote{a}~ & M$_{2}$\tnote{b}~\\
1\tnote{c}~ &2 \\
\end{tabular}
\footnotesize
\begin{setstretch}{.90}
\begin{tablenotes}\setlength{\itemsep}{-2ex}
\item[a] M$_{1}$ = THF\\
\item[b] M$_{2}$ = EEGE\\
\item[c] THF/\textit{t}BuGE.\\
\end{tablenotes}
\end{setstretch}
\normalsize
\end{threeparttable}
\end{table}

Stefan_K
17-03-2008, 01:52
Hallo,

dann verändere den Zeilenabstand eben vorübergehend und setze ihn danach wieder anders - oder sag an einem kompletten Minimalbeispiel, inwiefern sich die Tabellen bei gleichem \arraystretch anders verhalten. Wieso setzt Du es überhaupt auf 1.5?

Um die Fußnoten bei \threeparttable hintereinander gesetzt zu erhalten, kannst Du die Option para verwenden:
\usepackage[para]{threeparttable}
Achtung, die nutzbare Breite für die Fußnoten wird durch die Tabelle bestimmt! Ggf. mache sie breiter, und wenn es nur eine zusätzliche Spalte mit Leeraum ist (\hspace*).

Stefan

StiewiF
17-03-2008, 12:42
wenn ich das einbinde erscheint der fehler:

Option clash for package threeparttable.

???

Stefan_K
17-03-2008, 14:36
Hi Stefan,

dann hast Du vielleicht threeparttable zweimal eingebunden, also evtl.:
\usepackage{threeparttable}
...
\usepackage[para]{threeparttable}
Dann würde dieser Fehler Option clash auftauchen. Prüf das mal. Nur letzteres sollte dann im Dokument stehen.

Viele Grüße,

Stefan

StiewiF
17-03-2008, 22:39
genau das hatte ich. wie kann ich denn den abstand zwischen den einzelnen tabellenfußnoten auf ein leerzeichen beschränken, der ist so in etwa 5 im Moment

Stefan_K
17-03-2008, 22:52
Hm, das ist wohl ziemlich fest eingestellt. Versuch das mal:
\makeatletter
\renewcommand*\TPT@doparanotes{\par
\prevdepth\z@ \TPT@hsize
\TPTnoteSettings
\parindent\z@ \pretolerance 8
\linepenalty 200
\renewcommand\item[1][]{\relax\ifhmode \begingroup
\unskip
\advance\hsize 10em % \hsize is scratch register, based on real hsize
\penalty -45 \hskip\z@\@plus\hsize \penalty-19
\hskip .15\hsize \penalty 9999 \hskip-.15\hsize
\hskip .01\hsize\@plus-\hsize\@minus.01\hsize
\hskip 0em\@plus .3em
\endgroup\fi
\tnote{##1}\,\ignorespaces}%
\let\TPToverlap\relax
\def\endtablenotes{\par}%
}
\makeatother

Das entspricht der Definition aus threeparttable.sty, in der Zeile, wo Du hier \hskip 0em siehst, steht original 1em - daran könntest Du noch drehen.

Stefan

StiewiF
17-03-2008, 23:15
wahnsinn was du alles kannst, das sieht spitze aus, tausend dank

Stefan_K
18-03-2008, 00:02
Hallo Stefan,

danke für das Kompliment!
Bei obigem ist doch nicht viel dahinter: Quellcode von threeparttables.sty lesen und die richtige Stelle finden, und was dort mit \def programmiert wurde mit \renewcommand ändern, oben war es nur eine Zeile des originalen Makros.

Viele Grüße,

Stefan

StiewiF
26-03-2008, 16:22
kleinigkeit noch:

die fußnoten in der tabelle sollen auch in so einer art blocksatz erscheinen, silbentrennung, wenn das möglich ist, ansonsten habi ich so hässliche lücken da drin

hier ein bsp:

\documentclass[12pt, tablecaptionabove, pointlessnumbers, noonelinecaption, a4paper, bibtotoc]{scrartcl}
\usepackage[para]{threeparttable}

\makeatletter
\renewcommand*\TPT@doparanotes{\par
\prevdepth\z@ \TPT@hsize
\TPTnoteSettings
\parindent\z@ \pretolerance 8
\linepenalty 200
\renewcommand\item[1][]{\relax\ifhmode \begingroup
\unskip
\advance\hsize 10em % \hsize is scratch register, based on real hsize
\penalty -45 \hskip\z@\@plus\hsize \penalty-19
\hskip .15\hsize \penalty 9999 \hskip-.15\hsize
\hskip .01\hsize\@plus-\hsize\@minus.01\hsize
\hskip 0em\@plus .3em
\endgroup\fi
\tnote{##1}\,\ignorespaces}%
\let\TPToverlap\relax
\def\endtablenotes{\par}%
}
\makeatother
\begin{document}


\begin{table}[H]
\begin{center}
\begin{threeparttable}

\caption{Copolymerisation von THF (M$_{1}$) mit geschützen Glycidolen (M$_{2}$ = EEGE oder \textit{t}BuGE): Ansatzvariationen, Umsatz, Ausbeute und GPC-Analyse.}
\begin{tabular}{lccccccc}
\hline
Ansatz & M$_{1}$ + M$_{2}$ & Initiatorsystem & M:In.:Coin.\tnote{a}~ & \multicolumn{2}{c}{Ausbeute} & \multicolumn{2}{c}{GPC\tnote{b}~} \\
\hline
& [mmol] & & [Äq.] & [g] & [\%]\tnote{c}~ & $\overline{M}$$_{n}$ & $\overline{M}$$_{w}$/$\overline{M}$$_{n}$ \\
\hline
STT 08\tnote{d}~ & 13.7 + 13.4\tnote{e}~ & TfOMe\tnote{f} & 180:1:0\tnote{g}~ & \tnote{h}~ & \tnote{i~} & 0\tnote{j}~ & \tnote{k,l,m,n}~ \\
\hline
\end{tabular}
\footnotesize

\begin{tablenotes}\setlength{\itemsep}{-2ex}
\item[a] (M$_{1}$ + M$_{2}$):Initiator:Coinitiator;\item[b] in DMAc;\item[c] der Theorie;\item[d] t$_{p}$\,=\,360\,\,min, T\,=\,0\,\,°C;\item[e] Mono\-mer\-mischung 1 (Tab.\,\,\ref{tab:monomergemische});\item[f] Copolymer \textbf{27};\item[g] t$_{p}$\,=\,180\,\,min, T\,=\,0\,\,°C;\item[h] Monomermischung 3 (Tab.\,\,\ref{tab:monomergemische});\item[i] t$_{p}$\,=\,1440\,\,min, T\,=\,50\,\,°C;\item[j] 58\% des THFs und 49\% des Glycidols umgesetzt;\item[k] t$_{p}$\,=\,90\,\,min;\item[l] Monomermischung 2 (Tab.\,\,\ref{tab:monomergemische});\item[m] Copolymer \textbf{26};\item[n] bimodal.
\end{tablenotes}
\normalsize
\label{tab:copolys}
\end{threeparttable}
\end{center}
\end{table}

\end{document}