Nummerierung bei eigener Umgebung
Verfasst: Di 9. Apr 2013, 12:36
Ich hab mir eine Umgebung mittels description definiert, die die fettgedruckten Wörter automatisch durchnummeriert, falls sie öfters vorkommen.
Dies funktioniert auch sehr gut, nur leider schaffe ich es nicht, dass eine 1 dazugeschreiben wird, wenn das Wort öfters vorkommt.
Zur besseren Verdeutlichung hier mal mein as-minimal-as-possible Beispiel:
Wie schon gesagt, wenn ein Begriff öfters vorkommt, wäre es toll, wenn dort automatisch eine 1 stehen würde.
Hat jemand ein paar Ideen, Lösungen, Hinweise, bin offen für alles?
Grüße
Epllus
PS. Mir ist leider keine bessere Überschrift eingefallen.
Dies funktioniert auch sehr gut, nur leider schaffe ich es nicht, dass eine 1 dazugeschreiben wird, wenn das Wort öfters vorkommt.
Zur besseren Verdeutlichung hier mal mein as-minimal-as-possible Beispiel:
\documentclass{scrartcl}
\usepackage{blindtext}
\makeatletter
\newcommand*{\ifundefined}[1]{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1\endcsname\relax
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}
% - - - - - - - - - - - - - - - - - - - - - -
\def\Tipps@item[#1]{% % % % % % % % % % % % % % % % % Verändert
\ifundefined{if#1T}{\expandafter\newif\csname if#1T\endcsname}{}%
\ifundefined{c@T#1}{\newcounter{T#1}}{}%
\csname if#1T\endcsname \else\setcounter{T#1}{1}\csname #1Ttrue\endcsname\fi
\if@noparitem
\@donoparitem
\else
\if@inlabel
\indent \par
\fi
\ifhmode
\unskip\unskip \par
\fi
\if@newlist
\if@nobreak
\@nbitem
\else
\addpenalty\@beginparpenalty
\addvspace\@topsep
\addvspace{-\parskip}%
\fi
\else
\addpenalty\@itempenalty
\addvspace\itemsep
\fi
\global\@inlabeltrue
\fi
\everypar{%
\@minipagefalse
\global\@newlistfalse
\if@inlabel
\global\@inlabelfalse
{\setbox\z@\lastbox
\ifvoid\z@
\kern-\itemindent
\fi}%
\box\@labels
\penalty\z@
\fi
\if@nobreak
\@nobreakfalse
\clubpenalty \@M
\else
\clubpenalty \@clubpenalty
\everypar{}%
\fi}%
\if@noitemarg
\@noitemargfalse
\if@nmbrlist
\refstepcounter\@listctr
\fi
\fi
\sbox\@tempboxa{\makelabel{#1}% % % % % % % % % % % % % % % % % Verändert
\ifnum\expandafter\the\csname c@T#1\endcsname=1 \relax%
\else%
~\expandafter\the\csname c@T#1\endcsname \fi:}%
\global\setbox\@labels\hbox{%
\unhbox\@labels
\hskip \itemindent
\hskip -\labelwidth
\hskip -\labelsep
\ifdim \wd\@tempboxa >\labelwidth
\box\@tempboxa
\else
\hbox to\labelwidth {\unhbox\@tempboxa}%
\fi
\hskip \labelsep}%
\ignorespaces\stepcounter{T#1}}
% - - - - - - - - - - - - - - - - - - - - - -
\def\Tippsitem{%
\@inmatherr\Tippsitem
\@ifnextchar [\Tipps@item{\@noitemargtrue \Tipps@item[\@itemlabel]}}
% - - - - - - - - - - - - - - - - - - - - - -
\newenvironment{Hinweis}{\let\item\Tippsitem%
\begin{description}}
{\end{description}}
\makeatother
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\begin{document}
\blindtext
\begin{Hinweis}
\item[Hinweis] $\leftarrow$ Hier sollte (automatisch) eine \textbf{1} hin
\item[Hinweis] Passt
\item[Hinweis] passt
\item[Achtung!!] Passt
\item[Hmmm] Passt
\end{Hinweis}
\blindtext
\begin{Hinweis}
\item[Hinweis] $\leftarrow$ Hier sollte (automatisch) eine \textbf{1} hin
\item[Hinweis] Text
\item[Vielleicht] Text
\item[Achtung!] $\leftarrow$ Hier sollte (automatisch) eine \textbf{1} hin
\item[Achtung!] Text
\item[Achtung!] Text
\item[odd] Text
\end{Hinweis}
\end{document}
Hat jemand ein paar Ideen, Lösungen, Hinweise, bin offen für alles?
Grüße
Epllus
PS. Mir ist leider keine bessere Überschrift eingefallen.