Seite 1 von 1

Text in Liste immer bis selbe position mit '.' auffüllen

Verfasst: Mi 18. Apr 2012, 12:59
von sowatt
Ich habe in meinem Dokument öfters Auflistungen der Form
\documentclass{article}

\begin{document} 

\begin{itemize}
\item x \dots\dots Beschreibung von x
\item xyz \dots\dots Beschreibung von xyz
\item xy \dots\dots Beschreibung von xy
\end{itemize}

\end{document}
Wie muss ich vorgehen, damit der beschreibende Text immer an der selben Stelle beginnt und der Raum dazwischen automatisch mit Punkten aufgefüllt wird?

Danke!

Verfasst: Fr 20. Apr 2012, 23:58
von esdd
Hallo,

eine Möglichkeit wäre die Nutzung von \makebox und \dotfill:
\documentclass{article}
\begin{document}

\begin{itemize}
  \item \makebox[2cm]{x \dotfill} Beschreibung von x
  \item \makebox[2cm]{xyz \dotfill} Beschreibung von xyz
  \item \makebox[2cm]{xy \dotfill} Beschreibung von xy
\end{itemize}

\end{document}
Gruß
Elke

Definition einer eigenen Liste

Verfasst: Sa 21. Apr 2012, 11:43
von localghost
Definiere dir eine eigene Listen-Umgebung, die genau das tut, was dir vorschwebt.
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
  Euro={€}
}

\newenvironment{xlist}[1][4em]{%
  \renewcommand*{\dotfill}{\leaders\hbox to 5pt{\hss.\hss}\hfill}
  \begin{list}{}{%
    \settowidth{\labelwidth}{\hspace{#1}}
    \setlength{\labelsep}{0pt}
    \setlength{\leftmargin}{\labelwidth}
    \addtolength{\leftmargin}{\labelsep}
    \setlength{\rightmargin}{0pt}
    \setlength{\parsep}{0.5ex plus 0.2ex minus 0.1ex}
    \setlength{\itemsep}{0.3ex plus 0.2ex}
    \renewcommand{\makelabel}[1]{##1\dotfill}
  }
}
{\end{list}}

\begin{document}
  \begin{xlist}
    \item[x] Beschreibung von x.
    \item[xy] Beschreibung von xy.
    \item[xyz] Beschreibung von xyz.
  \end{xlist}
\end{document}
Die neue Umgebung akzeptiert ein optionales Argument für die Laufweite der Punkte. Voreingestellt ist 4em, was Du global ändern kannst, in dem Du einen anderen Wert in der Definition der Liste setzt. Wenn Du das lokal ändern willst, gib der Umgebung eine Option mit.
\begin{xlist}[10em]
% Inhalt der Liste
\end{xlist}
Da Du ja scheinbar so eine Art Glossar oder Abkürzungsverzeichnis erstellen willst, solltest du dir mal Pakete wie acronym, nomencl, oder glossaries ansehen. Diese Pakete würde zusätzlich auch eine alphabetische Sortierung vornehmen. Letzteres unterstützt auch das Aussehen von Listen, wie Du es haben willst.


Thorsten

Verfasst: Sa 21. Apr 2012, 13:19
von sowatt
Danke für die Antworten!

Beide Ansätze funktionieren einwandfrei!


@localghost: Glossar erstelle ich keinen. Ich habe umfangreiche mathematische Formeln in meinem Dokument unter denen ich die Beschreibungen der verwendeten Variablen in dieser Form auflisten möchte