PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine Frage guten Stils: Glossaries, KOMA (scrbook) und style=list



ElEsido
28-08-2009, 15:03
Hallo

Bei meinem Abkürzungsverzeichnis mit glossaries in scrbook stellt sich das folgende Problem: Die Abkürzungen stehen nicht am selben linken Textrand wie der Haupttext und brechen sich nicht am rechten Textrand wie der Haupttext um. Vgl. den Einzug und den Umbruch auf S. ii des folgenden MB (bei der Abkürzung "ComCom"). Diese Darstellung habe ich mit Herumspielen mit dem Befehl

\setlength{\glsdescwidth}{0.85\linewidth}
erhalten, aber es kann doch nicht sein, dass man sich an eine akzeptable Tabellenbreite heranpröbeln muss und nicht einfach die Textbreite der Dokuklasse übernimmt? Deshalb die

FRAGE:
Weiss jemand, wie der linke und rechte Rand des Abkürzungsverzeichnisses gleich wie beim Haupttext gestaltet werden kann?


\documentclass[% Vgl. http://www.matthiaspospiech.de/latex/vorlagen/allgemein/#toc-klasse-koma-script
draft,% Entwurfsmodus
11pt,%
paper=a4,%
twoside=false,%
cleardoublepage=empty,%
parskip= full,%
headings=small,%
headinclude=true,% true=Kopf zum Satzspiegel rechnen
footinclude=false,% true=Fuss zum Satzspiegel rechnen
headsepline=true,%
numbers=noenddot,%
ngerman,% wird an andere Pakete weiter gereicht
pagesize,%
]{scrbook}
\usepackage{blindtext}
\usepackage[ngerman]{babel} % Deutsche Sprache (neue Rechtschreibung)
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[%
xindy,%
nonumberlist,%
acronym=true,%
shortcuts,%
section=chapter,%
numberline,%
sanitize=none,%
]{glossaries}
\makeglossaries
\glossarystyle{long}
\renewcommand*{\glsgroupskip}{}

\newacronym{1}{Abk.}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque. Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum turpis accumsan semper. Dies i Eidgenössische Kommunikationskommission, ebenfalls eine sehr lange Abkürzung, die über die Zeile hinaus reichen kann (ComCom) Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Diese Abkürzung wurde absichtlich so lange verfasst, um das Problem des späten Zeilenwechsels illustrieren zu können}

\newacronym{comcom}{ComCom}{Eidgenössische Kommunikationskommission, ebenfalls eine sehr lange Abkürzung, die über die Zeile hinaus reichen kann. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.}


\begin{document}
\frontmatter
\addcontentsline{toc}{verzeichnissection}{Abkürzun gsverzeichnis}
\setlength{\glsdescwidth}{0.85\linewidth} % macht eine breitere Tabellenspalte f. Beschreibung
\printglossary[%
type=acronym,%
title=Abkürzungsverzeichnis,%
toctitle=Abkürzungsverzeichnis,%
]
\mainmatter
\chapter{Test}
\blindtext\ \gls{1} \gls{comcom}
\end{document}

Danke für jede Hilfe!
ElEsido

mechanicus
28-08-2009, 16:02
nicht einfach die Textbreite der Dokuklasse übernimmt? Deshalb die

FRAGE:
Weiss jemand, wie der linke und rechte Rand des Abkürzungsverzeichnisses gleich wie beim Haupttext gestaltet werden kann?

Hallo,

die Umgebung ist ja nichts anderes als eine longtable-Umgebung mit einer l und einer p-Spalte. Somit kannst du nur die p-Spalte beeinflussen. Der einfachst weg ist es, die Umgebung zu redefinieren.

Das Problem des Seitenrandes habe ich nicht, wie das Paket showframe zeigt:


\documentclass[% Vgl. http://www.matthiaspospiech.de/latex/vorlagen/allgemein/#toc-klasse-koma-script
draft,% Entwurfsmodus
11pt,%
paper=a4,%
twoside=false,%
cleardoublepage=empty,%
parskip= full,%
headings=small,%
headinclude=true,% true=Kopf zum Satzspiegel rechnen
footinclude=false,% true=Fuss zum Satzspiegel rechnen
headsepline=true,%
numbers=noenddot,%
ngerman,% wird an andere Pakete weiter gereicht
pagesize,%
]{scrbook}
\usepackage{blindtext}
\usepackage[ngerman]{babel} % Deutsche Sprache (neue Rechtschreibung)
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[%
xindy,%
nonumberlist,%
acronym=true,%
shortcuts,%
section=chapter,%
numberline,%
sanitize=none,%
]{glossaries}
\makeglossaries
\glossarystyle{long}
\renewcommand*{\glsgroupskip}{}

\newacronym{1}{Abk.}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque. Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum turpis accumsan semper. Dies i Eidgenössische Kommunikationskommission, ebenfalls eine sehr lange Abkürzung, die über die Zeile hinaus reichen kann (ComCom) Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Diese Abkürzung wurde absichtlich so lange verfasst, um das Problem des späten Zeilenwechsels illustrieren zu können}

\newacronym{comcom}{ComCom}{Eidgenössische Kommunikationskommission, ebenfalls eine sehr lange Abkürzung, die über die Zeile hinaus reichen kann. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.}
\usepackage{showframe}
\usepackage{ragged2e,calc}
\renewenvironment{theglossary}%
{\begin{longtable}{@{}p{\textwidth-\glsdescwidth-2\tabcolsep} p{\glsdescwidth}@{}}}%
{\end{longtable}}
\begin{document}
\frontmatter
\addcontentsline{toc}{verzeichnissection}{Abkürzun gsverzeichnis}
\setlength{\glsdescwidth}{0.85\linewidth} % macht eine breitere Tabellenspalte f. Beschreibung
\begingroup
% \setlength{\tabcolsep}{0pt}
\printglossary[%
type=acronym,%
% style=LONG,%
title=Abkürzungsverzeichnis,%
toctitle=Abkürzungsverzeichnis,%
]
\endgroup
\mainmatter
\chapter{Test}
\blindtext\ \gls{1} \gls{comcom}
\end{document}

Gruß
Marco

bobmalaria
28-08-2009, 16:03
hi,

am besten schaust du dir mal die definition zu deinem stil 'long' an. da wird doch eine longtable gesetzt. vermutich ist darin noch arraycolsep enthalten und deshalb fängt die geschichte nicht ganz genau am linken rand an. mit @{} solltest du das aber wegbekommen. du kannst dann den stil auch dahingehend abändern das du p-spalten mit definierter länge als bruchteil der textbreite definierst.

gruss

EDIT: ups, hast du ja schon gemacht, man sollte schon genau hinsehen. kannst du aber nicht die p-spalten-breiten anders definieren?

mechanicus
28-08-2009, 16:10
Hallo,



EDIT: ups, hast du ja schon gemacht, man sollte schon genau hinsehen. kannst du aber nicht die p-spalten-breiten anders definieren?
habe ich doch:

\renewenvironment{theglossary}%
{\begin{longtable}{@{}p{\textwidth-\glsdescwidth-2\tabcolsep} p{\glsdescwidth}@{}}}%
{\end{longtable}}
oder wie meinst du das. So ist gewährleistet, dass sie genau die Breite des Textes hat.

Gruß
Marco

ElEsido
28-08-2009, 16:22
Super, vielen Dank!

Der Code

\makeatletter
\renewenvironment{theglossary}%
{\begin{longtable}{@{}p{\textwidth-\glsdescwidth-2\tabcolsep} p{\glsdescwidth}@{}}}%
{\end{longtable}}
\makeatother
definiert den linken und den rechten Rand und mit

\setlength{\glsdescwidth}{0.86\linewidth} kann man den Platz der Beschreibung so richten, dass der Abstand zwischen der Beschreibung und den Kurzbezeichnungen passt.

Danke!