PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kein Abstand nach Aufzählung



Xenara
07-11-2010, 21:19
Hallo,

ich bastle mir einen eigenen Lebenslauf, bei dem ich bei bestimmten Einträgen Aufzählungen habe. Die mache ich mit compactitem, was prima klappt.

Das Problem ist, dass nach \end{compactitem} jeweils ein Zeilenumbruch stattfindet, der dann in einem grösseren Abstand zum nächsten Eintrag resultiert.
Daher dachte ich, ich könnte mir auf Basis von compactitem eine eigenen Umgebung definieren und dieser beibringen, dass theoretisch direkt in der gleichen Zeilen weitergeschrieben werden soll, wie bei inparaenum, nur kriege ich das nicht sinnvoll hin, weil sich alles mögliche verschiebt.

Es wird hoffentlich mit dem MB und dem Beispiel im Anhang etwas klarer:

\documentclass[DIV=14]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\usepackage{paralist}
% Kein Absatzeinzug!
\setlength{\parindent}{0pt}

% Aufzählung nie einrücken
\setdefaultleftmargin{1.5em}{0em}{0em}{0em}{0em}{0 em}% default: {2.5em}{2.2em}{1.87em}{1.7em}{1em}{1em}

\makeatletter
\newcommand\novspace{\@minipagetrue}
\makeatother

\newcommand*{\cventryb}[2]{%
\begin{tabular}{p{2cm}p{13cm}}%
#1 & #2%
\end{tabular}%
}

\usepackage{blindtext}
\begin{document}

% VERSUCH, EINE NEUE UMGEBUNG ZU DEFINIEREN
% Kopiert aus paralist.sty, und compactitem im mycompactitem umbenannt
%%%%%%%%%%%%%%%%%%%
\makeatletter
\def\mycompactitem{%
\ifnum\@itemdepth>\thr@@
\@toodeep
\else
\advance\@itemdepth\@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemde pth}%
\fi
\@ifnextchar[{\@itemlabel@{\@mycompactitem@}}{\@mycompactitem@} }
\def\@mycompactitem@{%
\@adjust@item@labelwidth
\expandafter\list\csname\@itemitem\endcsname{%
\parsep\plparsep
\itemsep\plitemsep
\topsep\pltopsep
\partopsep\plpartopsep
\labelwidth
\csname leftmargin\romannumeral\@listdepth\endcsname
\advance\labelwidth-\labelsep
\let\makelabel\itemlabel}}
\let\endmycompactitem\ignorespacesafterend%\endlis t wäre original
\makeatother
%%%%%%%%%%%%%%%%%%%5


\section{Mit compactitem}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb%
{Papers}%
{
\novspace%
\begin{compactitem}
\item Aufzählungspunkt blabla
\item Aufzählungspunkt blabla
\end{compactitem}
}

\cventryb%
{Poster}%
{
\novspace%
\begin{compactitem}
\item Aufzählungspunkt blabla
\item Aufzählungspunkt blabla
\end{compactitem}
}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb{cventryb}{Ohne Aufzählung}


\section{Mit mycompactitem}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb%
{Papers}%
{
\novspace%
\begin{mycompactitem}
\item Aufzählungspunkt blabla
\item Aufzählungspunkt blabla
\end{mycompactitem}
}

\cventryb%
{Poster}%
{
\novspace%
\begin{mycompactitem}
\item Aufzählungspunkt blabla
\item Aufzählungspunkt blabla
\end{mycompactitem}
}

\cventryb{cventryb}{Ohne Aufzählung}

\cventryb{cventryb}{Ohne Aufzählung}

\end{document}


Kann mir jemand auf die Sprünge helfen?
Ich bin auch offen für völlig andere Lösungsmöglichkeiten.

Viele Grüsse,
Xenara

voss
07-11-2010, 21:53
Ich bin auch offen für völlig andere Lösungsmöglichkeiten.



\documentclass[DIV=14]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

% Kein Absatzeinzug!
\setlength{\parindent}{0pt}

\newcommand*\cventryb[3][]{%
\begin{tabular}{p{2cm}l}%
#2 & \tabular[t]{@{\kern5pt\ifx\relax#1\relax\else\textbullet\kern 5pt\fi}p{13cm}@{}}
#3\endtabular
\end{tabular}%
\par}

\usepackage{blindtext}
\begin{document}


\section{Mit mir :-)}

\cventryb{cventryb}{Ohne Aufzählung}
\cventryb{cventryb}{Ohne Aufzählung}
\cventryb[1]%
{Papers}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt blabla}
\cventryb[1]%
{Poster}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt \blindtext}
\cventryb{cventryb}{Ohne Aufzählung}
\cventryb{cventryb}{Ohne Aufzählung}

\end{document}

Herbert

Xenara
07-11-2010, 22:23
Hallo Herbert,

vielen Dank für den Vorschlag, das sieht prima aus (auch wenn ich keinen Schimmer habe, wie man auf das @\kern... kommt, geschweige denn, was es genau bedeutet).
Zwei Fragen hätte ich noch:
- Wozu ist das optionale Argument gut? Es scheint keinen Einfluss zu haben, ob es 1 oder 10 ist.
- Was mache ich, wenn ich noch Text ausserhalb der Umgebung haben will? Z.B. am Ende der Aufzählung noch einen zusammenfassenden Satz?

Scheint kein allzu triviales Problem zu sein :(

voss
08-11-2010, 07:22
vielen Dank für den Vorschlag, das sieht prima aus (auch wenn ich keinen Schimmer habe, wie man auf das @\kern... kommt, geschweige denn, was es genau bedeutet).
Zwei Fragen hätte ich noch:
- Wozu ist das optionale Argument gut? Es scheint keinen Einfluss zu haben, ob es 1 oder 10 ist.
- Was mache ich, wenn ich noch Text ausserhalb der Umgebung haben will? Z.B. am Ende der Aufzählung noch einen zusammenfassenden Satz?


wenn ein optionales Argument da ist, dann wird einfach _*_ am Anfang
ausgegeben (_ steht für\kern15pt) und wenn kein Argument vorhanden
ist, gibt es keinen Bullet, sondern nur _

Es iszt egal, wie das optionale Argument aussieht, wenn man bullets haben will,
Hauptsache nicht leer.

Du kannst ein viertes Argument definieren, welches du dann mit
\multicolumn setzt.



\documentclass[DIV=14]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

% Kein Absatzeinzug!
\setlength{\parindent}{0pt}

\newcommand*\cventryb[4][]{%
\begin{tabular}{@{}p{2cm}l}%
#2 & \tabular[t]{@{\kern5pt\ifx\relax#1\relax\else\textbullet\kern 5pt\fi}p{13cm}@{}}
#3\endtabular
\ifx\relax#4\relax\else\\
\multicolumn{2}{@{}p{16cm}@{}}{#4}\fi
\end{tabular}%
\par}

\usepackage{blindtext}
\begin{document}


\section{Mit mir :-)}

\cventryb{cventryb}{Ohne Aufzählung}{}
\cventryb{cventryb}{Ohne Aufzählung}{}
\cventryb[1]%
{Papers}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt blabla}
{\blindtext}
\cventryb[1]%
{Poster}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt \blindtext}
{}
\cventryb{cventryb}{Ohne Aufzählung}{}
\cventryb{cventryb}{Ohne Aufzählung}{\blindtext}

\end{document}


Herbert

Xenara
08-11-2010, 07:38
Ok, langsam wird es etwas klarer. Mit dem Text ausserhalb der Aufzählung hatte ich mich unklar ausgedrückt, er sollte in der gleichen Spalte bleiben, aber ohne Aufzählungspunkt (in der ersten Spalte stehen Daten etc.)

Das habe ich so gelöst bekommen:


\documentclass[DIV=14]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

% Kein Absatzeinzug!
\setlength{\parindent}{0pt}

\newcommand*\cventryb[4][]{%
\begin{tabular}{@{}p{2cm}p{10cm}}%
#2 & \tabular[t]{@{\kern5pt\ifx\relax#1\relax\else\textbullet\kern 5pt\fi}p{13cm}@{}}
#3
\endtabular\\
\ifx\relax#4\relax\else
& #4\fi
\end{tabular}%
\par}

\usepackage{blindtext}
\begin{document}


\section{Mit mir :-)}

\cventryb{cventryb}{Ohne Aufzählung}{}

\cventryb{cventryb}{Ohne Aufzählung}{}

\cventryb[1]%
{Papers}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt blabla}
{\blindtext}

\cventryb[1]%
{Poster}%
{Aufzählungspunkt blabla \\
Aufzählungspunkt \blindtext}
{}
\cventryb{cventryb}{Ohne Aufzählung}{}
\cventryb{cventryb}{Ohne Aufzählung}{\blindtext}

\end{document}



Mir ist aber auf deiner Basis noch eingefallen, dass ich ja eigentlich daraus auch ein newenvironment basteln könnte. Damit bin ich noch flexibler, als wenn die Auflistung im \cventry eingebaut ist:


\documentclass[DIV=14]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

% Kein Absatzeinzug!
\setlength{\parindent}{0pt}

\newcommand*\cventryb[3][]{%
\begin{tabular}{p{2cm}p{10cm}}%
#2 & \raggedright #3% \raggedright ist aus irgendwelchen Gründen auch dafür zuständig, dass es bei einem \\ in der gewünschten nächten Zeile weitergeht, und nicht in der ersten Spalte.
\end{tabular}}

\newenvironment{mytab}%
{\tabular[t]{@{\kern5pt\ifx\relax1\relax\else\textbullet\kern5 pt\fi}p{13cm}@{}}}
{\endtabular}

\begin{document}

\section{Mit mir :-)}

\cventryb{1. cventryb}{Ohne Aufzählung. \\ Noch eine Zeile.}

\cventryb{2. cventryb}{Ohne Aufzählung}

\cventryb[1]%
{Papers}%
{Etwas Text vor der Aufzählung mit Text.
\begin{mytab}
Aufzählungspunkt\\
Noch ein Aufzählungspunkt.
\end{mytab}
Text nach der Aufzählung.\\
Mehr Text in der nächsten Zeile.
}

\cventryb[1]%
{Poster}%
{\begin{mytab}
Aufzählungspunkt blabla\\
Aufzählungspunkt\\
Aufzählungspunkt
\end{mytab}%
}

\cventryb{cventryb}{Weiter gehts ohne Aufzählung.}

\end{document}

Muss es heute Abend noch im richtigen Dokument testen, aber soweit siehts schonmal vielversprechend aus. Nur was ich nicht kapiere ist der Einfluss von \raggedright. Wenn man es weglässt, wird in der ersten Spalte weitergeschrieben, mit in der zweiten (was richtig ist).

Xenara
08-11-2010, 10:10
Trotzdem würde mich interessieren, wie es mit compactitem funktionieren würde, wie bekommt man da die Abstände weg?
Das wäre nämlich das aller-einfachste, man müsste sich dann auch nicht an eine neue Umgebung gewöhnen.