Archiv verlassen und diese Seite im Standarddesign anzeigen : Bild ragt aus Tabelle
aakaasha
09-05-2008, 14:10
Hallo!
Ich möchte in meine Diss ein Formelverzeichnis aufnehmen. Dazu verwende ich eine Tabelle, in der links die Beschreibung steht und rechts die Strukturformel.
Das eingefügte Bild ragt aber nun über die Tabellenzelle hinaus.
Ich verwende booktabs, tabularx und multicol/row.
\begin{tabularx}{1\linewidth}{Xr}
\multicolumn{2}{l}{\textbf{Bromophenol blue}}\\
\toprule
\ce{C19H10Br4O5S} & \multirow{2}{*}{\includegraphics[scale=0.5]{bromophenolblue}}\\
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol & \\
669.9607 g/mol & \\
\bottomrule
\end{tabularx}
Das ganze sieht dan nso aus wie im Anhang.
Sollte LaTeX nicht die Zelle automatisch vergrößern?
Vielen Dank im Voraus für die Hilfe!
MfG Florian
Ich möchte in meine Diss ein Formelverzeichnis aufnehmen. Dazu verwende ich eine Tabelle, in der links die Beschreibung steht und rechts die Strukturformel.
Das eingefügte Bild ragt aber nun über die Tabellenzelle hinaus.
Ich verwende booktabs, tabularx und multicol/row.
Das ganze sieht dan nso aus wie im Anhang.
Sollte LaTeX nicht die Zelle automatisch vergrößern?
das geht nur, wenn das Paket seine Abbildung auch in eine entsprechende
Box packt, sonst kann LaTeX ja gar nicht wissen, welche Höhe hier
angebracht ist. Du kannst mit \rule[shift]{0pt}{Höhe} vor der Abbildung
eine Höhe erzwingen. Alternativ geht auch eine \parbox mit definierter
Höhe.
Herbert
aakaasha
09-05-2008, 14:54
Gibt es da eine automatische Lösung? Sonst müßte ich bei jeder Abbildung erst einmal die Größe bestimmen und dann den Parameter eintragen.
MfG Florian
aakaasha
09-05-2008, 14:58
Du kannst mit \rule[shift]{0pt}{Höhe} vor der Abbildung
eine Höhe erzwingen.
Herbert
Funktioniert leider nicht. :(
\begin{tabularx}{1\linewidth}{Xr}
\multicolumn{2}{l}{\textbf{Bromophenol blue}}\\
\toprule
\ce{C19H10Br4O5S} & \multirow{2}{*}{\rule{0pt}{27mm}\includegraphics[scale=0.5]{bromophenolblue}}\\
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol & \\
669.9607 g/mol & \\
\bottomrule
\end{tabularx}
Sabrina.Dankers
09-05-2008, 15:20
Hallo,
ich habe festgestellt, dass das mit dem \multirow zu tun hat. Er kann das da anscheinend nicht berechnen. Versuch doch ansonsten deine Tabelle umzustellen und zwar so:
\begin{tabular}{>{\RaggedRight}m{12cm} >{\Centering}m{2cm}}
\multicolumn{2}{m{14cm}}{\textbf{Bromophenol blue}}\\ \toprule
\ce{C19H10Br4O5S}\newline
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol \newline
669.9607 g/mol &\includegraphics[scale=0.5]{bromophenolblue} \\\bottomrule
\end{tabular}
Hab das gerade in einem anderen Zusammenhang gesehen. So sollte es funktionieren. Da benötigst du allerdings die Pakete array und ragged2e
aakaasha
09-05-2008, 15:33
das funktioniert, allerdings ragt dann die ganze tabelle in den margin und das bild zusätzlich noch aus der Tabelle.
Eine nicht ganz so schöne Lösung wäre es auch, einfach ein paar Leerzeilen einzufügen.
MfG Florian
Funktioniert leider nicht. :(
\begin{tabularx}{1\linewidth}{Xr}
\multicolumn{2}{l}{\textbf{Bromophenol blue}}\\
\toprule
\ce{C19H10Br4O5S} & \multirow{2}{*}{\rule{0pt}{27mm}\includegraphics[scale=0.5]{bromophenolblue}}\\
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol & \\
669.9607 g/mol & \\
\bottomrule
\end{tabularx}
mach ein komplettes Beispiel, dann sehe ich es mir genauer an, denn \rule...
funktioniert immer!
Herbert
aakaasha
09-05-2008, 15:44
mach ein komplettes Beispiel,
Ist das nicht ein komplettes Beispiel?
\begin{tabularx}{1\linewidth}{Xr}
\multicolumn{2}{l}{\textbf{Bromophenol blue}}\\
\toprule
\ce{C19H10Br4O5S} & \multirow{2}{*}{\rule{0pt}{27mm}\includegraphics[scale=0.5]{bromophenolblue}}\\
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol & \\
669.9607 g/mol & \\
\bottomrule
\end{tabularx}
ergibt dann so was:
aakaasha
09-05-2008, 15:58
Funktionierendes Beispiel ist angehängt.
MfG Flo
Funktionierendes Beispiel ist angehängt.
\documentclass[a4paper]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[top=3cm, bottom=3cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{savesym} % solving symbol conflict of pxfonts with mhchem
\usepackage{graphicx}
\usepackage{textcomp} % for text-symbols
\usepackage[textstyle,squaren,mediumqspace]{SIunits} % SI units
\usepackage[version=3]{mhchem} % chemical formula and reactions
\restoresymbol{MHCH}{iint}
\restoresymbol{MHCH}{iiint}
\restoresymbol{MHCH}{iiiint}
\restoresymbol{MHCH}{idotsint}
\usepackage{booktabs} % enhanced tables
\setlength {\heavyrulewidth }{0.08 em}
\setlength {\lightrulewidth }{0.02 em}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{>{\scriptsize}m{#1}}
\begin{document}
\begin{tabularx}{\linewidth}{@{} Xc @{}}
\multicolumn{2}{@{}l}{\textbf{Bromophenol blue}}\\\toprule
\ce{C19H10Br4O5S}\newline
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol \newline
669.9607 g/mol
& \raisebox{-0.5\height}{\includegraphics[scale=0.5]{bromophenolblue}}\tabularnewline
\bottomrule
\end{tabularx}
\end{document}
Herbert
Sabrina.Dankers
09-05-2008, 18:09
Hallo noch mal,
das funktioniert. Du musst natürlich die Breitenangaben an deine Seitenränder und an die Breite deines Bildes anpassen. Bei mir funktioniert das so optimal. Aber ich hatte ja dein Bild nicht und hab die Breite deshalb an meines angepasst.
LG Sabrina
aakaasha
13-05-2008, 10:30
Herbert, dein Beispiel funktioniert wunderbar! :D
Gibt es nun auch eine Möglichkeit, den linken Zelleninhalt vertikal unten auszurichten?
MfG Florian
Sabrina.Dankers
13-05-2008, 13:10
Hallo,
ich würde diese Variante empfehlen. Entspricht meiner Meinung nach genau dem was du willst. Da musst du halt nur die Breite für die Spalte mit deinen Bildern festlegen. Und das Paket calc einbinden.
\begin{tabular*}{\linewidth}{>{\RaggedRight \scriptsize}b{\linewidth-4.75cm} >{\Centering}b{4cm}}
\multicolumn{2}{m{14cm}}{\textbf{Bromophenol blue}}\\ \toprule
\ce{C19H10Br4O5S}\newline 2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol \newline
669.9607 g/mol &\includegraphics[scale=0.5]{bromophenolblue} \\\bottomrule
\end{tabular*}
ich würde diese Variante empfehlen. Entspricht meiner Meinung nach genau dem was du willst. Da musst du halt nur die Breite für die Spalte mit deinen Bildern festlegen. Und das Paket calc einbinden.
\begin{tabular*}{\linewidth}{>{\RaggedRight \scriptsize}b{\linewidth-4.75cm}
...
\end{tabular*}
die tabularx-Umgebung ist in jedem Fall der tabular* vorzuziehen!
Herbert
Sabrina.Dankers
13-05-2008, 13:19
Ja,
im Prinzip schon. Aber so klappt das mit der Ausrichtung des Textes nicht. Wenn ich das richtig sehe, dann wird dort als Referenz für die Ausrichtung der Tabularxspalte die Mitte des Bildes genommen und dadurch lässt sich der Text nicht unten am Bild ausrichten. Oder hast du inzwischen eine Lösung gefunden. Zumindest hab ich das so von Florian so verstanden, dass er den Text in der linken Spalte am unteren Bildrand seiner Strukturformeln ausrichten möchte.
Gibt es nun auch eine Möglichkeit, den linken Zelleninhalt vertikal unten auszurichten?
das macht die Sache noch einfacher ...
...
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{>{\scriptsize}b{#1}}
\begin{document}
\begin{tabularx}{\linewidth}{@{} Xc @{}}
\multicolumn{2}{@{}l}{\textbf{Bromophenol blue}}\\\toprule
\ce{C19H10Br4O5S}\newline
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol \newline
669.9607 g/mol
& \includegraphics[scale=0.5]{bromophenolblue}\tabularnewline
\bottomrule
\end{tabularx}
...
Herbert
aakaasha
13-05-2008, 13:38
naja, jetzt ist das bild nicht mehr auf gleicher linie mit dem text, sondern steht höher...
naja, jetzt ist das bild nicht mehr auf gleicher linie mit dem text, sondern steht höher...
dann musst du mir schon mal die Originalgrafik zur Verfügung stellen.
Bei mir als Demo geht es.
HErbert
Grummel ... habe ja die Grafik ...
naja, jetzt ist das bild nicht mehr auf gleicher linie mit dem text, sondern steht höher...
die Grafik hat ja auch unten einen weißen Rand ... also musst du sie "herunterziehen":
\documentclass[a4paper]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[top=3cm, bottom=3cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{savesym} % solving symbol conflict of pxfonts with mhchem
\usepackage{graphicx}
\usepackage{textcomp} % for text-symbols
\usepackage[textstyle,squaren,mediumqspace]{SIunits} % SI units
\usepackage[version=3]{mhchem} % chemical formula and reactions
\restoresymbol{MHCH}{iint}
\restoresymbol{MHCH}{iiint}
\restoresymbol{MHCH}{iiiint}
\restoresymbol{MHCH}{idotsint}
\usepackage{booktabs} % enhanced tables
\setlength {\heavyrulewidth }{0.08 em}
\setlength {\lightrulewidth }{0.02 em}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{>{\scriptsize}b{#1}}
\begin{document}
\begin{tabularx}{\linewidth}{@{} Xc @{}}
\multicolumn{2}{@{}l}{\textbf{Bromophenol blue}}\\\toprule
\ce{C19H10Br4O5S}\newline
2,6-dibromo-4-[3-(3,5-dibromo-4-hydroxyphenyl)-1,1-dioxo-3-benzo[c]oxathiolyl]phenol \newline
669.9607 g/mol
& \raisebox{-1.5mm}{\includegraphics[scale=0.5]{bromophenolblue}}\tabularnewline
\bottomrule
\end{tabularx}
\end{document}
Herbert
aakaasha
13-05-2008, 14:12
Okay, so funktionierts!
Vielen Dank!
Sabrina.Dankers
13-05-2008, 14:39
Hi,
okay so geht es natürlich. Allerdings frage ich mich wieso wird den bei tabularx die Mitte des Bildes als Referenz genommen und bei tabular* nicht? Da brauch ich den ganzen Kram mit der \raisebox dann nicht.
okay so geht es natürlich. Allerdings frage ich mich wieso wird den bei tabularx die Mitte des Bildes als Referenz genommen und bei tabular* nicht? Da brauch ich den ganzen Kram mit der \raisebox dann nicht.
Es ist völlig egal, ob tabular* oder tabularx! Haben beide denselben Spaltentyp, gibt es
dasselbe Ergebnis, bei tabularx wird allerdings der Zelleninhalt automatisch
gestreckt, bei tabular* der Spaltenzwischenraum, weshalb man bei tabular*
eben noch eine Breite angeben muss.
Herbert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.