Glossaries - Groupskip bei Seitenumbruch (longtable)

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

Glossaries - Groupskip bei Seitenumbruch (longtable)

Beitrag von Apfeltasche »

Hallo,

ich habe mir einen eigenen Stil für meine Abkürzungsverzeichnisse gebastelt, der auf einem longtable-stil basiert. Dazu verwende ich longtabu aus dem Paket tabu, damit die Tabelle auf die Seitenbreite gestreckt wird und außerdem ein Seitenumbruch möglich ist. Zusätzlich kommen toprule und bottomrule aus dem booktabs paket zur Anwendung. Bei einem Seitenumbruch wird dann automatisch der Kopf nocheinmal hingeschrieben, klappt alles wunderbar.

Als groupskip wird eine leere Zeile eingefügt (siehe Minimalbeispiel). Geschieht dieser groupskip genau beim Zeilenumbruch erscheint dann natürlich entweder unten auf der Seite oder eben oben auf der neuen Seite eine leere Zeile.
Ich vermute fast, dass es nicht möglich ist, aber hat jemand eine Idee, wie ich dem Paket beibringen kann, bei einem Seitenumbruch eben diese Leerzeile nicht zu setzen?

Sortiert wird bei mir mit makeglossaries auf Win7 mit Miktex 2.9, falls das interessant ist.
\documentclass[]{scrbook}

\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

% table packages
\usepackage{booktabs,longtable,tabu}
% glossaries
\usepackage[%
acronym % use acronym functionality
,section = section % use sections for all glossary lists
,nonumberlist % no page references in lists
,nostyles % do not load  any style
]{glossaries}

% define new style for acronyms
\newglossarystyle{my_acronymlist}{%
\renewenvironment{theglossary}%
{\begin{longtabu} to\linewidth {lX}}%
{\end{longtabu}}%
\renewcommand*{\glossaryheader}{\multicolumn{2}{l}{\footnotesize\textit{Continuation from previous page.}}\\\toprule Acronym & Description\\\midrule\endhead%
\toprule Acronym & Description\\\midrule\endfirsthead%
\bottomrule\endfoot}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\glstarget{##1}{##2} & \glsentrydesc{##1}\\}%
%
\renewcommand*{\glossarysubentryfield}[6]{%
&%
\glssubentryitem{##2}%
\glstarget{##2}{\strut}##4 & ##6\\}%
%
%*** GROUP SKIP ***
\renewcommand*{\glsgroupskip}{&\\}%
%\renewcommand*{\glsgroupskip}{\addlinespace}%
%******************
}

% some acronyms
\newacronym{mimo}{MIMO}{Multiple Input Multiple Output}
\newacronym{miso}{MISO}{Multiple Input Single Output}
\newacronym{simo}{SIMO}{Single Input Multiple Output}
\newacronym{siso}{SISO}{Single Input Single Output}
\newacronym{cdma}{CDMA}{Code Division Multiple Access}
\newacronym{ofdm}{OFDM}{Orthogonal Frequency Division Multiplex}

% switch on glossaries
\makeglossaries

\begin{document}

\chapter{Notation}

\vspace{28\baselineskip}
% print list of acronyms
\glsaddall
\printglossary[type=\acronymtype,style=my_acronymlist]

\end{document}
PS: Eigentlich möchte ich als groupskip den Befehl \addlinespace von booktabs benutzen. Ich denke das Problem bleibt das selbe, nur dass eine komplette leere Zeile leichter zu erkennen ist :wink:
Hab das im Quelltext mal auskommentiert.
Dateianhänge
thesis.pdf
Hier meine PDF-Ausgabe
(27.28 KiB) 665-mal heruntergeladen

Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

keine Idee?

Beitrag von Apfeltasche »

Hat niemand eine Idee für mein Problem?
Ist das Minimalbeispiel unübersichtlich oder nicht lauffähig?

Ich wäre wirklich sehr an einer Lösung interessiert.

Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

Beitrag von Apfeltasche »

Kann mir jemand noch einen Tipp geben, an welches Forum ich mich zur Lösungssuche wenden könnte?
Offensichtlich bin ich nicht der einzige, der glossaries mit einem longtable style verwendet.
Das Problem muss doch schon einmal jemand gehabt haben...

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Warum versuchst du es nicht mit der Paketdoku? Im Kapitel "Defining your own glossary style" steht eine Anleitung dazu. Normalerweise wird dabei auf einen bestehenden Stil aufgebaut.
Gruß, Sepp.-

Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

Beitrag von Apfeltasche »

Anleitung habe ich fast komplett durchgearbeitet. Mein Stil basiert, wie bereits geschrieben, auf einem longtable-Stil. Vielleicht ist mein Beispiel ein wenig abschreckend.

Deshalb hier nochmal das Ganze mit einem Standard-Stil.
\documentclass[]{scrbook}

\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
% glossaries
\usepackage[%
acronym % use acronym functionality
,section = section % use sections for all glossary lists
]{glossaries}
% some acronyms
\newacronym{mimo}{MIMO}{Multiple Input Multiple Output}
\newacronym{miso}{MISO}{Multiple Input Single Output}
\newacronym{simo}{SIMO}{Single Input Multiple Output}
\newacronym{siso}{SISO}{Single Input Single Output}
\newacronym{cdma}{CDMA}{Code Division Multiple Access}
\newacronym{ofdm}{OFDM}{Orthogonal Frequency Division Multiplex}

% switch on glossaries
\makeglossaries

\begin{document}
\chapter{Notation}
\vspace{28\baselineskip}
% print list of acronyms
\glsaddall
\printglossary[type=\acronymtype,style=longheaderborder]
\end{document}
Ich habe mal 'longheaderborder' gewählt, damit das Problem deutlich wird: Eine Leerzeile am Anfang der Longtable auf der zweiten Seite, die von \glsgroupskip erzeugt wird.
Den Quellcode zu den longtable-Stilen habe ich mir schon angeschaut, da ich wie gesagt meinen Stil danach erstellt habe.
Einen möglichen Ansatz konnte ich aber nicht erkennen.
Die Frage ist ja einfach, wie man \glsgroupskip unterdrückt, wenn ein Seitenumbruch erfolgt.
Dateianhänge
groupskip.pdf
Nochmal das Ergebnis mit dem Stil 'longheaderborder'
(75.9 KiB) 679-mal heruntergeladen

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Ich glaube, das ist ziemlich ein komplexes Problem. Ich würde mich da jetzt einmal nicht drübertrauen - sorry.
Gruß, Sepp.-

Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

Beitrag von Apfeltasche »

Sepp99 hat geschrieben:Ich glaube, das ist ziemlich ein komplexes Problem.
Mir scheint es auch recht komplex, obwohl ich nicht wirklich viel von Latex-Interna verstehe. Vielleicht findet sich ein Könner, der die Herausforderung sucht :lol:

Apfeltasche
Forum-Century
Forum-Century
Beiträge: 113
Registriert: Mi 31. Aug 2011, 14:47

Beitrag von Apfeltasche »

Habe die Frage jetzt nochmal unter folgender Adresse gestellt:

http://tex.stackexchange.com/questions/ ... es-package

Antworten