Text mit TikZ-Bild in Tabelle oben ausrichten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Text mit TikZ-Bild in Tabelle oben ausrichten

von Besserwisser » Mo 25. Apr 2016, 10:08

Tom_Gast hat geschrieben:Wenn ich die Spalten der Tabelle so formatiere:
\begin{tabular}{p{0.2\textwidth} p{0.2\textwidth} p{0.2\textwidth} p{0.4\textwidth}}
Wieso geht das dann über die Textbreite hinaus, obwohl ich insgesamt 20%+20%+20%+40%=100% der Textbreite eingestellt hab?
Neue Fragen solltest du grundsätzlich als neues Thema stellen!

Du hast die Spaltenabstände in deiner Rechnung vergessen. Die sind \tabcolsep breit und existieren vor und nach jeder Spalte (also im Endeffekt vor der ersten Spalte, nach der letzten Spalte und zweimal zwischen allen Spalten). Den verfügbaren Platz auf die Spalten verteilen, geht übrigens einfacher mit tabularx. In der [d]tabularx[/d]-Anleitung, Abschnitt 4.3 findest du auch, wie man via \hsize-Änderung die Spalten trotzdem unterschiedlich breit machen kann. Falls weitere Fragen dazu sind, stell bitte eine ganz neue Frage mit neuem, darauf angepassten Minimalbeispiel.

von Besserwisser » Mo 25. Apr 2016, 10:04

Das ist aber ein wenig sehr von hinten durch die Brust ins Knie. tikzpicture (aber auch \tikz) bietet mit Option baseline selbst die Möglichkeit, die Grundlinie des Bildes festzulegen:
\documentclass{book}
\usepackage[ngerman]{babel}% Paket ngerman ist veraltet!
\usepackage{tikz}
\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}
   \begin{table}[h!]
      \begin{tabular}{p{3cm} p{3cm} p{2cm} p{4cm}}
         \toprule
         Spalte1 & Spalte2 & Spalte3 & Spalte4\\
         \midrule
         Hier steht Text, der oben ausgerichtet sein soll & Hier steht weiterer Text, der auch    oben ausgerichtet sein soll & Hier nochmal & \begin{tikzpicture}[baseline=-\ht\strutbox]\draw (0,0)--(4,0)--(2,-4)--(0,0); \end{tikzpicture}\\
         \bottomrule
      \end{tabular}
   \end{table}
\end{document}
Die Option baseline ist in der Anleitung erklärt.

von Tom_Gast » Mo 25. Apr 2016, 09:58

Ich hab nochmal eine kurze Frage:

Wenn ich die Spalten der Tabelle so formatiere:
\begin{tabular}{p{0.2\textwidth} p{0.2\textwidth} p{0.2\textwidth} p{0.4\textwidth}}
Wieso geht das dann über die Textbreite hinaus, obwohl ich insgesamt 20%+20%+20%+40%=100% der Textbreite eingestellt hab?

von Tom_Gast » Mo 25. Apr 2016, 09:48

Vielen Dank, hat prima funktioniert.

Kleiner Trick

von Stamm- » Fr 22. Apr 2016, 17:33

Hilfe für solche Dinge findet man häufig auf {TeX} SX [1]. Das hier sollte brauchbar aussehen.
\documentclass[ngerman]{book}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel} 
\usepackage{tikz}
\usepackage{booktabs}
\usepackage{microtype}

\begin{document}
  \begin{table}[!htb]
    \begin{tabular}{p{3cm} p{3cm} p{2cm} p{4cm}} \toprule
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\ \midrule
      Hier steht Text, der oben ausgerichtet sein soll & Hier steht weiterer Text, der auch oben ausgerichtet sein soll & Hier nochmal & \leavevmode\vadjust{\vspace{-0.75\baselineskip}}\newline\tikz\draw (0,0) -- (4,0) -- (2,-4) --cycle; \\ \bottomrule
    \end{tabular}
  \end{table}
\end{document}

[1] Aligning an enumeration item to the top of a tikzpicture – TeX - LaTeX Stack Exchange

Text mit TikZ-Bild in Tabelle oben ausrichten

von Tom_Gast » Fr 22. Apr 2016, 16:21

Hallo,

ich habe ein Problem, das ich auch durch sämliche Foren-Einträge noch nicht lösen konnte:
Ich habe eine Tabelle mit vier Spalten. In den ersten 3 Spalten steht Text und in der letzten Spalte befindet sich ein TiKz-Bild.
Das Problem das ich habe ist, dass der Text erst anfängt, wenn das Bild zuende ist, obwohl genügend Platz vorhanden ist. Kurz gesagt: Ich möchte den Text in den ersten drei Spalten ganz oben ausrichten, sodass er neben dem Bild steht.

Hier ein einfaches lauffähiges Minimalbeispiel: (Ich werde selbstverständlich das TiKz-Bild noch in eine extra Datei auslagern und mit \input einfügen, aber für das Minimalbeispiel wollte ich eben nur eine Datei haben).
\documentclass[]{book}
\usepackage{ngerman} 
\usepackage{tikz}
\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}
	\begin{table}[h!]
		\begin{tabular}{p{3cm} p{3cm} p{2cm} p{4cm}}
			\toprule
			Spalte1 & Spalte2 & Spalte3 & Spalte4\\
			\midrule
			Hier steht Text, der oben ausgerichtet sein soll & Hier steht weiterer Text, der auch 	oben ausgerichtet sein soll & Hier nochmal & \begin{tikzpicture}\draw (0,0)--(4,0)--(2,-4)--(0,0); \end{tikzpicture}\\
			\bottomrule
		\end{tabular}
	\end{table}
\end{document}
Ich würde mich freuen, wenn mir jemand weiter helfen könnte,
Gruß Tom

Nach oben