Seite 1 von 1

Chemische Formel im Akürzungsverzeichnis

Verfasst: Mi 31. Mai 2017, 15:40
von Chemiker1328
Hallo, ich hätte gerne eine chemische Formel in der Liste der Abkürzungen, wie im Beispiel gezeigt. Kann mir da jemand helfen?

\documentclass[a4paper,10pt]{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel}
\usepackage{lmodern}\usepackage[xindy,acronym,toc,nonumberlist,nopostdot]{glossaries}
\makeglossaries
\loadglsentries{glossary}
\usepackage[method=mhchem]{chemmacros}
\chemsetup{modules=reactions}

\begini{document}
\newacronym{abc}{ABC}{\ch{A2B3C4}}

\printglossary[type=\acronymtype,style=long]
\end{document}

Verfasst: Mi 31. Mai 2017, 17:37
von Gast
Davon abgesehen, dass Dein Beispiel wegen verschiedener vermeidbarer Fehler nicht lauffähig ist: \printglossary zeigt in der Voreinstellung nur die Abkürzungen an, die auch verwendet wurden. Wie man das ändern kann, steht in der Anleitung.

Verfasst: Mi 31. Mai 2017, 18:47
von Chemiker1328
natürlich habe ich im dokument die einträge mit \gls{abc} aufgerufen, des weiteren hat bei meinem dokument alles funktioniert, nur wenn ich deb befehl für eine chemische formel \ch{...} bei \newacronym einfüge, erzeugt das einen fehler. nur text ohne \ch{...} erzeugt keinen fehler....

Verfasst: Mi 31. Mai 2017, 20:17
von Bartman
Chemiker1328 hat geschrieben:natürlich habe ich im dokument die einträge mit \gls{abc} aufgerufen,
Warum nicht in Deinem Beispiel?

Du könntest den Befehl \glsnoexpandfields vor \newacronym{abc}{ABC}{\ch{A2B3C4}} aufrufen.

Verfasst: Do 1. Jun 2017, 09:44
von cgnieder
  1. Die Option method=mhchem gibt es seit September 2015 nicht mehr; sie heißt formula=mhchem und sollte via \chemsetup gesetzt werden und nicht als Paketoption.
  2. Wenn Du mhchem verwendest, solltest Du auch dessen Befehl \ce verwenden. Der Befehl \ch stammt von chemformula
Also entweder
\usepackage{chemmacros}
\chemsetup{
  formula = chemformula ,
  modules=reactions
}

\newacronym{abc}{ABC}{\ch{A2B3C4}}
oder
\usepackage{chemmacros}
\chemsetup{
  formula = mhchem ,
  modules=reactions
}

\newacronym{abc}{ABC}{\ce{A2B3C4}}
Beides funktioniert…

Verfasst: Do 1. Jun 2017, 10:48
von Gast
Chemiker1328 hat geschrieben:wenn ich deb befehl für eine chemische formel \ch{...} bei \newacronym einfüge, erzeugt das einen fehler.
Bei mir nach Beseitigung der offensichtlichen Fehler in deinem Beispiel und Erweiterung um einen entsprechenden \gls-Befehl nicht. Mach also bitte wirklich ein Minimalbeispiel nach Anleitung. Sonst ist dir nicht zu helfen.

Verfasst: Do 1. Jun 2017, 10:54
von cgnieder
Anonymous hat geschrieben:
Chemiker1328 hat geschrieben:wenn ich deb befehl für eine chemische formel \ch{...} bei \newacronym einfüge, erzeugt das einen fehler.
... Beseitigung der offensichtlichen Fehler in deinem Beispiel und Erweiterung um einen entsprechenden \gls-Befehl nicht...
Außer eben man hat eine alte Version von chemmacros (vor v5.0). Dann nämlich bedeutet \usepackage[formula=mhchem]{chemmacros}, dass mhchem geladen wird und nicht chemformula. Und wenn das der Fall ist, dann ist auch \ch tatsächlich nicht definiert. Die moderne Entsprechung der Situation wäre:
\documentclass{article}
\usepackage{glossaries}
\makeglossaries

\usepackage{chemmacros}
\chemsetup{
  formula = mhchem ,
  modules=reactions
}

\newacronym{abc}{ABC}{\ch{A2B3C4}}

\begin{document}

\gls{abc}

\end{document}
Grüße

Verfasst: Do 1. Jun 2017, 11:36
von Gast
Sollte nicht ein Update bei einem Problem der erste Schritt sein? Wenn ein solches nicht in Frage kommt, sollte man dann nicht zumindest die verwendete Paketversion ermitteln und angeben?