PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Glossareintrag mit Fußnote in tabular-Umgebung



roehrich
12-10-2012, 11:16
Hallo,

ist es möglich innerhalb der Tabular Umgebung einen Glossareintrag zu markieren der zudem zu einer Fußnote führt?


\documentclass[oneside,pdftex,a4paper]{scrreprt} %Din A4 Artikel, Halbe Zeile Abstand nach Absatz
\usepackage[left=3cm,right=2.5cm,top=2cm,bottom=2cm,includehea dfoot]{geometry}%Seitenränder
\usepackage{array}
\usepackage{tabularx} %Tabellengrößen anpassen
\usepackage{ragged2e} %ragged text ausrichten
\usepackage[pdftex, pdfpagemode={UseOutlines}, bookmarks, colorlinks,linkcolor={blue}, citecolor={blue}, urlcolor={red}, pdfstartview={Fit},plainpages=false,pdfpagelabels]{hyperref}
\usepackage[toc,footnote]{glossaries}


\glossarystyle{long3col} %Glossarstyle
\glsdisablehyper %Keine Hyperlinks vom Text zum Glossar (einzelne Hyperlinks entfernen mit \gls*
\setlength{\glsdescwidth}{0.82\linewidth} %Glossar Breite anpassen
\renewcommand{\glsgroupskip}{} %Beim Glossar zwischen den Gruppen keine Leerzeile
\renewcommand*{\glossaryname}{Glossar}%Glossary in Glossar umbenennen
\renewcommand{\glsnamefont}[1]{\textbf{#1}}%Entry Names fett gedruckt
\makeglossaries %Glossareinträge werden hier erstellt
\newacronym{CRC}{CRC}{Cyclic Redundancy Check}

\begin{document}

\begin{table}[!h]
\centering
\begin{tabular}{@{}|c|c|@{}}
\hline
Eintrag & \gls{CRC}\\
\hline
\end{tabular}
\caption{Testtabelle}
\label{tbl:Testtabelle}
\end{table}

\printglossary %Glossar ausgeben
\end{document}

Wenn ich dieses Beispiel ausführe bekomme ich zwar die kleine Markierungsziffer hinter CRC, aber keine zugehörige Fußnote. Ziehe ich die Zeile \gls{CRC} jedoch aus der Tabelle heraus, passt wieder alles.
Kann man da was machen?

Gruß
Thomas

Arthorius
12-10-2012, 22:27
Nach http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footintab gibt es mehrere Möglichkeiten, dies zu erzielen.

Mein Ansatz ist mit Hilfe des

\usepackage{tablefootnote}
und dem Environment-Hook (aus dem etoolbox; durch glossaries geladen):

\makeatletter
\AtBeginEnvironment{tabular}{%
\let\myold@oldfootnote\footnote%
\let\footnote\tablefootnote%
}
\AfterEndEnvironment{tabular}{\let\footnote\myold@ footnote}
\makeatother

Leider ergeben sich 3 Fehler, die aber "nur" glossaries abhängig sind und so die Ausgabe nicht verhindern. Werde noch zusehen, dass ich die Fehler rausbekomm, aber als Zwischenlösung funktioniert es bereits.


Komplettes Beispiel:


\documentclass[oneside,a4paper]{scrreprt} %Din A4 Artikel, Halbe Zeile Abstand nach Absatz

\usepackage[left=3cm,right=2.5cm,top=2cm,bottom=2cm,includehea dfoot]{geometry}%Seitenränder
\usepackage{array}
\usepackage{tabularx} %Tabellengrößen anpassen
\usepackage{ragged2e} %ragged text ausrichten

\usepackage{tablefootnote}

\usepackage[pdftex, pdfpagemode={UseOutlines}, bookmarks, colorlinks,linkcolor={blue}, citecolor={blue}, urlcolor={red}, pdfstartview={Fit},plainpages=false,pdfpagelabels]{hyperref}

\usepackage[toc,footnote]{glossaries}

\glossarystyle{long3col} %Glossarstyle
\glsdisablehyper %Keine Hyperlinks vom Text zum Glossar (einzelne Hyperlinks entfernen mit \gls*)
\setlength{\glsdescwidth}{0.82\linewidth} %Glossar Breite anpassen
\renewcommand{\glsgroupskip}{} %Beim Glossar zwischen den Gruppen keine Leerzeile
\renewcommand*{\glossaryname}{Glossar}%Glossary in Glossar umbenennen
\renewcommand*{\glspostdescription}{\dotfil}
\renewcommand{\glsnamefont}[1]{\textbf{#1}}%Entry Names fett gedruckt

\makeglossaries %Glossareinträge werden hier erstellt

\newacronym{CRC}{CRC}{Cyclic Redundancy Check}

\newglossaryentry{blablub}{name=Blablub, description={Das ist blablub.}}

\makeatletter
\AtBeginEnvironment{table}{%
\let\myold@oldfootnote\footnote%
\let\footnote\tablefootnote%
}
\AtEndEnvironment{table}{\let\footnote\myold@footn ote}
\makeatother

\begin{document}
Dies ist ein Blindsatz.

\begin{table}[!h]
\centering
\begin{tabular}{@{}|c|c|@{}}
\hline
Eintrag & \gls{CRC}\\
\hline
\end{tabular}
\caption{Testtabelle}
\label{tbl:Testtabelle}
\end{table}

Dies ist ein Blindsatz. \gls{blablub} und dies ist ein Blindsatz.

\printglossaries

\end{document}