
Die \newcounter{<counter-name>}[<outer-counter>]
Befehle definieren einen neuen Zähler. Beispielsweise \newcounter{example}[section]
erstellt der Befehl einen neuen Zähler namens example
, der jedes Mal zurückgesetzt wird, wenn derAbschnittZähler wird erhöht.
Aber fürAbsatzZähler, der \newcounter{<counter-name>}[paragraph]
funktioniert nicht.
Hier ist das MWE:
\documentclass{article}
\newcounter{sentencenum}[paragraph]
\newcommand{\sno}[0]{\refstepcounter{sentencenum}$_{\arabic{sentencenum}}$}
\begin{document}
\sno{}Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\sno{}Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis. Curabitur dictum gravida mauris.
\sno{}Nam arcu libero, nonummy eget, consectetuerid, vulputate a, magna.
\sno{}Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus etnetus et malesuada fames ac turpis egestas.
\sno{}Mauris ut leo. Cras viverra metus rhoncus sem.
\sno{}Nulla et lectusvestibulum urna fringilla ultrices.
\sno{}Phasellus eu tellus sit amet tortor gravida placerat.
\sno{}Integer sapien est,iaculis in, pretium quis, viverra ac, nunc.
\sno{}Praesent eget sem vel leo ultrices bibendum.
\sno{}Aenean faucibus.
\sno{}Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla.
\sno{}Curabitur auctor semper nulla.
\sno{}Donec variusorci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orcidignissim rutrum.
%
% Bug: The second paragraph should reset the counter value of `sentencenum` since here start a new paragraph
%
\sno{}Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.
\sno{}Morbi auctor lorem non justo.
\sno{}Namlacus libero, pretium at, lobortis vitae, ultricies et, tellus.
\sno{}Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi.
\sno{}Morbi ac orci et nisl hendrerit mollis.
Suspendisseut massa.
\end{document}
Antwort1
Ich kann nicht sagen, ob dies eine empfehlenswerte Vorgehensweise ist, aber es könnte dieses Problem lösen. Bitte testen Sie es in komplexeren Dokumenten, da ich die Nebenwirkungen nicht wirklich kennen kann. Hier ist der Code für Ihr Beispiel:
\documentclass{article}
\newcounter{sentencenum}
\newcommand{\sno}[0]{\refstepcounter{sentencenum}$_{\arabic{sentencenum}}$}
\let\oldpar\par
\def\par{\setcounter{sentencenum}{0}\oldpar}
\begin{document}
\sno{}Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\sno{}Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis. Curabitur dictum gravida mauris.
\sno{}Nam arcu libero, nonummy eget, consectetuerid, vulputate a, magna.
\sno{}Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus etnetus et malesuada fames ac turpis egestas.
\sno{}Mauris ut leo. Cras viverra metus rhoncus sem.
\sno{}Nulla et lectusvestibulum urna fringilla ultrices.
\sno{}Phasellus eu tellus sit amet tortor gravida placerat.
\sno{}Integer sapien est,iaculis in, pretium quis, viverra ac, nunc.
\sno{}Praesent eget sem vel leo ultrices bibendum.
\sno{}Aenean faucibus.
\sno{}Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla.
\sno{}Curabitur auctor semper nulla.
\sno{}Donec variusorci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orcidignissim rutrum.
%
% Bug: The second paragraph should reset the counter value of `sentencenum` since here start a new paragraph
%
\sno{}Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.
\sno{}Morbi auctor lorem non justo.
\sno{}Namlacus libero, pretium at, lobortis vitae, ultricies et, tellus.
\sno{}Donec aliquet, tortor sed accumsan bibendum,erat ligula aliquet magna, vitae ornare odio metus a mi.
\sno{}Morbi ac orci et nisl hendrerit mollis.
Suspendisseut massa.
\end{document}
Die Idee ist:
Für jeden neuen Absatz in Latex \par
wird der Befehl ausgeführt. Daher habe ich die Funktion hinzugefügt, Ihren Zähler durch Neudefinition auf Null zu setzen \par
(scheint mir auf den ersten Blick gefährlich zu sein … aber VIELLEICHT ist es ok …)
PS: Textabsätze werden mit Leerzeilen zwischen dem Text erstellt … Es gibt aber \paragraph
auch einen Abschnittsbefehl, den Sie in Ihrem MWE versehentlich „zu verwenden versucht haben“.