threeparttable - Abstände zwischen Fußnotenlabel und Text

Tabellen und Grafiken erstellen und anordnen


ABC Transporter
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mi 17. Okt 2018, 13:57

threeparttable - Abstände zwischen Fußnotenlabel und Text

Beitrag von ABC Transporter »

Hallo zusammen,

ich möchte unter einer Tabelle gerne Fußnoten haben. Ich habe bereits mit threeparttable quasi das erreicht, was ich haben möchte. Als Markierung innerhalb der Tabelle benutze ich Sternchen (*, **). Klappt auch alles eigentlich ganz schön. Nur unter der Tabelle ist der Abstand des Textes zu den gesetzten Fußnoten (*, **) nicht gleich. Muss ich vielleicht \TPTnoteSettings irgendwie anpassen? Und wenn ja, wie?

Hier ein Minimalbeispiel:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage{booktabs}


\begin{document}

\begin{table}
\begin{threeparttable}
	\centering
	\caption[Substrate von ABCG2]{\label{tab:Substrate_BCRP}Ausgewählte Substrate von ABCG2.}
\begin{tabularx}{\textwidth}{XX}
\toprule
\textbf{Substrate} & \textbf{Beispiele}\tabularnewline
\midrule \addlinespace
\textit{Fluoreszenzfarbstoffe} & Hoechst 33342, Rhodamin 123\tnote{*}, Pheophorbid A\tabularnewline \addlinespace
\textit{Sonstige} & Methotrexat, Doxorubicin\tnote{**}, Daunorubicin\tnote{**}, HMG-CoA-Reduktase-Inhibitoren, Thiosemicarbazone, Sulfasalazin, Harnsäure\tabularnewline
\bottomrule
\end{tabularx}
\begin{tablenotes}[para]
\item[*]{wird nur von ABCG2-Mutanten transportiert (z.B. R482G, R482T u.a.)}
\item[**]{Substrate der ABCG2-Mutante R482G}
\end{tablenotes}
\end{threeparttable}
\end{table}

\end{document}
VG

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Um welchen Abstand zu welchem Text geht es genau? In deinem Minimalbeispiel gibt es unter der Tabelle keinen weiteren Text.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

ABC Transporter
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mi 17. Okt 2018, 13:57

Beitrag von ABC Transporter »

Es geht unterhalb der Tabelle um den Abstand zwischen den Fußnoten und dem zu den Fußnote gehörenden Text.
Im Code sind das die beiden Zeilen:
\item[*]{wird nur von ABCG2-Mutanten transportiert (z.B. R482G, R482T u.a.)}
\item[**]{Substrate der ABCG2-Mutante R482G}
Dadurch, dass ich beim zweiten item das doppelte Sternchen hat ist der Text dort gegenüber dem mit dem einfachen Sternchen eingerückt. Hätte dazwischen gerne den Abstand so gewählt, dass die ersten Wörter der beiden Aufzählungen (wird, Substrate) untereinander stehen

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Beispielsweise:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{threeparttable}
\renewcommand\TPTnoteLabel[1]{\makebox[3ex]{#1\hfill}}% <- eingefügt
\usepackage{booktabs}


\begin{document}

\begin{table}
\begin{threeparttable}
   \centering
   \caption[Substrate von ABCG2]{\label{tab:Substrate_BCRP}Ausgewählte Substrate von ABCG2.}
\begin{tabularx}{\textwidth}{XX}
\toprule
\textbf{Substrate} & \textbf{Beispiele}\tabularnewline
\midrule \addlinespace
\textit{Fluoreszenzfarbstoffe} & Hoechst 33342, Rhodamin 123\tnote{*}, Pheophorbid A\tabularnewline \addlinespace
\textit{Sonstige} & Methotrexat, Doxorubicin\tnote{**}, Daunorubicin\tnote{**}, HMG-CoA-Reduktase-Inhibitoren, Thiosemicarbazone, Sulfasalazin, Harnsäure\tabularnewline
\bottomrule
\end{tabularx}
\begin{tablenotes}% <- Option entfernt
\item[*]{wird nur von ABCG2-Mutanten transportiert (z.B. R482G, R482T u.a.)}
\item[**]{Substrate der ABCG2-Mutante R482G}
\end{tablenotes}
\end{threeparttable}
\end{table}

\end{document}

ABC Transporter
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mi 17. Okt 2018, 13:57

Beitrag von ABC Transporter »

Ach ja perfekt :)

Vielen lieben Dank.

Kannst du mir das vielleicht noch näher erläutern was genau passiert?
Du machst ja eine unsichtbare Box, soweit ich das verstehe. Wie genau funktioniert das jetzt mit den Befehlen, dass die Abstände entsprechend passen?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

ABC Transporter hat geschrieben: Du machst ja eine unsichtbare Box, soweit ich das verstehe. Wie genau funktioniert das jetzt mit den Befehlen, dass die Abstände entsprechend passen?
\makebox[3ex]{<inhalt>}
setzt <inhalt> in eine Box mit der festen Breite 3ex, unabhängig davon wie breit <inhalt> tatsächlich ist.

In der Voreinstellung wird Inhalt dabei zentriert zur Box eingefügt. Das kann man mit dem zweiten optionalen Argument ändern, welches die Werte l (linksbündig), c (zentriert), r (rechtsbündig) versteht.

Vielleicht hättest Du auch lieber
\renewcommand\TPTnoteLabel[1]{\makebox[3ex][r]{#1~}}

ABC Transporter
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mi 17. Okt 2018, 13:57

Beitrag von ABC Transporter »

Ich hätte den feinen Unterschied beim Ausprobieren von l, c, r gerade fast gar nicht bemerkt ^^

Die letzte der beiden Möglichkeiten gefällt mir etwas besser, vielen Dank.

Da es sich ja irgendwie um eine ähnliche Umgebung handelt wie itemize etc. wäre es dann nicht auch möglich entsprechende Optionen zu setzen? Ich meine, dass z.B. beim enumitem-Paket es ja diverse Optionen gibt zur Ausrichtung des Labels etc.

Ich denke da gerade an labelsep usw. oder existiert das für die tablenotes-Umgebung nicht?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ein paar Änderungsvorschläge:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage{booktabs}
\usepackage{ragged2e}% für \RaggedRight
\usepackage{calc}% für \widthof

\renewcommand\TPTnoteLabel[1]{\makebox[\widthof{**}][r]{#1~}}

\begin{document}
\begin{table}
\begin{threeparttable}
	\centering
	\caption[Substrate von ABCG2]{\label{tab:Substrate_BCRP}Ausgewählte Substrate von ABCG2.}
	\begin{tabularx}{\textwidth}{
		>{\itshape}X
		>{\RaggedRight}X
	}
	\toprule
	\textnormal{\textbf{Substrate}} & \textbf{Beispiele}\tabularnewline
	\midrule
	Fluoreszenzfarbstoffe & Hoechst 33342, Rhodamin 123\tnote{*}, Pheophorbid A\tabularnewline 
	\addlinespace
	Sonstige & Methotrexat, Doxorubicin\tnote{**}, Daunorubicin\tnote{**}, 
	HMG"=CoA"=Reduktase"=Inhibitoren, Thiosemicarbazone, Sulfasalazin, Harnsäure\tabularnewline
	\bottomrule
	\end{tabularx}
	\begin{tablenotes}
	\item[*]{wird nur von ABCG2-Mutanten transportiert (z.\,B. R482G, R482T u.\,a.)}
	\item[**]{Substrate der ABCG2-Mutante R482G}
	\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
Muss die erste Spalte so breit sein?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

ABC Transporter hat geschrieben: Da es sich ja irgendwie um eine ähnliche Umgebung handelt wie itemize etc. wäre es dann nicht auch möglich entsprechende Optionen zu setzen?
Du kannst dazu \TPTnoteSettings umdefinieren. Voreingestellt in threeparttable ist
\def\TPTnoteSettings{%
 \setlength\leftmargin{1.5em}%
 \setlength\labelwidth{.5em}%
 \setlength\labelsep{.2em}%
 \rightskip\tabcolsep \leftskip\tabcolsep
}
Du kannst also auch etwas wie
\documentclass{scrbook} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage{tabularx} 
\usepackage{threeparttable} 
\usepackage{booktabs} 
\usepackage{ragged2e}% für \RaggedRight 
\usepackage{calc}% für \widthof 

\def\TPTnoteSettings{%
 \setlength\leftmargin{2em}%
 \setlength\labelwidth{1em}%
 \setlength\labelsep{.2em}%
 \rightskip\tabcolsep \leftskip\tabcolsep
}

\begin{document} 
\begin{table} 
\begin{threeparttable} 
   \centering 
   \caption[Substrate von ABCG2]{\label{tab:Substrate_BCRP}Ausgewählte Substrate von ABCG2.} 
   \begin{tabularx}{\textwidth}{ 
      >{\itshape}l 
      >{\RaggedRight}X 
   } 
   \toprule 
   \textnormal{\textbf{Substrate}} & \textbf{Beispiele}\tabularnewline 
   \midrule 
   Fluoreszenzfarbstoffe & Hoechst 33342, Rhodamin 123\tnote{*}, Pheophorbid A\tabularnewline 
   \addlinespace 
   Sonstige & Methotrexat, Doxorubicin\tnote{**}, Daunorubicin\tnote{**}, 
   HMG"=CoA"=Reduktase"=Inhibitoren, Thiosemicarbazone, Sulfasalazin, Harnsäure\tabularnewline 
   \bottomrule 
   \end{tabularx} 
   \begin{tablenotes} 
   \item[*]{wird nur von ABCG2-Mutanten transportiert (z.\,B. R482G, R482T u.\,a.)}
   \item[**]{Substrate der ABCG2-Mutante R482G} 
   \end{tablenotes} 
\end{threeparttable} 
\end{table} 
\end{document}
verwenden.

ABC Transporter
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mi 17. Okt 2018, 13:57

Beitrag von ABC Transporter »

Beide Lösungen machen es gut wie ich finde. Das mit ragged2e Paket hab ich dann auch mal nachgelesen und integriert. Davor gab es unschöne Abstände nach den Aufzählungen innerhalb der Tabelle.

Ich danke euch jedenfalls sehr für die Hilfe!

Antworten