vor und nach \item

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: vor und nach \item

vor und nach \item

von MoonKid » Fr 7. Feb 2014, 23:38

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.

Nach oben