Seite 1 von 1

Prozentzeichen (\%) ins Abkürzungsverzeichnis (acronyms)

Verfasst: Di 14. Apr 2020, 13:33
von Urmel
Liebe Community,

dieses Forum verwende ich schon seit Jahren. Ihr habt immer hervorragende Lösungsvorschläge. Vielen Dank dafür!

Leider konnte ich durch mehrfacher verschiedener Suche kaum etwas zu meinem Problem oder zu meinem reproduzierbaren Fehlern finden.

Ich möchte gerne ein Prozentzeichen im Abkürzungsverzeichnis verwenden.
Hier ein Minimalbeispiel:
\documentclass[11pt]{scrreprt}%Dokumentenklasse 
\usepackage{acronym}
\usepackage[per=slash, decimalsymbol=comma, loctolang={DE:ngerman},]{siunitx}
\usepackage{xparse}

\begin{document}

\chapter*{Abkürzungsverzeichnis}

\begin{acronym}[EGAL]
\acro{mol \%}{Molprozent}
\acro{$\SI{20}{\%}$ CO$_2$}{Zwanzigprozentiges Kohlenstoffdioxid}
\end{acronym}

\end{document}
Fehler:
! Missing \endcsname inserted.
<to be read again>
                           \%
1.4 ...\AC@hyperlink{mol \%}{mol \%}]{Molprozent}
Das ganze liegt aus meiner Sicht an dem \%.
Auch bei $\%$ kommt der gleiche Fehler.

Beim Auskommentieren der Molzeile, erhalte ich für die 20% CO2 folgenden Fehler:
...
\l_xparse_processor_int
1.4 ..._2$}]{Zwanzigprozentiges Kohlenstoffdioxid}
Hat jemand von euch weitere Ideen?

Verfasst: Di 14. Apr 2020, 16:07
von Bartman
Laut Abschnitt 3.5 "Wahl der Schriftgröße für das Dokument" in der Anleitung der Klasse darfst Du die Angabe der Schriftgröße entfernen.

Lies bitte die Beschreibung des Befehls \acro in der Dokumentation.

Der Befehl für das Prozentzeichen im Argument des \SI-Befehls unterscheidet sich von \%. Auch hier hilft die Dokumentation weiter.

Ersetze die veralteten Optionen des Pakets siunitx durch die Optionen locale für die Lokalisierung, detect-all für den Fettdruck (und mehr) sowie per-mode.

Außerdem könnten Dich die Pakete mhchem oder chemformula interessieren, die das Einfügen von Summenformeln unterstützen.

Verfasst: Di 14. Apr 2020, 19:41
von Urmel
Danke für deine Antwort Bartman.
Laut Abschnitt 3.5 "Wahl der Schriftgröße für das Dokument" in der Anleitung der Klasse darfst Du die Angabe der Schriftgröße entfernen.
Danke, ich habe verstanden, was du meinst und es entsprechend unten geändert.
Lies bitte die Beschreibung des Befehls \acro in der Dokumentation.
Habe ich getan. Leider verstehe ich nicht, zu welcher Erkenntnis ich kommen sollte? Ich habe wahrgenommen, dass dort ein anderer Weg beschrieben wurde, über \DeclareAcronym{... Im Endeffekt ist das wie beim Literaturverzeichnis erstellen nur hier für Abkürzungen.
Eine andere Idee, die dort beschrieben wurde sind Listen, dass zur Not meine Backup Lösung ist.
Der Befehl für das Prozentzeichen im Argument des \SI-Befehls unterscheidet sich von \%. Auch hier hilft die Dokumentation weiter.
Ja, dazu habe ich auch etwas gelesen. Aber hier weiß ich nicht, zu welcher Erkenntnis ich kommen sollte. Eventuell zu \percent in dem \SI-Befehl?
Ersetze die veralteten Optionen des Pakets siunitx durch die Optionen locale für die Lokalisierung, detect-all für den Fettdruck (und mehr) sowie per-mode.
Habe ich gemacht, siehe unten.
Außerdem könnten Dich die Pakete mhchem oder chemformula interessieren, die das Einfügen von Summenformeln unterstützen.
Ja, das stimmt. Danke. Auf die bin ich vor einiger Zeit auch schon gestoßen. Ich komme noch von \unit{}{} ;)

Mein Minimalbeispiel sieht jetzt folgendermaßen aus:
\documentclass{scrreprt}
\usepackage{acronym}
\usepackage[per=slash, decimalsymbol=comma, locale=DE, per-mode =symbol]{siunitx}
\usepackage{xparse}

\sisetup{detect-all}

\begin{document}

\chapter*{Abkürzungsverzeichnis}

\begin{acronym}[EGAL]
\acro{mol $\%$}{Molprozent}
\acro{$\SI{20}{\percent}$ CO$_2$}{Zwanzigprozentiges Kohlenstoffdioxid}

\end{acronym}

\end{document}
Habe ich alle deine Vorschläge korrekt umgesetzt?
Da es bei mir leider die gleichen Fehler wie vorher erzeugt.

Verfasst: Di 14. Apr 2020, 20:29
von Bartman
\DeclareAcronym ist ein Befehl des Pakets acro, Du benutzt aber einen Befehl und eine Umgebung des Pakets acronym, welches diesen Befehl nicht anbietet.

Die Tabelle 51 "Mapping of version 1 options to version 2" in der Dokumentation von siunitx listet veraltete Optionen auf.

Du brauchst in Deinem Beispiel nur noch die alten Optionen herausnehmen und auf die richtige Verwendung der Argumente des Befehls \acro zu achten.

Verfasst: Di 14. Apr 2020, 22:12
von cgnieder
Ich würde es so machen:
\documentclass{scrreprt}
\usepackage{acronym}
\usepackage{siunitx}
\sisetup{
  locale=DE,
  per-mode =symbol,
  detect-all
}

\usepackage{chemformula}

\begin{document}

\begin{acronym}[EGAL]
  \acro{molprozent}[\si{\mole\percent}]{Molprozent}
  \acro{20-CO2}[\SI{20}{\percent} \ch{CO2}]{Zwanzigprozentiges Kohlenstoffdioxid}
\end{acronym}

\ac{molprozent}

\acs{20-CO2}

\end{document}
Dabei habe ich veraltete und nicht benötigte Optionen von siunitx entfernt, das optionale Argument von \acro verwendet (darauf zielte die Bemerkung ab und ist in diesem Fall unbedingt angebracht) und ein Paket für das Setzen chemischer Formeln verwendet.

Verfasst: Mi 15. Apr 2020, 10:35
von Urmel
Ah, jetzt verstehe ich was Bartman mir die ganze Zeit mitteilen will.
Danke für das Beispiel, Clemens.

Jetzt verstehe ich, was ich falsch gemacht habe und wie ich in Zukunft verschiedene Sachen besser umsetzen kann.

Danke euch beiden! :)