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

Schriftbild, Absätze und Auflistungen einstellen


sowatt
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 11. Apr 2012, 13:22

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

Beitrag 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!

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Definition einer eigenen Liste

Beitrag 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
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

sowatt
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 11. Apr 2012, 13:22

Beitrag 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

Antworten