von lisa7147 » Di 15. Dez 2015, 16:35
Hallo, bei mir ist jetzt nochmal ein Problem aufgetreten^^
Und zwar verwende ich den Befehl, den du geschrieben hast:
\documentclass[listof=totoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemnum}
\DeclareNewTOC[
type = compound ,
types = compounds ,
listname = {Verzeichnis der Verbindungen}
]{loc}
% Befehl, um Verbindungen in die Liste einzutragen:
\newcommand*\compoundlistentry[1]{ \addcontentsline{loc}{compound}{\refcmpd{#1}
\if\relax\cmpdproperty{#1}{name}\relax
\else
\space\cmpdproperty{#1}{name}%
\fi}}
\ExplSyntaxOn
\tl_new:N \l_chemnum_compound_name_tl
% umdefinieren von \chemnum_initialize_compound:n
\cs_set_protected:Npn \chemnum_initialize_compound:n #1
{ \seq_if_in:NnF \g__chemnum_defined_compounds_seq {#1}
{ \seq_gput_right:Nn \g__chemnum_defined_compounds_seq {#1}
\int_gincr:N \g__chemnum_main_int
\stepcounter{cmpdmain} }
\seq_if_exist:cF { g__chemnum_#1_initiated_subcompounds_seq }
{ \seq_new:c { g__chemnum_#1_initiated_subcompounds_seq } }
\chemnum_compound_declare_properties:nn {#1} {name}
\chemnum_compound_set_property:nnV {#1} {name} \l_chemnum_compound_name_tl
\compoundlistentry {#1} }
\keys_define:nn {chemnum}
{ name .tl_set:N = \l_chemnum_compound_name_tl ,
name .groups:n = {compound} }
\ExplSyntaxOff
\makeatletter
\renewcommand\l@compound[2]{#1\par}
\makeatother
\begin{document}
\tableofcontents
\listofcompounds
\section{Einleitung}
Glucose \cmpd[name=Glucose]{Gluc}
Ribose \cmpd[name=Ribose]{Rib}
Saccharose \cmpd[name=Saccharose]{Sach}
Pd(en)(OD)$_2$ (\cmpd[name=Dihydroxido-ethan-1,2-diamin-palladium(II)]{pden})
\end{document}
Das funktioniert auch so, wie es soll

Nur bei der letzten Verbindung wird im Verzeichnis nur "Dihydroxido-ethan-1" angezeigt, es bricht also immer beim "," ab (ich habe es auch mit anderen Verbindungen probiert, da war es auch so. Ohne Komma funktioniert es, egal wie lange der Name ist).
Könntest du mir vielleicht sagen, was ich noch ändern muss, damit alles angezeigt wird?
Auf das Komma kann ich ja nicht verzichten^^
PS: Kann es sein, dass im Text bei (4) ein Leerzeichen vor der 4 ist? Kann man das auch noch entfernen?
Ich Danke dir schon einmal im Voraus und hoffe, dass du mir helfen kannst
- Dateianhänge
-
- Ohne Titel.pdf
- (39.74 KiB) 349-mal heruntergeladen
Hallo, bei mir ist jetzt nochmal ein Problem aufgetreten^^
Und zwar verwende ich den Befehl, den du geschrieben hast:
[code]
\documentclass[listof=totoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemnum}
\DeclareNewTOC[
type = compound ,
types = compounds ,
listname = {Verzeichnis der Verbindungen}
]{loc}
% Befehl, um Verbindungen in die Liste einzutragen:
\newcommand*\compoundlistentry[1]{ \addcontentsline{loc}{compound}{\refcmpd{#1}
\if\relax\cmpdproperty{#1}{name}\relax
\else
\space\cmpdproperty{#1}{name}%
\fi}}
\ExplSyntaxOn
\tl_new:N \l_chemnum_compound_name_tl
% umdefinieren von \chemnum_initialize_compound:n
\cs_set_protected:Npn \chemnum_initialize_compound:n #1
{ \seq_if_in:NnF \g__chemnum_defined_compounds_seq {#1}
{ \seq_gput_right:Nn \g__chemnum_defined_compounds_seq {#1}
\int_gincr:N \g__chemnum_main_int
\stepcounter{cmpdmain} }
\seq_if_exist:cF { g__chemnum_#1_initiated_subcompounds_seq }
{ \seq_new:c { g__chemnum_#1_initiated_subcompounds_seq } }
\chemnum_compound_declare_properties:nn {#1} {name}
\chemnum_compound_set_property:nnV {#1} {name} \l_chemnum_compound_name_tl
\compoundlistentry {#1} }
\keys_define:nn {chemnum}
{ name .tl_set:N = \l_chemnum_compound_name_tl ,
name .groups:n = {compound} }
\ExplSyntaxOff
\makeatletter
\renewcommand\l@compound[2]{#1\par}
\makeatother
\begin{document}
\tableofcontents
\listofcompounds
\section{Einleitung}
Glucose \cmpd[name=Glucose]{Gluc}
Ribose \cmpd[name=Ribose]{Rib}
Saccharose \cmpd[name=Saccharose]{Sach}
Pd(en)(OD)$_2$ (\cmpd[name=Dihydroxido-ethan-1,2-diamin-palladium(II)]{pden})
\end{document}
[/code]
Das funktioniert auch so, wie es soll ;) Nur bei der letzten Verbindung wird im Verzeichnis nur "Dihydroxido-ethan-1" angezeigt, es bricht also immer beim "," ab (ich habe es auch mit anderen Verbindungen probiert, da war es auch so. Ohne Komma funktioniert es, egal wie lange der Name ist).
Könntest du mir vielleicht sagen, was ich noch ändern muss, damit alles angezeigt wird? :) :) :) :)
Auf das Komma kann ich ja nicht verzichten^^
PS: Kann es sein, dass im Text bei (4) ein Leerzeichen vor der 4 ist? Kann man das auch noch entfernen?
Ich Danke dir schon einmal im Voraus und hoffe, dass du mir helfen kannst