vor und nach \item

Schriftbild, Absätze und Auflistungen einstellen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

vor und nach \item

Beitrag von MoonKid »

Ich möchte entscheiden, was vor und nach einem \item innerhalb einer Liste passiert. Was vor dem Item kommt, kann ich ja mit der label-Option regeln. Aber für danach scheint es nichts zu geben.

Also habe ich workaround-mäßig mal das hier gemacht, was auch so erstmal läuft.
% item.tex
\documentclass{scrartcl}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\newcommand{\myitem}[1]{\item \mybeforeitem#1\myafteritem}
\newcommand{\mybeforeitem}{NixDavor}
\newcommand{\myafteritem}{NixDanach}

\newenvironment{myeA} {%
    \renewcommand{\mybeforeitem}{Before}
    \renewcommand{\myafteritem}{After}
    \begin{list}{}{}} {%
    \end{list}
}

\newenvironment{myeB} {%
    \renewcommand{\mybeforeitem}{Davor}
    \renewcommand{\myafteritem}{Danach}
    \begin{list}{}{}} {%
    \end{list}
}

\begin{document}
\begin{myeA}
    \myitem{-Item1-}
    \myitem{-Item2-}
\end{myeA}

\begin{myeB}
    \myitem{-Item1-}
    \myitem{-Item2-}
\end{myeB}
\end{document}
Interessieren würde mich eure Meinung zu dieser Lösung. Geht es auch eleganter?

Ist es evtl. möglich, dass ein Makro herausfindet, ob und in welchem environment es aktuell arbeitet? Dann bräuchte ich nicht so komplizierte Environments und redefinitonen machen, sondern baue in \myitem einfach eine entsprechende if-Abfrage.
XeLaTeX, TeX Live, vim-latexsuite