Problem bei Verwendung von listliketab (Abstand zu groß)

Schriftbild, Absätze und Auflistungen einstellen


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Problem bei Verwendung von listliketab (Abstand zu groß)

Beitrag von Seban »

Hallo zusammen,

Ich möchte in einer itemize-Liste Tabstops verwenden. Da das nicht geht, habe ich es mit listliketab versucht.
http://ftp.fau.de/ctan/macros/latex/con ... iketab.pdf

Das Problem: Der Abstand nach der Liste ist entweder zu groß oder aber die erste Zeile wird komisch formatiert. Im Idealfall ist der Abstand so groß wie bei verwendung einer itemize-Liste. Leider reichen meine LaTeX-Kenntnisse noch nicht aus, den entsprechenden Befehl des Pakets zu finden und zu ändern.

Kann mir jemand helfen?

Grüße & vielen Dank,
Seban

\documentclass[parskip]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{amssymb}
\usepackage{listliketab}
\usepackage{tabularx}

\begin{document}

Abstand zu groß:\\
\storestyleof{itemize}
\begin{listliketab}
	\begin{tabularx}{\textwidth}{Lp{3cm}X}
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Haushund	& Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.\\
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Katze	& Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.\\
	\end{tabularx}
\end{listliketab}

Lasse ich im Code eine Zeile frei, ist der Abstand leider zu groß. Im Idealfall wäre der Abstand gleich groß wie bei der Verwendung von itemize.


Erste Zeile seltsam formatiert:\\
\storestyleof{itemize}
\begin{listliketab}
	\begin{tabularx}{\textwidth}{Lp{3cm}X}
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Haushund	& Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.\\
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Katze	& Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.\\
	\end{tabularx}
\end{listliketab}
Wenn ich diesen Text im Code unmittelbar auf die listliketab-Umgebung folgen lasse, wird die erste Zeile unvorteilhaft formatiert.

\end{document}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

\documentclass[parskip=true]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
	adieresis={ä},
	germandbls={ß}
}
\usepackage{blindtext}

\begin{document}
\blindtext

\begin{labeling}{Katze}
\item [Hund] Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.
\item [Katze] Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.
\end{labeling}

\blindtext

\begin{description}
\item [Hund] Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.
\item [Katze] Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.
\end{description}
\blindtext
\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke für deine Hilfe, Johannes.

An labeling hatte ich auch gedacht, allerdings muss man dann noch die Abstände anpassen, da sie anders sind als bei Verwendung von itemize. Ich weiß leider nicht wie. Mit listliketab erschien mir das deswegen einfacher.

Vor dem Aufzählunsgzeichen, zw. dem Aufzählungszeichen und dem Label-Text und zw. den einzelnen Punkten vertikal sind die Abstände anders als bei itemize/listliketab. Der Abstand zw. Label und Text ist nicht so wichtig, diesen wählt man bei listliketab ja auch "per Hand".

Wie kann man das anpassen?

\documentclass[parskip]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
   adieresis={ä},
   germandbls={ß}
}
\usepackage{amssymb}
\usepackage{listliketab}
\usepackage{tabularx}
\usepackage{blindtext}


\begin{document}

\storestyleof{itemize}
\begin{listliketab}
	\begin{tabularx}{\textwidth}{Lp{3cm}X}
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Haushund	& Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.\\
		\raisebox{.1em}{\tiny{$\blacksquare$}} & Katze	& Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.\\
	\end{tabularx}
\end{listliketab}


\begin{labeling}{\raisebox{.1em}{\hspace{.5cm}\tiny{$\blacksquare$}} Haushund\hspace{1cm}}
	\item [\hspace{.5cm}\raisebox{.1em}{\tiny{$\blacksquare$}} Haushund\hspace{1cm}] Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.
	\item [\hspace{.5cm}\raisebox{.1em}{\tiny{$\blacksquare$}} Katze\hspace{1cm}] Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.
\end{labeling}

\end{document}

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

Beitrag von esdd »

Wenn unbedingt alles wie bei itemize sein soll, dann ist hier mal noch ein Vorschlag:
\documentclass[parskip]{scrreprt} 

\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage{selinput} 
\SelectInputMappings{adieresis={ä},germandbls={ß}} 
\usepackage{amssymb}

\usepackage{calc}

\newlength\WL
\newenvironment{myitemize}[1]{%
  \renewcommand\labelitemi{\raisebox{.1em}{\tiny{$\blacksquare$}}}%
  \setlength\WL{\widthof{#1}}\begin{itemize}%
  }{\end{itemize}}
\newcommand\myitem[2]{\item #1 \hfill \parbox[tt]{\linewidth-\WL}{#2}}

\usepackage{blindtext}

\begin{document} 
\blindtext
\begin{myitemize}{Haushund\qquad}
  \myitem{Haushund}{Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.}
  \myitem{Katze}{Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.}
\end{myitemize}
\blindtext
\end{document}
Gruß
Elke

Besserwisser

Beitrag von Besserwisser »

esdd hat geschrieben:\setlength\WL{\widthof{#1}}
Warum nicht einfach mit der LaTeX-Anweisung \settowidth:
\settowidth\WL{#1}
?

Damit spart man sich das Paket calc …

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

Beitrag von esdd »

Mit \settowidth hast du natürlich recht, schon weil man dafür weniger tippen muss ;-)

Aber um auf calc wirklich verzichten zu können, muss außerdem
\parbox[tt]{\linewidth-\WL}{#2}
zu
\parbox[tt]{\dimexpr\linewidth-\WL\relax}{#2}
geändert werden.

Die Alternative ohne calc wäre also
\documentclass[parskip]{scrreprt} 

\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage{selinput} 
\SelectInputMappings{adieresis={ä},germandbls={ß}} 
\usepackage{amssymb} 

\newlength\WL 
\newenvironment{myitemize}[1]{% 
   \renewcommand\labelitemi{\raisebox{.1em}{\tiny{$\blacksquare$}}}% 
   \settowidth\WL{#1}\begin{itemize}% 
   }{\end{itemize}} 
\newcommand\myitem[2]{\item #1 \hfill \parbox[tt]{\dimexpr\linewidth-\WL\relax}{#2}} 

\usepackage{blindtext} 

\begin{document} 
\blindtext 
\begin{myitemize}{Haushund\qquad} 
   \myitem{Haushund}{Der Haushund ist ein Haustier und wird als Heim- und Nutztier gehalten.} 
   \myitem{Katze}{Die Hauskatze ist ein fleischfressendes, zur Familie der Katzen gehörendes Säugetier.} 
\end{myitemize} 
\blindtext 
\end{document}
Gruß
Elke

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke für eure Hilfe! Der Vorschlag von Elke klappt wunderbar.


2 Fragen habe ich noch:
@Elke: Mir ist jetzt mehrfach aufgefallen, dass du hinter manche Code-Zeilen ein % einfügst. Wenn ich das richtig erkannt habe, immer wenn Befehle umgebrochen werden. Machst du das per Hand oder macht das dein Editor automatisch?

@Johannes: Du hast
\usepackage[ansinew]{inputenc} 
durch
\usepackage{selinput}
\SelectInputMappings{
   adieresis={ä},
   germandbls={ß}
} 
ersetzt. Darf ich fragen warum?

Viele Grüße,
Seban

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

Beitrag von esdd »

Das Paket selinput erkennt mit Hilfe der in \SelectInputMappings angegebenen Beispiele die verwendete Kodierung halbautomatisch. Das Beispiel läuft dann sowohl bei denjenigen, die es utf8 kodiert abspeichern als auch bei dir mit ansi Kodierung.

Infos zu den Prozentzeichen findest du zum Beispiel unter Was sollen die % Zeichen am Ende der Zeilen? oder unter Signifikante Leerzeichen

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke =)

Antworten