PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstände in eigener listenartiger Umgebung



rubyd
19-08-2008, 12:44
Schönen Guten Tag zusammen,

ich habe gerade ein Problem mit einer selbstgestrickten Umgebung ("List"),
das mich etwas ratlos macht.

Kurz die gewünschte Funktionsweise erläutert:
Es soll eine Definitions-artige Liste erstellt werden, mit hart-verdrahteten
Breiten der beiden "Spalten" ("Begriff" und "Definition"). Nach jedem
Eintrag soll eine horizontale Linie ausgegeben werden. (Das angehängte PDF
sollte einen Eindruck geben; bis auf die Kleinigkeit, die mir Probleme
bereitet, stimmt das Layout schon.)

Mein Problem: Der Abstand der Linie zum vorangehenden Text. Im PDF achte
man auf den enorm großen Abstand bei Zeilen mit nicht-umgebrochenem Inhalt
(z. B. die zweite) im Vergleich zum sehr kleinen bei der einen langen Zeile
("Phasellus...").

Wo kommt die Diskrepanz her? Welche Längen spielen hier mit herein?

Es scheint mir einen Mindestabstand von der Oberkante der minipages zur
nächsten Zeile zu geben, mit baselineskip herumzuspielen hat allerdings gar
nichts gebracht.

Wer kann mich erleuchten? Danke!
----Daniel

Im Anhang:

ListTest.txt -- Beispiel-Quellcode (Endung zum Anhängen von .tex nach .txt geändert)
ListTest.pdf -- mit pdflatex gerendertes Beispiel

edico
19-08-2008, 22:13
Ich will nicht auf Deine Lösung, damit auf Deine Fragen eingehen, halte ich doch nach bisherigem Verständnis den Lösungsansatz 'einfacher' mit einer Tabelle umgesetzt. Exakte Abstände, Farben etc. sind wunschgemäss anzupassen.



\NeedsTeXFormat{LaTeX2e}
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\newcommand{\ListItem}[2]{%
\noindent{}%
\setlength{\fboxsep}{0pt}%
\colorbox[rgb]{1.0,0.95,0.95}{%
\begin{minipage}[t]{0.3\textwidth}%
{#1}%
\end{minipage}%
}%
\colorbox[rgb]{0.95,1.0,0.95}{%
\begin{minipage}[t]{0.7\textwidth}%
{#2}%
\end{minipage}%
}%
\\%
{\color[rgb]{0.8,0.6,0.6}\rule{\textwidth}{2pt}}%
\linebreak[4]%
}
\newcommand{\Item}[2]{}%
\newenvironment{List}{%
\renewcommand{\Item}{\ListItem}%
}
{}

\usepackage{lipsum}% just_4_demo
\usepackage{tabularx,array,booktabs,ragged2e,calc}
\usepackage[table]{xcolor}
\newcommand\tc[1]{%
% \rowcolor{green!5}\multicolumn{1}{l}{\cellcolor{re d!5} #1}}
\rowcolor{green!5}\multicolumn{1}{p{.25\linewidth} }{\cellcolor{red!5} #1}}
\renewcommand{\arraystretch}{1.4}
\newcommand{\Mline}{\midrule[1.75pt]}
\arrayrulecolor[rgb]{.736,.56,.56}%%.94,.5,.5%%.912,.59,.48%%0.6,0.4,0 .4

\def\txt{sagittis, ipsum et ultricies ultricies, mauris
magna placerat massa, et elementum purus nunc at ligula. Nulla
diam. Ut at dui. Etiam vitae ipsum. Nullam leo. Curabitur
eleifend, diam quis euismod congue, nulla enim molestie urna, eu
bibendum lectus mi a nibh.}

\begin{document}

\lipsum[1]

\bigskip
\begin{List}
\Item{Nulla}{diam.}%
\Item{Ut}{at dui.}%
\Item{Phasellus}{\txt}
\Item{Aenean}{sit amet purus.}
\end{List}

\lipsum[2]


\bigskip
\noindent
\begin{tabularx}{\linewidth}{lX}
\tc{Nulla} & diam.\\\Mline
\tc{Ut} & at dui.\\\Mline
\tc{Phasellus} & \txt \\\Mline
\tc{Aenean} & sit amet purus\\\Mline
\end{tabularx}

\end{document}


edico

rubyd
20-08-2008, 08:49
Hi edico,
Danke für die umfangreiche Antwort. Der Grund, aus dem ich mich gegen eine Lösung mit Tabelle entschieden habe, ist, dass ich den Trenner (im Beispiel das \rule) variabel halten möchte (also nicht einfach eine farbige Linie, sondern irgendein frei konfigurierbares Konstrukt).

Wenn ich das mit einer tabularx hinkriegen könnte, wäre ich natürlich auch glücklich.

Aber es fuchst mich schon auch, dass ich keine Ahnung habe, welcher Abstand mir mein eigenes Layout zerhagelt. Da hast Du auch keine vage Idee, in welcher Richtung ich mal gucken könnte?

Besten Gruß
----Daniel