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

Formelsatz für Mathematik, Naturwissenschaften und Technik


Urmel

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

Beitrag 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:

Code: Alles auswählen

\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:

Code: Alles auswählen

! 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:

Code: Alles auswählen

...
\l_xparse_processor_int
1.4 ..._2$}]{Zwanzigprozentiges Kohlenstoffdioxid}
Hat jemand von euch weitere Ideen?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2159
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.

Urmel

Beitrag 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:

Code: Alles auswählen

\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.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2159
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Ich würde es so machen:

Code: Alles auswählen

\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.
Clemens

Urmel

Beitrag 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! :)

Antworten