Im Packet totalcount habe ich einen Bug festgestellt und auch gemeldet

Hier das Minimalbeispiel:

Öffne in Overleaf
\documentclass[]{article}
\usepackage[figure,table]{totalcount}

\begin{document}
\iftotaltables
   \listoftables
\fi

\iftotalfigures
   \listoffigures
\fi

\setcounter{figure}{-1}
This report contains \totalfigures\ figures.

\end{document}

Nun möchte ich für mich den Bug temporär lösen, aber das Programmieren mit Latex fällt mir aufgrund der für mich ungewöhnlichn Syntax noch recht schwer. Leider klappt der Hinweis mit \ifnum und meiner Umsetzung

Öffne in Overleaf
\ifnum\iftotaltables>0
  \listoftables
\fi

nicht, da es zu folgender fehlermeldung kommt:

Missing number, treated as zero. par

Wie kann ich überprüfen, ob ein Zähler grösser 0 ist, hier als Pseudo-Latex-Code:

Öffne in Overleaf
\iftotaltables > 0
  \listoftables
\fi

gefragt 10 Jan, 04:30

dzaic's gravatar image

dzaic
5212838
Akzeptiert: 86%

bearbeitet 10 Jan, 08:34

Wieso hast du -1 Abbildungen in deinem Dokument? Wenn du den Zähler auf 0 setzt, funktioniert alles.

(10 Jan, 04:58) Ulrike Fischer

Irgendwas in meiner Vorlage setzt den Zähler auf -1. Ich vermute einmal, dass es irgendetwas mit dem Packet longtabu(http://tex.stackexchange.com/questions/32553/longtable-caption-without-incrementing-table) zutun hat. Leider finde ich den Grund momentan auf die schnelle nicht. Du hast natürlich recht, dass ich den Zähler bei Beginn des Dokumentes wieder auf 0 setzen könnte, jedoch fände ich die if-Abfrage robuster.

(10 Jan, 05:06) dzaic

Geht es mit \ifnum\value{totaltables}>0?

(10 Jan, 06:18) Henri

@Henri Funktioniert leider nicht. Generell würde mich interessieren, welchen Typ (Integer, String usw.) die Ausgabe des Makro \totalfigures hat - Offenkundig nicht die einer Zahl. :-) By the way: Kann man bei Tex überhaupt von Typ reden? Eventuell stelle ich diese Frage einmal offiziell, damit auch bei mir etwas Licht in die nebulöse Programmier-Syntax von Tex kommt.

(10 Jan, 07:53) dzaic

Du kannst natürlich totalcount so patchen, dass es bei \iftotal*s alle Zahlen < 1 als false case verwendet:

Öffne in Overleaf
\documentclass[]{article}
\usepackage[figure,table]{totalcount}
\usepackage{xpatch}
\xpatchcmd{\totalcount@set}{\ifnum#2=0}{\ifnum#2<1}{}{}

\begin{document}

\iftotaltables
   \listoftables
\fi

\iftotalfigures
   \listoffigures
\fi

\setcounter{figure}{-1}
This report contains \totalfigures\ figures.

\end{document}
Permanenter link

beantwortet 10 Jan, 08:05

Ijon%20Tichy's gravatar image

Ijon Tichy
7.4k11019

Bin immer wieder erstaunt, was mit Tex so alles geht. :-) Dank der Hinweise von Dir, Ulrike und Henri habe ich den Mut gefasst, Operationen am offenen Herzen vorzunehmen und die notwendigen Änderungen (\ifnum#2=0 -> \ifnum#2<1) direkt in der totalcount.sty meiner Tex-Distribution implementiert.

(10 Jan, 08:29) dzaic

@dzaic Das kann beim nächsten Distribution-oder Paket-Update Probleme geben. Ich würde in eigener Dokumentpräambel patchen oder totalcount.sty umbenennen und dann patchen und das verwenden.

(10 Jan, 08:43) stefan ♦♦
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×32
×3
×3

Frage gestellt: 10 Jan, 04:30

Frage wurde angeschaut: 592 Mal

Zuletzt aktualisiert: 10 Jan, 08:43