Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Fußnoten in Tabelle + booktabs

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.06.2008
    Beiträge
    154

    Fußnoten in Tabelle + booktabs

    Hallo zusammen,

    ich versuche gerade Fußnoten in eine Tabelle zu bekommen. Im Prinzip geht es, allerdings ist die Tabelle nicht zentriert und die Überschrift wird auch komisch verunstaltet. Könnt ihr mir vielleicht nen Tip geben?? Hier mal ein Minibsp. Ok, nicht so richtig Mini, aber mh ...

    Code:
    \documentclass{scrbook}
    \usepackage{caption,blindtext}
    \usepackage[ngerman]{babel}
    \usepackage{threeparttable}
    \usepackage{booktabs}
    \usepackage{multirow} 
    \usepackage{ifthen}
    
    \newcommand{\forloop}[5][1]{%
    \setcounter{#2}{#3}%
    \ifthenelse{#4}{#5\addtocounter{#2}{#1}%
    \forloop[#1]{#2}{\value{#2}}{#4}{#5}}%
    {}}
    
    \newcounter{crcounter}
    
    \newcommand{\compensaterule}[1]{%
    \forloop{crcounter}{1}{\value{crcounter} < #1}%
    {\vspace*{-\aboverulesep}\vspace*{-\belowrulesep}}}
    
    \newcommand{\multirowbt}[3]{\multirow{#1}{#2}%
    {\compensaterule{#1}#3}}
    
    
    \begin{document}
    \blindtext\footnote{Fussnote im Text}
    
    \begin{threeparttable}[ht]
    	\label{tab:RelationalOperationsComplexity}
    	\captionabove{Complexity of Relational Operations \cite{Oezsu1999}}
    	\begin{center}
    		\begin{tabular}{lc}
    			\toprule
    			\multicolumn{1}{c}{\textbf{Operation}} & 
    			\multicolumn{1}{c}{\textbf{Complexity}} \\ 
    			\midrule
    			Select & \multirowbt{3}{*}{$O(n$)}\\
    			\cmidrule{1-1}
    			Project \tnote{1} & \\
    			\cmidrule{1-1}
    			tinyDSM Set / Update & \\
    			\midrule
    			Project \tnote{2} & \multirowbt{2}{*}{$O(n \log n $)}\\
    			\cmidrule{1-1}
    			Group & \\
    			\midrule
    			Join & \multirowbt{3}{*}{$O(n \log n $)} \\
    			\cmidrule{1-1}
    			Semi-Join & \\
    			\cmidrule{1-1}
    			Division & \\
    			\midrule
    			Cartesian Product	& $ O(n^2)$ \\
    			\bottomrule
    		\end{tabular}
    	\begin{tablenotes}\footnotesize 
    		\item[1] without duplicate elimination
    		\item[2] with duplicate elimination
    	\end{tablenotes}
    	\end{center}
    \end{threeparttable}
    
    \blindtext
    \end{document}
    Schon einmal vielen Dank.
    Uwe

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von uwerothfeld Beitrag anzeigen
    ich versuche gerade Fußnoten in eine Tabelle zu bekommen. Im Prinzip geht es, allerdings ist die Tabelle nicht zentriert und die Überschrift wird auch komisch verunstaltet. Könnt ihr mir vielleicht nen Tip geben??
    Hallo,

    der Positionierungsparameter bei der threeparttable ist nicht htbp. Sondern es sind die Optionen t oder b oder c. Eine Threeparttable ist also eher mit einer tabular-Umgebung zu vergleichen. Daher gleitet sie auch nicht. Möchtest du, dass sie gleitet, so musst du die threeparttable in eine table-Umgebung packen.

    Code:
    \documentclass{scrbook}
    \usepackage{caption}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{threeparttable}
    \usepackage{booktabs}
    \usepackage{multirow} 
    \usepackage{ifthen}
    
    \newcommand{\forloop}[5][1]{%
    \setcounter{#2}{#3}%
    \ifthenelse{#4}{#5\addtocounter{#2}{#1}%
    \forloop[#1]{#2}{\value{#2}}{#4}{#5}}%
    {}}
    
    \newcounter{crcounter}
    
    \newcommand{\compensaterule}[1]{%
    \forloop{crcounter}{1}{\value{crcounter} < #1}%
    {\vspace*{-\aboverulesep}\vspace*{-\belowrulesep}}}
    
    \newcommand{\multirowbt}[3]{\multirow{#1}{#2}%
    {\compensaterule{#1}#3}}
    
    
    \begin{document}
    \blindtext\footnote{Fussnote im Text}
    
    \begin{center}
    \begin{threeparttable}[c]\centering
    	\captionabove{Complexity of Relational Operations \cite{Oezsu1999}}
        \label{tab:RelationalOperationsComplexity}
    		\begin{tabular}{lc}
    			\toprule
    			\multicolumn{1}{c}{\textbf{Operation}} & 
    			\multicolumn{1}{c}{\textbf{Complexity}} \\ 
    			\midrule
    			Select & \multirowbt{3}{*}{$O(n$)}\\
    			\cmidrule{1-1}
    			Project \tnote{1} & \\
    			\cmidrule{1-1}
    			tinyDSM Set / Update & \\
    			\midrule
    			Project \tnote{2} & \multirowbt{2}{*}{$O(n \log n $)}\\
    			\cmidrule{1-1}
    			Group & \\
    			\midrule
    			Join & \multirowbt{3}{*}{$O(n \log n $)} \\
    			\cmidrule{1-1}
    			Semi-Join & \\
    			\cmidrule{1-1}
    			Division & \\
    			\midrule
    			Cartesian Product	& $ O(n^2)$ \\
    			\bottomrule
    		\end{tabular}
    
    	\begin{tablenotes}\footnotesize 
    		\item[1] without duplicate elimination
    		\item[2] with duplicate elimination
    	\end{tablenotes}
    \end{threeparttable}
    \end{center}
    
    \blindtext
    \end{document}
    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.06.2008
    Beiträge
    154
    Hallo Marco,

    vor soviel Könnerschaft kann ich nur meine Hut ziehen. Da ließt man Beispiele und Dokus und bekommt die wichtigen Dinge dennoch nicht mit. Vielen vielen Dank.

    Uwe

  4. #4
    Registrierter Benutzer
    Registriert seit
    30.06.2008
    Beiträge
    154

    da war noch was ...

    Hallo doch nochmal,

    also meinen Lösung sieht so aus:

    Code:
    \documentclass{scrbook}
    \usepackage{caption}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{threeparttable}
    \usepackage{booktabs}
    \usepackage{multirow} 
    \usepackage{ifthen}
    \usepackage{amsmath}
    \usepackage{wasysym}
    
    
    \newcommand{\forloop}[5][1]{%
    \setcounter{#2}{#3}%
    \ifthenelse{#4}{#5\addtocounter{#2}{#1}%
    \forloop[#1]{#2}{\value{#2}}{#4}{#5}}%
    {}}
    
    \newcounter{crcounter}
    
    \newcommand{\compensaterule}[1]{%
    \forloop{crcounter}{1}{\value{crcounter} < #1}%
    {\vspace*{-\aboverulesep}\vspace*{-\belowrulesep}}}
    
    \newcommand{\multirowbt}[3]{\multirow{#1}{#2}%
    {\compensaterule{#1}#3}}
    
    
    \begin{document}
    \blindtext\footnote{Fussnote im Text}
    
    \begin{table}[htbp]
    \begin{center}
    	\begin{threeparttable}[c]
    		\caption{Complexity of Relational Operations \cite{Oezsu1999}}
        \label{tab:RelationalOperationsComplexity}
    		\begin{tabular}{lc}
    			\toprule
    			\multicolumn{1}{c}{\textbf{Operation}} & 
    			\multicolumn{1}{c}{\textbf{Complexity}} \\ 
    			\midrule
    			Select & \multirowbt{3}{*}{$O(n$)}\\
    			\cmidrule{1-1}
    			Project \tnote{1} & \\
    			\cmidrule{1-1}
    			tinyDSM Set / Update & \\
    			\midrule
    			Project \tnote{2} & \multirowbt{2}{*}{$O(n \log n $)}\\
    			\cmidrule{1-1}
    			Group & \\
    			\bottomrule
    		\end{tabular}
    		\begin{tablenotes}\footnotesize 
    			\item[1] without duplicate elimination
    			\item[2] with duplicate elimination
    		\end{tablenotes}
    	\end{threeparttable}
    \end{center}
    \end{table}
    \blindtext
    \end{document}
    Jetzt ist mir aber aufgefallen, dass die Caption auf den schmalen Tabellenbereich zentriert/begrenzt ist, was etwas unschön aussieht, bei ner längeren Überschrift. Wenn ich versuche die zentrierung in die threeparttable reinzuziehen, dann schlägt es schief (Ausrichtung wie Gesamttext, dennoch schmale Überschrift) auch ein "rausziehen" der Caption ansich habe ich nicht hinbekommen. Noch nen Tip für mich???

    Danke.
    Uwe

  5. #5
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    die oben gewählte center-Umgebung ist hier unangebracht, weil du ja eine table-Umgebung hast. Hier wieder centering nutzen. Für Tabellenüberschriften bietetn Koma auch den Befehl captionabove.

    Code:
    \documentclass{scrbook}
    \usepackage{caption}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{threeparttable}
    \usepackage{booktabs}
    \usepackage{multirow} 
    \usepackage{ifthen}
    \usepackage{amsmath}
    \usepackage{wasysym}
    
    
    \newcommand{\forloop}[5][1]{%
    \setcounter{#2}{#3}%
    \ifthenelse{#4}{#5\addtocounter{#2}{#1}%
    \forloop[#1]{#2}{\value{#2}}{#4}{#5}}%
    {}}
    
    \newcounter{crcounter}
    
    \newcommand{\compensaterule}[1]{%
    \forloop{crcounter}{1}{\value{crcounter} < #1}%
    {\vspace*{-\aboverulesep}\vspace*{-\belowrulesep}}}
    
    \newcommand{\multirowbt}[3]{\multirow{#1}{#2}%
    {\compensaterule{#1}#3}}
    
    
    \begin{document}
    \blindtext\footnote{Fussnote im Text}
    
    \begin{table}[htbp]
    \centering
    \captionabove{Complexity of Relational Operations \cite{Oezsu1999}}
    \label{tab:RelationalOperationsComplexity}
    	\begin{threeparttable}[c]
        		\begin{tabular}{lc}
    			\toprule
    			\multicolumn{1}{c}{\textbf{Operation}} & 
    			\multicolumn{1}{c}{\textbf{Complexity}} \\ 
    			\midrule
    			Select & \multirowbt{3}{*}{$O(n$)}\\
    			\cmidrule{1-1}
    			Project \tnote{1} & \\
    			\cmidrule{1-1}
    			tinyDSM Set / Update & \\
    			\midrule
    			Project \tnote{2} & \multirowbt{2}{*}{$O(n \log n $)}\\
    			\cmidrule{1-1}
    			Group & \\
    			\bottomrule
    		\end{tabular}
    		\begin{tablenotes}\footnotesize 
    			\item[1] without duplicate elimination
    			\item[2] with duplicate elimination
    		\end{tablenotes}
    	\end{threeparttable}
    \end{table}
    \blindtext
    \end{document}
    Gruß
    Marco

  6. #6
    Registrierter Benutzer
    Registriert seit
    30.06.2008
    Beiträge
    154
    Hi Marco,

    das ist ja super. Das \begin{center}... hat ich aus deinen 1. Post. Ich dachte \centering und \begin{center} ist das gleiche. Ok. Wieder was gelernt. Captionabove habe ich natürlich auch ergänzt. Vielen Dank. Ich freu mich.

    Danke!
    Uwe

  7. #7
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    du kannst dir ja mal center vs. \centering anschauen.

    Gruß
    Marco

  8. #8
    Registrierter Benutzer
    Registriert seit
    30.06.2008
    Beiträge
    154
    cool. danke.
    uwe

  9. #9
    Registrierter Benutzer
    Registriert seit
    22.11.2013
    Ort
    Siegen
    Beiträge
    9

    Fußnoten in die Tabelle

    Hallo,

    ich habe auch noch eine Frage zum Thema Fußnoten und Tabellen:
    Ich soll in meiner Arbeit die Fußnoten in der letzten Zeile der Tabelle anordnen. Jemand eine Idee, wie ich diese dorthin bekomme?

  10. #10
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Warum machst du keinen neuen Thread auf und erstellst ein eigenes Minimalbeispiel für dein Problem? Wenn die Fußnoten direkt unter der Tabelle stehen sollen, dann kannst du wie in den obigen Beispielen threeparttable verwenden:

    Code:
    \documentclass[parskip=full]{scrartcl}
    
    \usepackage{booktabs}
    \usepackage{threeparttable}
    
    
    \begin{document}
    \begin{threeparttable}
    \begin{tabular}{lll}
      \toprule
      Kopf 1& Kopf 2\tnote{1} & Kopf 3\\
      \midrule 
      Inhalt 1\tnote{2} & Inhalt 2& Inhalt 3\\
      Inhalt 4& Inhalt 5& Inhalt 6\tnote{3}\\
      \bottomrule
    \end{tabular}
    \begin{tablenotes}
    \item[1] Erste Fussnote
    \item[2] Zweite Fussnote
    \item[3] Dritte Fussnote
    \end{tablenotes}
    \end{threeparttable}
    
    \begin{threeparttable}
    \begin{tabular}{lll}
      \toprule
      Kopf 1& Kopf 2\tnote{1} & Kopf 3\\
      \midrule 
      Inhalt 1\tnote{2} & Inhalt 2& Inhalt 3\\
      Inhalt 4& Inhalt 5& Inhalt 6\tnote{3}\\
      \bottomrule
    \end{tabular}
    \begin{tablenotes}
    \item[1] Erste Fussnote
    \item[2] Zweite Fussnote
    \item[3] Dritte Fussnote
    \end{tablenotes}
    \end{threeparttable}
    \end{document}
    Hier ist mal außerdem noch ein Vorschlag, bei dem die Fußnoten tatsächlich in die letzte Tabellenzeile gesetzt werden. Ich gehe davon aus, dass die Zählung der Fußnoten in jeder Tabelle wieder bei Eins beginnt.

    Code:
    \documentclass[parskip=full]{scrartcl}
    \usepackage{booktabs}
    
    \usepackage{varwidth}
    \usepackage{datatool}
    \DTLnewdb{tabfootnotes}
    \newcounter{tabftnts}\setcounter{tabftnts}{0}
    
    \makeatletter
    \newcommand\tabfootnote[1]{\stepcounter{tabftnts}\footnotemark[\arabic{tabftnts}]%
      \DTLnewrow{tabfootnotes}%
      \DTLnewdbentry{tabfootnotes}{footnotetext}{#1}%
    }
    \makeatother
    
    \newcommand\tabfootnotes[1][\linewidth]{%
      \footnotesize%
      \setcounter{tabftnts}{0}
      \begin{varwidth}{#1}
        \DTLforeach{tabfootnotes}{\Text=footnotetext}{%
          \DTLiffirstrow{}{\\}%
          \stepcounter{tabftnts}\footnotemark[\arabic{tabftnts}]\,\Text\strut%
        }
      \end{varwidth}%
      \DTLgcleardb{tabfootnotes}%
      \setcounter{tabftnts}{0}%
      \par%
    }
    
    \begin{document}
    
    \begin{tabular}{lll}
      \toprule
      Kopf 1& Kopf 2\tabfootnote{Erste Fussnote} & Kopf 3\\
      \midrule 
      Inhalt 1\tabfootnote{Zweite Fussnote} & Inhalt 2& Inhalt 3\\
      Inhalt 4& Inhalt 5& Inhalt 6\tabfootnote{Dritte Fussnote}\\
      \midrule
      \multicolumn{3}{l}{\tabfootnotes}\\
      \bottomrule
    \end{tabular}
    
    \begin{tabular}{lll}
      \toprule
      Kopf 1& Kopf 2\tabfootnote{Erste Fussnote} & Kopf 3\\
      \midrule 
      Inhalt 1\tabfootnote{Zweite Fussnote} & Inhalt 2& Inhalt 3\\
      Inhalt 4& Inhalt 5& Inhalt 6\tabfootnote{Dritte Fussnote}\\
      \midrule
      \multicolumn{3}{l}{\tabfootnotes}\\
    \bottomrule
    \end{tabular}
    
    \end{document}
    Gruß
    Elke
    Geändert von esdd (22-01-2014 um 15:29 Uhr) Grund: \vspace{\aboverulesep} am Ende von \tabfootnotes entfernt

  11. #11
    Registrierter Benutzer
    Registriert seit
    22.11.2013
    Ort
    Siegen
    Beiträge
    9
    Danke Elke für deine Hilfe.

    Wenn ich das Beispiel alleine umwandle läuft alles prima, aber dann habe ich es in meine Datei hinein gepackt und bekomme folgende Meldung:

    Package varwidth Warning: Failed to reprocess entire contents on input line 227

    Woran kann das liegen?

  12. #12
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Vielleicht ist es für dein Problem sinnvoller eine minipage oder \parbox statt varwidth zu verwenden, aber ohne Minimalbeispiel ist das nur rumraten.

    Gruß
    Elke

  13. #13
    Registrierter Benutzer
    Registriert seit
    22.11.2013
    Ort
    Siegen
    Beiträge
    9
    Da das Problem immer noch besteht hier dann doch mal ein Beispiel:
    Code:
    \documentclass[12pt,a4paper, toc=bibliographynumbered,headings=small,oneside,final,fleqn, parskip=half]{scrbook}
    
    \usepackage{booktabs}
    \usepackage{varwidth}
    \usepackage{datatool}
    \DTLnewdb{tabfootnotes}
    \newcounter{tabftnts}\setcounter{tabftnts}{0}
    
    
    \makeatletter
    \newcommand\tabfootnote[1]{\stepcounter{tabftnts}\footnotemark[\arabic{tabftnts}]%
      \DTLnewrow{tabfootnotes}%
      \DTLnewdbentry{tabfootnotes}{footnotetext}{#1}%
    }
    \makeatother
    
    \newcommand\tabfootnotes[1][\linewidth]{%
      \footnotesize%
      \setcounter{tabftnts}{0}
      \begin{varwidth}{#1}
        \DTLforeach{tabfootnotes}{\Text=footnotetext}{%
          \DTLiffirstrow{}{\\}%
          \stepcounter{tabftnts}\footnotemark[\arabic{tabftnts}]\,\Text\strut%
        }
      \end{varwidth}%
      \DTLgcleardb{tabfootnotes}%
      \setcounter{tabftnts}{0}%
      \par\vspace{\aboverulesep}%
    }
    
    
    \usepackage{amsmath}
    \usepackage[ngerman]{babel}  %Deutsche Sprachuntersttzung
    \usepackage{supertabular} % Erweiterte Tabellen
    \usepackage{threeparttable}
    \usepackage{multirow}
    %\addtocounter{tocdepth}{1}
    %\addtocounter{secnumdepth}{1} 
     
    
    \begin{document}
    TEEEEEXXXXXXXXXXXTTTTT\\
    test\\
    
    \begin{threeparttable}[H]
    	\centering
    		\begin{tabular}{|c|c|c|c|c|c|c|c|}
    		\hline
    		1&2&3&4&5&6&7&8\\
    			\hline
    		Nr.&$A_s$&$f_y$&$f_{cm}$&\multirow{2}{2.5cm}{Doppelk. in Druckzone\tabfootnote{Es werden Doppelkopfstäbe in der Druckzone angeordnet, um die Querdehnung zu behindern}}&$F_{test}$&$F_{Modell}$&$F_{ACI}$\\
    			&mm$^2$&N/mm$^2$&N/mm$^2$&&kN&kN&kN\\
    			\hline
    			1&900&470&49&keine&540&525&348\\
    			2&940&610&49&keine&596\tabfootnote{Durch nicht geschlossene Bügel kommt es hier zum Versagen der Druckzone}&657&348\\
    			1&900&470&49&keine&540&525&348\\
    			1&900&470&49&keine&540&525&348\\
    			\hline
    
        \multicolumn{8}{|l|}{\tabfootnotes}\\
    \hline
    		\end{tabular}
    	\caption{Versuche von \textit{Test}}
    	\label{tab:birkleTab1}
    \end{threeparttable}
    \end{document}
    Das ganze sieht wie in der Abbildung aus. Leider ist die Tabelle unten auch nicht richtig geschlossen.
    Die varwidth- Fehlermeldung kommt auch noch immer. Allerdings nicht in dem Kurzbeispiel oben.

  14. #14
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Das die Tabelle nicht geschlossen ist, lag an dem \vspace{\aboverulesep}. Das kannst du rausnehmen:

    Code:
    \newcommand\tabfootnotes[1][\linewidth]{%
      \footnotesize%
      \setcounter{tabftnts}{0}
      \begin{varwidth}{#1}
        \DTLforeach{tabfootnotes}{\Text=footnotetext}{%
          \DTLiffirstrow{}{\\}%
          \stepcounter{tabftnts}\footnotemark[\arabic{tabftnts}]\,\Text\strut%
        }
      \end{varwidth}%
      \DTLgcleardb{tabfootnotes}%
      \setcounter{tabftnts}{0}%
      \par%
    }
    Wobei dir hier jeder raten wird auf die vertikalen Linien zu verzichten.

    Für dein varwidth Problem braucht es aber ein Beispiel, in dem das auch auf tritt.

    Gruß
    Elke

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •