Archiv verlassen und diese Seite im Standarddesign anzeigen : Formeln schön einbinden
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
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
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
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 ;-)
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¹
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
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
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
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
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
\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
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
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
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
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
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}
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.