Eintrag im Abkürzungsverzeichnis ragt zu weit

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


Tassadar
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 6. Sep 2017, 00:25

Eintrag im Abkürzungsverzeichnis ragt zu weit

Beitrag von Tassadar »

Hallo alle zusammen,

ich habe ein Problem mit der Darstellung des Abkürzungsverzeichnisses. Ich verwende das Paket acronym und komme im Prinzip auch gut zurecht. \acfia musste ich umdefinieren, da \acfi sonst nicht den token auslöst, aber das ist jetzt nicht wichtig.

Mir ist gerade aufgefallen, dass ein besonders langer Eintrag im Abkürzungsverzeichnis umgebrochen werden muss. Passiert auch. Aber leider wird der Eintrag so spät umgebrochen, dass er in den Bereich rein ragt, wo die Seitenzahlen aufgelistet werden. Das sieht natürlich sehr unschön aus.

Ich habe leider keine Möglichkeit gefunden da irgendetwas umzustellen und hoffe darauf, dass hier jemand ist der mir mit dem Problem helfen kann.

Hier das MWE:

Code: Alles auswählen

\documentclass[
paper=A4, 
12pt, 
]{scrartcl}

% Sprach- und Schrifteinstellungen
\usepackage[ngerman]{babel}		% Spracheinstellung
\usepackage[utf8]{inputenc}		% deutsche Umlaute
\usepackage[T1]{fontenc}		% Trennung bei deutschen Umlauten
\renewcommand*\familydefault{\sfdefault} % Serifenlose Schrift
\usepackage[babel,german=quotes]{csquotes}
\usepackage{textcomp}
%\usepackage{uarial}
\usepackage{upgreek}

% Seitenränder
\usepackage[left=25mm, right=25mm, top=20mm, bottom=20mm]{geometry}	

% Abkürzungsverzeichnis
\usepackage[printonlyused,withpage]{acronym}
\makeatletter
\renewcommand{\acfia}[1]{%
	{\itshape\AC@placelabel{#1}\AC@acl{#1}\nolinebreak[3] }(\ifAC@starred\acs*{#1}\else\acs{#1}\fi)%
}
\makeatother

\begin{document}
    \addsec{Abkürzungsverzeichnis}
    \begin{acronym}[ICD-10]
    	\acro{ICD-10}{International Statistical Classification of Diseases and Related Health Problems, 10. Revision}
    	\acro{DSM-5}{Diagnostic and Statistical Manual of Mental Disorders, 5. Revision}
    	\acro{PTBS}{posttraumatische Belastungsstörung}
    \end{acronym}
    \section{test}
    \setcounter{page}{16}
    \acfi{ICD-10}\\
    \ac{ICD-10}\\
    \ac{DSM-5}\\
    \ac{PTBS}
\end{document}
Vielen Dank schon mal im Voraus!

oft gesehener

Beitrag von oft gesehener »

Endlich macht mal einer ein brauchbares Minimalbeispiel.

Bei arconym ist acronym keine Tabelle, sondern einfach eine Liste. Eigentlich ist da nicht vorgesehen, dass die Seitenzahlen eine Art Spalte darstellen. Man kann allenfalls durch patchen die Breite der Liste reduzieren und dann die Seitenzahl außerhalb der Liste setzen lassen:

Code: Alles auswählen

\documentclass[
paper=A4,
12pt,
]{scrartcl}

% Sprach- und Schrifteinstellungen
\usepackage[ngerman]{babel}      % Spracheinstellung
\usepackage[utf8]{inputenc}      % deutsche Umlaute
\usepackage[T1]{fontenc}      % Trennung bei deutschen Umlauten
\renewcommand*\familydefault{\sfdefault} % Serifenlose Schrift
\usepackage[babel,german=quotes]{csquotes}
\usepackage{textcomp}
%\usepackage{uarial}
\usepackage{upgreek}

% Seitenränder
\usepackage[left=25mm, right=25mm, top=20mm, bottom=20mm]{geometry}  

% Abkürzungsverzeichnis
\usepackage[printonlyused,withpage]{acronym}
\usepackage{xpatch}
\makeatletter
\renewcommand{\acfia}[1]{%
  {\itshape\AC@placelabel{#1}\AC@acl{#1}\nolinebreak[3] }(\ifAC@starred\acs*{#1}\else\acs{#1}\fi)%
}
\newlength{\acropagenumberwidth}
\AtBeginDocument{\settowidth{\acropagenumberwidth}{ 123}}% Platz für
                                % dreistellige Seitenzahlen
\xpatchcmd{\AC@@acro}{%
  \dotfill\pageref{acro:#1}%
}{%
  \dotfill\makebox[\acropagenumberwidth][r]{\pageref{acro:#1}}%
}{}{\PatchFailUre}
\xpatchcmd{\AC@deflist}{%
  \addtolength{\leftmargin}{\labelsep}%
}{%
  \addtolength{\leftmargin}{\labelsep}%
  \addtolength{\rightmargin}{\acropagenumberwidth}%
}{}{\PatchFailUre}
\makeatother

\begin{document}
    \addsec{Abkürzungsverzeichnis}
    \begin{acronym}[ICD-10]
       \acro{ICD-10}{International Statistical Classification of Diseases and Related Health Problems, 10. Revision}
       \acro{DSM-5}{Diagnostic and Statistical Manual of Mental Disorders, 5. Revision}
       \acro{PTBS}{posttraumatische Belastungsstörung}
    \end{acronym}
    \section{test}
    \setcounter{page}{16}
    \acfi{ICD-10}\\
    \ac{ICD-10}\\
    \ac{DSM-5}\\
    \ac{PTBS}
\end{document}
BTW: Eigentlich gehören fremdsprachliche Einträge per \foreignlanguage o. ä. markiert, damit babel korrekt damit umgehen kann. Siehe dazu die babel-Anleitung. Also:

Code: Alles auswählen

\documentclass[12pt]{scrartcl}% paper=a4 ist ohnehin die Voreinstellung

% Sprach- und Schrifteinstellungen
\usepackage[main=ngerman,english]{babel}      % Spracheinstellung
\usepackage[utf8]{inputenc}      % bei aktuellen LaTeX überflüssig
\usepackage[T1]{fontenc}      % Trennung bei deutschen Umlauten
\renewcommand*\familydefault{\sfdefault} % Serifenlose Schrift für mehr als ein paar Sätze unbrauchbar
\usepackage[babel,german=quotes]{csquotes}
\usepackage{textcomp}
%\usepackage{uarial}% Der schlimmste Arial-Clone, den man finden kann.
\usepackage{upgreek}

% Seitenränder möglichst furchtbar gewählt
\usepackage[left=25mm, right=25mm, top=20mm, bottom=20mm]{geometry}  

% Abkürzungsverzeichnis
\usepackage[printonlyused,withpage]{acronym}
\usepackage{xpatch}
\makeatletter
\renewcommand{\acfia}[1]{%
  {\itshape\AC@placelabel{#1}\AC@acl{#1}\nolinebreak[3] }(\ifAC@starred\acs*{#1}\else\acs{#1}\fi)%
}
\newlength{\acropagenumberwidth}
\AtBeginDocument{\settowidth{\acropagenumberwidth}{ 123}}% Platz für
                                % dreistellige Seitenzahlen
\xpatchcmd{\AC@@acro}{%
  \dotfill\pageref{acro:#1}%
}{%
  \dotfill\makebox[\acropagenumberwidth][r]{\pageref{acro:#1}}%
}{}{\PatchFailUre}
\xpatchcmd{\AC@deflist}{%
  \addtolength{\leftmargin}{\labelsep}%
}{%
  \addtolength{\leftmargin}{\labelsep}%
  \addtolength{\rightmargin}{\acropagenumberwidth}%
}{}{\PatchFailUre}
\makeatother

\begin{document}
    \addsec{Abkürzungsverzeichnis}
    \begin{acronym}[ICD-10]
       \acro{ICD-10}{\foreignlanguage{english}{International Statistical Classification of Diseases and Related Health Problems}, 10. Revision}
       \acro{DSM-5}{\foreignlanguage{english}{Diagnostic and Statistical Manual of Mental Disorders}, 5. Revision}
       \acro{PTBS}{posttraumatische Belastungsstörung}
    \end{acronym}
    \section{test}
    \setcounter{page}{16}
    \acfi{ICD-10}\\
    \ac{ICD-10}\\
    \ac{DSM-5}\\
    \ac{PTBS}
\end{document}
Es gibt übrigens modernere Pakete als acronym bei acro und glossaries oder glossaries-extras hat man mehr Einfluss auf die Darstellung und kann auch tabellarische Darstellungen wählen.

Antworten