summaryrefslogtreecommitdiff
path: root/macros/generic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-08-02 03:02:40 +0000
committerNorbert Preining <norbert@preining.info>2021-08-02 03:02:40 +0000
commit7c20aed48e20b439ef64f417a7e32ce7fda44d18 (patch)
tree13cc29cf9941f8b282c5a95dcb8910f1aef9dbd5 /macros/generic
parent956b25a304207d06fe012f8c8efcb13cc66e3eec (diff)
CTAN sync 202108020302
Diffstat (limited to 'macros/generic')
-rw-r--r--macros/generic/chemfig/README4
-rw-r--r--macros/generic/chemfig/chemfig-en.pdfbin1091080 -> 1123098 bytes
-rw-r--r--macros/generic/chemfig/chemfig-en.tex6
-rw-r--r--macros/generic/chemfig/chemfig-fr.pdfbin1118501 -> 1152787 bytes
-rw-r--r--macros/generic/chemfig/chemfig-fr.tex8
-rw-r--r--macros/generic/chemfig/chemfig.tex565
6 files changed, 296 insertions, 287 deletions
diff --git a/macros/generic/chemfig/README b/macros/generic/chemfig/README
index 29671ba13e..593d70bf7c 100644
--- a/macros/generic/chemfig/README
+++ b/macros/generic/chemfig/README
@@ -2,9 +2,9 @@ ___________________________________
The
Chemfig package
- v1.6a
+ v1.6b
- 2021/02/28
+ 2021/08/01
___________________________________
Maintainer: Christian Tellechea
diff --git a/macros/generic/chemfig/chemfig-en.pdf b/macros/generic/chemfig/chemfig-en.pdf
index a9ba585b85..0173183489 100644
--- a/macros/generic/chemfig/chemfig-en.pdf
+++ b/macros/generic/chemfig/chemfig-en.pdf
Binary files differ
diff --git a/macros/generic/chemfig/chemfig-en.tex b/macros/generic/chemfig/chemfig-en.tex
index aded31ec95..79c4024359 100644
--- a/macros/generic/chemfig/chemfig-en.tex
+++ b/macros/generic/chemfig/chemfig-en.tex
@@ -117,7 +117,7 @@
\newcommand\falseverb[1]{{\ttfamily\detokenize\expandafter{\string#1}}}
-\def\CFengdate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \ier{}\fi\space \ifcase#2 \or january\or february\or march\or april\or may\or june\or july\or august\or september\or october\or november\or december\fi\space#1}
+\def\CFengdate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \space\fi\space \ifcase#2 \or january\or february\or march\or april\or may\or june\or july\or august\or september\or october\or november\or december\fi\space#1}
\edef\CFengdate{\expandafter\CFengdate@i\CFdate\@nil}
\DeclareRobustCommand\CF{%
@@ -403,7 +403,9 @@ If one bond is followed immediately by another, then \CF inserts an empty group
\label{bond style}The \chevrons{key} \CFkv{bond style}{tikz code} sets the style for all the bonds drawn thereafter. The \CFval{tikz code} is empty by default. To custom a single bond, see page~\pageref{perso-liaisons}.
\exemple{Style of bonds}/\chemfig[bond style={line width=1pt,red}]{A-B=C>|D<E>:F}/
-\label{modif.retrait} The spacing $\delta$ for just one bond can be specified with the character \verb-#-. This character must be placed \emph{immediately} after the bond symbol and has one required argument between parentheses of the form ``\Verb-#(<dim1>,<dim2>)-'', where \Verb-<dim1>- is the spacing $\delta$ at the beginning of the bond and \Verb-<dim2>- is the that at the end. If \Verb-<dim2>- is omitted, the spacing at the end of the bond takes the value of $\delta$ in effect at that time. One can see in the example how the shortening, set to 4pt to be more visible, is nullified for the bond arriving at ``B'', then for the one leaving ``B'', and finally for both:
+\label{modif.retrait} The spacing $\delta$ for just one bond can be specified with either the character \verb-#-, the macro \verb|\#| or \verb|\CFhash|. It is important to notice that if the macro \verb|\chemfig| is in the argument of a macro, \verb-#- must \emph{not} be used and in that case, \verb|\#| or \verb|\CFhash| must be prefered.
+
+The token \verb-#-, \verb|\#| or \verb|\CFhash| must be placed \emph{immediately} after the bond symbol and has one required argument between parentheses of the form ``\Verb-(<dim1>,<dim2>)-'', where \Verb-<dim1>- is the spacing $\delta$ at the beginning of the bond and \Verb-<dim2>- is the that at the end. If \Verb-<dim2>- is omitted, the spacing at the end of the bond takes the value of $\delta$ in effect at that time. One can see in the example how the shortening, set to 4pt to be more visible, is nullified for the bond arriving at ``B'', then for the one leaving ``B'', and finally for both:
\begingroup
\catcode`\#12
\exemple{Fine adjustment of bond shortening}/\setchemfig{bond offset=4pt}
diff --git a/macros/generic/chemfig/chemfig-fr.pdf b/macros/generic/chemfig/chemfig-fr.pdf
index 57fa60fb01..1232ef95e0 100644
--- a/macros/generic/chemfig/chemfig-fr.pdf
+++ b/macros/generic/chemfig/chemfig-fr.pdf
Binary files differ
diff --git a/macros/generic/chemfig/chemfig-fr.tex b/macros/generic/chemfig/chemfig-fr.tex
index b9c25cc5f0..72fbf7b70c 100644
--- a/macros/generic/chemfig/chemfig-fr.tex
+++ b/macros/generic/chemfig/chemfig-fr.tex
@@ -31,7 +31,7 @@
\newcommand\exemple{%
\begingroup
\parskip\z@
- \@makeother\;\@makeother\!\@makeother\?\@makeother\:% neutralise frenchb
+ \@makeother\;\@makeother\!\@makeother\?\@makeother\:% neutralise french
\@ifstar{\@exstartrue\exemple@}{\@exstarfalse\exemple@}}
\newcommand\exemple@[2][65]{%
@@ -117,7 +117,7 @@
\newcommand\falseverb[1]{{\ttfamily\detokenize\expandafter{\string#1}}}
-\def\CFfrdate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \ier{}\fi\space \ifcase#2 \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or décembre\fi\space#1}
+\def\CFfrdate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \noexpand\ier{}\fi\space \ifcase#2 \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or décembre\fi\space#1}
\edef\CFfrdate{\expandafter\CFfrdate@i\CFdate\@nil}
\DeclareRobustCommand\CF{%
@@ -403,7 +403,9 @@ Si deux liaisons se suivent, alors \CF insère un groupe vide \verb-{}-, et auto
\label{bond style}La \chevrons{clé} \CFkv{bond style}{code tikz} définit le style de toutes les liaisons qui seront dessinées par la suite. Le \CFval{code tikz} est vide par défaut. Pour personnaliser les liaisons une par une, voir page~\pageref{perso-liaisons}.
\exemple{Style des liaisons}/\chemfig[bond style={line width=1pt,red}]{A-B=C>|D<E>:F}/
-\label{modif.retrait}On peut spécifier l'espacement $\delta$ pour une seule liaison avec le caractère \verb-#-. Ce caractère doit se situer \emph{immédiatement} après le signe de liaison et dispose d'un argument obligatoire entre parenthèses de la forme «\Verb-#(<dim1>,<dim2>)-», où \Verb-<dim1>- représente l'espacement $\delta$ au début de la liaison et \Verb-<dim2>- celui de la fin. Si \Verb-<dim2>- est omis, l'espacement en fin de liaison prend la valeur de $\delta$ en vigueur à ce moment. On peut observer sur cet exemple comment le retrait, réglé à 4pt pour être plus visible, est rendu nul pour la liaison arrivant sur «B», puis partant de «B» et enfin pour les deux à la fois :
+\label{modif.retrait}On peut spécifier l'espacement $\delta$ pour une seule liaison avec un marqueur qui est, au choix, le caractère \verb-#-, la macro \verb|\#| ou \verb|\CFhash|. Attention, si la macro \verb|\chemfig| se trouve dans l'argument d'une autre macro, il \emph{faut} utiliser la macro \verb|\#| ou \verb|\CFhash| au lieu du caractère \verb|#|.
+
+Ce marqueur doit se situer \emph{immédiatement} après le signe de liaison et dispose d'un argument obligatoire entre parenthèses de la forme «\Verb-(<dim1>,<dim2>)-», où \Verb-<dim1>- représente l'espacement $\delta$ au début de la liaison et \Verb-<dim2>- celui de la fin. Si \Verb-<dim2>- est omis, l'espacement en fin de liaison prend la valeur de $\delta$ en vigueur à ce moment. On peut observer sur cet exemple comment le retrait, réglé à 4pt pour être plus visible, est rendu nul pour la liaison arrivant sur «B», puis partant de «B» et enfin pour les deux à la fois :
\begingroup
\catcode`\#12
\exemple{Réglage fin du retrait des liaisons}/\setchemfig{bond offset=4pt}
diff --git a/macros/generic/chemfig/chemfig.tex b/macros/generic/chemfig/chemfig.tex
index 576108ae28..ed8948b2eb 100644
--- a/macros/generic/chemfig/chemfig.tex
+++ b/macros/generic/chemfig/chemfig.tex
@@ -1,12 +1,12 @@
-% !TeX encoding = ISO-8859-1
+% !TeX encoding = UTF-8
% Ce fichier contient le code de l'extension "chemfig"
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\CFname {chemfig} %
-\def\CFver {1.6a} %
+\def\CFver {1.6b} %
% %
-\def\CFdate {2021/02/28} %
+\def\CFdate {2021/08/01} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -31,7 +31,7 @@
%--------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% P R É A L A B L E %%%
+%%% P R É A L A B L E %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\csname CFloadonce\endcsname
\let\CFloadonce\endinput
@@ -42,7 +42,7 @@
Draw molecule with an easy syntax (CT)}%
\fi
-%-------------------------- Régime catcodes --------------------------
+%-------------------------- Régime catcodes --------------------------
\begingroup
\def\X#1{\catcode\number`#1=\number\catcode`#1\relax}
\xdef\CFrestorecatcode{\X\[\X\]\X\:\X\(\X\)\X\,\X\-\X\=\X\~\X\!\X\?\X\<\X\>\X\;\X\*\X\|\X\@\X\ \X\_}%
@@ -53,10 +53,10 @@
\catcode`\>12 \catcode`\;12 \catcode`\*12 \catcode`\|12
\catcode`\@12 \catcode`\#6 \catcode`\ 10 \catcode`\_11
-%-------------------- Vérification des prérequis ---------------------
+%-------------------- Vérification des prérequis ---------------------
\def\CF_error#1{\errmessage{Package \CFname\space Error: #1.}}
\def\CF_warning#1{\immediate\write-1{Package \CFname\space Warning: #1^^J}}
-\def\CF_checkprimitive#1#2{% Vérifie que #1 est une primitive et sinon, émet le message #2 et exécute \endinput
+\def\CF_checkprimitive#1#2{% Vérifie que #1 est une primitive et sinon, émet le message #2 et exécute \endinput
\begingroup
\edef\__tempa{\meaning#1}\edef\__tempb{\string#1}\expandafter
\endgroup
@@ -161,7 +161,7 @@
\def\CF_assigntonil#1#2\_nil{\def#1{#2}}
\def\CF_edefaddtomacro#1#2{\CF_expsecond{\CF_addtomacro#1}{\expanded{#2}}}
\def\CF_ifnextchar#1#2#3{%
- \let\CF_ifnextchartok=#1% <- espace indésirable, bugfix v1.31
+ \let\CF_ifnextchartok=#1% <- espace indésirable, bugfix v1.31
\def\CF_ifnextcharcodetrue{#2}%
\def\CF_ifnextcharcodefalse{#3}%
\futurelet\CF_temptok\CF_ifnextchara
@@ -187,7 +187,7 @@
\endgroup
\CF_ifempty{#1}%
}
-\def\CF_iffirsttokmatch#1#2{% est ce que #1 et #2 commencent par les mêmes tokens ?
+\def\CF_iffirsttokmatch#1#2{% est ce que #1 et #2 commencent par les mêmes tokens ?
\futurelet\CF_toksa\CF_gobtonil#1\relax\_nil
\futurelet\CF_toksb\CF_gobtonil#2\relax\_nil
\CF_ifx\CF_toksa\CF_toksb
@@ -271,8 +271,8 @@
}
\def\CF_grabargassigntonil#1\_nil#2{\CF_expsecond{\def#2}{\CF_gobarg#1}}
\def\CF_ifbracefirst#1{\CF_ifnum{\catcode\CF_threeea`\expandafter\CF_firsttonil\detokenize{#1.}\_nil=1 }}
-\def\CF_substonly#1#2{% #1=entier maxi>0 #2=macro : dans la sc#1, remplace tous les <motif> par <pattern> sauf lorsque le motif est suivi d'un caractère >#1
- \def\CF_atendsubstitute{\edef#2{\the\CF_substtoks}}% macro exécutée à la fin
+\def\CF_substonly#1#2{% #1=entier maxi>0 #2=macro : dans la sc#1, remplace tous les <motif> par <pattern> sauf lorsque le motif est suivi d'un caractère >#1
+ \def\CF_atendsubstitute{\edef#2{\the\CF_substtoks}}% macro exécutée à la fin
\let\CF_substnogroups\CF_substnogrouponly
\CF_ifnum{#1>0 }
{\let\CF_testifx\empty
@@ -290,8 +290,8 @@
\CF_exptwomacroargs\CF_ifstartwith\CF_substcode\CF_substsubst
{\CF_grabfirstarg\CF_substcode\CF_temp
\CF_expafter{\futurelet\CF_nexttok\CF_gobtonil}\CF_substcode\relax\_nil
- \CF_ifnum{0\CF_testifx=1 }% si le prochain token est \let-égal à 1...#1
- {\edef\CF_nexttok{\CF_threeea\CF_firsttonil\expandafter\string\CF_substcode\_nil}% le détokéniser
+ \CF_ifnum{0\CF_testifx=1 }% si le prochain token est \let-égal à 1...#1
+ {\edef\CF_nexttok{\CF_threeea\CF_firsttonil\expandafter\string\CF_substcode\_nil}% le détokéniser
\CF_ifnum{0\CF_testif=1 }
{\CF_eaddtotoks\CF_substtoks\CF_temp
\CF_grabfirstarg\CF_substcode\CF_temp
@@ -314,7 +314,7 @@
}%
}
\def\CF_substall#1{% #1=macro
- \def\CF_atendsubstitute{\edef#1{\the\CF_substtoks}}% macro exécutée à la fin
+ \def\CF_atendsubstitute{\edef#1{\the\CF_substtoks}}% macro exécutée à la fin
\let\CF_substnogroups\CF_substnogroupall
\CF_expsecond\CF_substi#1%
}
@@ -347,7 +347,7 @@
\expandafter\endgroup\expandafter\CF_addtotoks\expandafter\CF_substtoks\expandafter{\expandafter{\the\CF_substtoks}}%
\CF_substgroups
}%
- \CF_substtoks{}% initialiser à vide
+ \CF_substtoks{}% initialiser à vide
\expandafter\def\expandafter\CF_substcode\CF_substauxarg
\CF_substgroups
}%
@@ -355,7 +355,7 @@
}%
}
-%---------------------------- Paramètres -----------------------------
+%---------------------------- Paramètres -----------------------------
\def\CF_defifempty#1#2#3{\CF_ifempty{#2}{\def#1{#3}}{\def#1{#2}}}
\defKV[chemfig]{%
atom style = \def\CF_atomstyle {#1},
@@ -388,8 +388,8 @@
\def\setchemfig{\setKV[chemfig]}
\def\resetchemfig{\restoreKV[chemfig]}
\setKVdefault[chemfig]{%
- atom style = {},% code tikz mis à la fin de every node/.style
- chemfig style = {},% code tikz mis à la fin de l'arugment optionnel de \tikzpicture
+ atom style = {},% code tikz mis à la fin de every node/.style
+ chemfig style = {},% code tikz mis à la fin de l'arugment optionnel de \tikzpicture
bond join = false,
fixed length = false,
cram rectangle = false,
@@ -425,7 +425,7 @@
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% D E S S I N M O L É C U L E S %%%
+%%% D E S S I N M O L É C U L E S %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\CF_sanitizecatcode{%
\CF_makeother\[\CF_makeother\]\CF_makeother\:\CF_makeother\(\CF_makeother\)%
@@ -439,8 +439,8 @@
\def\CF_nodecontent{\CF_expsecond\printatom{\csname atom_\number\CF_cntatom\endcsname\CF_nodestrut}}
\def\chemskipalign{%
- \CF_doifempty\CF_bondoutcontentsaved% sauf si un \chemskipalign a été fait à l'atome précédent
- {\global\let\CF_bondoutcontentsaved\CF_bondoutcontent}% sauvegarder l'atome d'où vient la liaison
+ \CF_doifempty\CF_bondoutcontentsaved% sauf si un \chemskipalign a été fait à l'atome précédent
+ {\global\let\CF_bondoutcontentsaved\CF_bondoutcontent}% sauvegarder l'atome d'où vient la liaison
\let\CF_nodestrut\empty
}
@@ -448,7 +448,7 @@
\def\redefinesubmol{\CF_definesubmolfalse\def_submol}
\def\def_submol#1{%
- \CF_cntatomgroup=0 % nombre d'arguments supposé
+ \CF_cntatomgroup=0 % nombre d'arguments supposé
\def\CF_temp{#1}% nom
\futurelet\CF_toksa\CF_submoltestnxttok
}
@@ -458,7 +458,7 @@
{\begingroup\CF_sanitizecatcode\CF_expsecond\CF_submolgrabopt{\CF_temp}%
}
{\afterassignment\CF_submoltestnxttoka% pas d'argument entre crochet
- \CF_cntatomgroup=0% cherche le nombre d'arguments éventuels
+ \CF_cntatomgroup=0% cherche le nombre d'arguments éventuels
}%
}
@@ -478,7 +478,7 @@
\CF_cntatomgroup=0
}
{}%
- \ifcat\relax\expandafter\noexpand\CF_firsttonil#1\_nil\expandafter\CF_execfirst\else\expandafter\CF_execsecond\fi% si #1 est une séquence de contrôle
+ \ifcat\relax\expandafter\noexpand\CF_firsttonil#1\_nil\expandafter\CF_execfirst\else\expandafter\CF_execsecond\fi% si #1 est une séquence de contrôle
{\expandafter\ifdefined\CF_firsttonil#1\_nil
\ifCF_definesubmol
\CF_warning{the submol \expandafter\string\CF_firsttonil#1\_nil\space is already defined, the previous definition is lost}%
@@ -542,11 +542,11 @@
\let#1\CFthesubmol
}
-\def\CF_seeknode#1#2#3{% cherche un noeud au début de #1 l'assigne dans la sc #2 et met le reste dans #3
+\def\CF_seeknode#1#2#3{% cherche un noeud au début de #1 l'assigne dans la sc #2 et met le reste dans #3
\let#2\empty
\def#3{#1}%
\CF_iffirsttokmatch{#1}{ }%
- {\CF_expsecond\CF_seeknodea{\romannumeral-`\.\noexpand#1}#2#3}% ignore les espaces au début du groupe d'atome
+ {\CF_expsecond\CF_seeknodea{\romannumeral-`\.\noexpand#1}#2#3}% ignore les espaces au début du groupe d'atome
{\CF_seeknodea{#1}#2#3}%
}
@@ -581,7 +581,7 @@
}
% on sait que #1 commence par -,=,~,<,>. On analyse cette liaison
-% #2 reçoit le type de liaisons (1 pour -, 2 pour =, 3 pour ~)
+% #2 reçoit le type de liaisons (1 pour -, 2 pour =, 3 pour ~)
\def\CF_assignbondcode#1#2{%
\futurelet\CF_toksa\CF_gobtonil#1\_nil
\edef#2{%
@@ -589,14 +589,14 @@
\ifx=\CF_toksa2\else
\ifx~\CF_toksa3\else
\ifx>\CF_toksa4\else
- \ifx<\CF_toksa5\else0% si 0 --> il y a une erreur non due à l'utilisateur
+ \ifx<\CF_toksa5\else0% si 0 --> il y a une erreur non due à l'utilisateur
\fi\fi\fi\fi\fi}%
\ifnum#2>3 % si c'est une liaison de Cram
- \CF_expafter{\futurelet\CF_toksa\CF_gobtonil}{\CF_gobarg#1\_nil}% chope le caractère suivant
+ \CF_expafter{\futurelet\CF_toksa\CF_gobtonil}{\CF_gobarg#1\_nil}% chope le caractère suivant
\CF_ifx:\CF_toksa
- {\edef#2{\number\numexpr#2+2}% si c 'est un ":", signe du pointillé, ajoute 2
+ {\edef#2{\number\numexpr#2+2}% si c 'est un ":", signe du pointillé, ajoute 2
}%
- {\CF_ifx|\CF_toksa% si c 'est un "|", signe du triangle évidé, ajouter 4
+ {\CF_ifx|\CF_toksa% si c 'est un "|", signe du triangle évidé, ajouter 4
{\edef#2{\number\numexpr#2+4}}
{}%
}%
@@ -620,7 +620,7 @@
\CF_assignbondcode{#1}#2%
\CF_expsecond{\def\CF_remainafterbond}{\CF_gobarg#1}%mange le premier signe de la liaison
\let\CF_doublebondtype\CF_zero
- \ifnum#2=2 % si c'est une double liaison, regarde s'il y a un + ou - derrière
+ \ifnum#2=2 % si c'est une double liaison, regarde s'il y a un + ou - derrière
\CF_expafter{\futurelet\CF_toksa\CF_gobtonil}{\CF_gobarg#1\_nil}%
\CF_ifx^\CF_toksa
{\def\CF_doublebondtype{1}%
@@ -632,12 +632,12 @@
\fi
}%
\else
- \ifnum#2>5 % si c'est une laision de Cram pointillée ou triangle évidé
- \CF_expsecond{\def\CF_remainafterbond}{\CF_gobtwoargs#1}% mange un caractère de plus
+ \ifnum#2>5 % si c'est une laision de Cram pointillée ou triangle évidé
+ \CF_expsecond{\def\CF_remainafterbond}{\CF_gobtwoargs#1}% mange un caractère de plus
\fi
\fi
\CF_expsecond\CF_iffirsttokmatch\CF_remainafterbond\CFhash
- {\CF_eexpsecond\CF_iffirsttokmatch{\expandafter\CF_gobarg\CF_remainafterbond.}(%si parenthèse juste après
+ {\CF_eexpsecond\CF_iffirsttokmatch{\expandafter\CF_gobarg\CF_remainafterbond.}(%si parenthèse juste après
{\expandafter\CF_grabbondoffset\CF_remainafterbond\_nil}
{}%
}%
@@ -659,7 +659,7 @@
\pgfmathsetmacro\CF_cycleincrementangle{360/\CF_cyclenum+\CF_initcycleangle}%
\edef\CF_currentstringangle{::+\CF_cycleincrementangle}%
\def\CF_initcycleangle{0}%
- \let\CF_currentlength\CF_defaultlength% et on ignore la longueur de liaison spécifiée
+ \let\CF_currentlength\CF_defaultlength% et on ignore la longueur de liaison spécifiée
\fi
\CF_expsecond\CF_setbondangle{\CF_currentstringangle}\CF_currentangle
}
@@ -690,7 +690,7 @@
\def#3{#1}\def\CF_movebondcoeff{#2}%
}
-% Argument limités légitimes ici car #2 (qui est ce qui suit "@{<nom>}" dans l'argument optionnel) ne DOIT PAS
+% Argument limités légitimes ici car #2 (qui est ce qui suit "@{<nom>}" dans l'argument optionnel) ne DOIT PAS
% commencer par une accolade.
\def\CF_grabmovearg @#1#2\_nil{%
\CF_ifinstr{#1},%
@@ -730,7 +730,7 @@
\CF_expsecond{\def#2}{\CF_gobarg#1}%
}
-\def\CF_seeksubmol#1#2{% cherche et remplace ! au début de #1. #1=code #2=macro recevant le résultat
+\def\CF_seeksubmol#1#2{% cherche et remplace ! au début de #1. #1=code #2=macro recevant le résultat
\def\CF_seeksubmloltemp{#1}%
\CF_seeksubmola
\let#2\CF_seeksubmloltemp
@@ -739,7 +739,7 @@
\def\CF_seeksubmola{%
\CF_expsecond{\def\CF_seeksubmloltemp}{\romannumeral-`\.\expandafter\noexpand\CF_seeksubmloltemp}%
\CF_expsecond\CF_iffirsttokmatch{\CF_seeksubmloltemp}!%
- {\CF_eexpsecond{\def\CF_seeksubmloltemp}{\expandafter\CF_gobarg\CF_seeksubmloltemp}% enlève le "!"
+ {\CF_eexpsecond{\def\CF_seeksubmloltemp}{\expandafter\CF_gobarg\CF_seeksubmloltemp}% enlève le "!"
\CF_ifx\empty\CF_seeksubmloltemp
{\CF_error{no submol name found after "!"}}
{}%
@@ -755,13 +755,13 @@
\def\CF_seeksubmolb#1{\CF_seeksubmold#1\relax}
-\def\CF_seeksubmolc#1{\expandafter\CF_seeksubmold\csname CF__#1\endcsname\relax}% nom de la sous molécule
+\def\CF_seeksubmolc#1{\expandafter\CF_seeksubmold\csname CF__#1\endcsname\relax}% nom de la sous molécule
-\def\CF_seeksubmold#1#2\_nil{%#1=macro de la sous molécule #2=reste du code commençant par \relax
- \CF_expsecond{\CF_eexpsecond{\def\CF_seeksubmloltemp}}{\expandafter#1\CF_gobarg#2}% supprime le \relax puis ajoute la macro au début et la 2-développe
+\def\CF_seeksubmold#1#2\_nil{%#1=macro de la sous molécule #2=reste du code commençant par \relax
+ \CF_expsecond{\CF_eexpsecond{\def\CF_seeksubmloltemp}}{\expandafter#1\CF_gobarg#2}% supprime le \relax puis ajoute la macro au début et la 2-développe
}
-\def\CF_insertemptygroup#1{% insère {} au début de la sc #1
+\def\CF_insertemptygroup#1{% insère {} au début de la sc #1
\CF_expsecond{\def#1}{\expandafter{\expandafter}#1}%
}
@@ -783,7 +783,7 @@
}
{\let\CF_atendofchemfig\relax
}%
- \expanded{% début du tikzpicture
+ \expanded{% début du tikzpicture
\unexpanded{#1}[%
remember picture,%
every node/.style={%
@@ -797,7 +797,7 @@
\unexpanded\expandafter{\CF_chemfigstyle}%
]%
}%
- \begingroup% \endgroup rajouté en sortie de tracé par \CF_chemfigd
+ \begingroup% \endgroup rajouté en sortie de tracé par \CF_chemfigd
\let\CF_hooklist\empty
\ifboolKV[chemfig]{fixed length}
{\CF_macrofixedbondlengthtrue}
@@ -813,16 +813,16 @@
\ifboolKV[chemfig]{autoreset cntcycle}
{\global\CF_cntcycle0 }
{}%
- \let\CF_lastaction\CF_zero% 0=début du dessin 1=tracé d'un noeud 2=tracé d'une liaison
+ \let\CF_lastaction\CF_zero% 0=début du dessin 1=tracé d'un noeud 2=tracé d'une liaison
\let\CF_startoffset\empty
\let\CF_endoffset\empty
\let\CF_bondoutcontentsaved\empty
\def\CF_cycleanglecorrection{180/\CF_cyclenum}%
\def\CF_defaultangle{0}%
- \def\CF_defaultstringangle{:0}% angle pris par défaut si le champ est vide
+ \def\CF_defaultstringangle{:0}% angle pris par défaut si le champ est vide
\def\CF_defaultlength{1}%
- \let\CF_defaultfromatom\empty% numero de l'atome d'où partent les liaisons par défaut
- \let\CF_defaulttoatom\empty% numéro de l'atome où arrivent les laisons par défaut
+ \let\CF_defaultfromatom\empty% numero de l'atome d'où partent les liaisons par défaut
+ \let\CF_defaulttoatom\empty% numéro de l'atome où arrivent les laisons par défaut
\let\CF_defaulttikz\empty
\let\CF_previousbondangle\empty
\let\CF_joinbond\CF_zero
@@ -832,22 +832,22 @@
\expandafter\CF_assigntonil\expandafter\CF_molecule\scantokens{#4}%
\CF_expsecond{\CF_substall\CF_molecule}\CFhash\CFhash
\CF_expsecond\CF_chemfigc{\CF_molecule}%
- %\endgroup <-- rajouté par \CF_chemfigd
+ %\endgroup <-- rajouté par \CF_chemfigd
#2% fin du tikzpicture
\CF_atendofchemfig
\endgroup
\let\CF_flipstate\CF_zero
}
-\def\CF_chemfigc#1{% #1 est le code de la molécule
+\def\CF_chemfigc#1{% #1 est le code de la molécule
\ifnum\CF_lastaction=3
\ifCF_incycle
\def\CF_defaultangle{0}%
\else
- \ifnum\CF_cntcyclebonds=0 % si c'est le début d'un cycle
- \pgfmathsetmacro\CF_defaultangle{\CF_previousangle+180+\CF_cycleanglecorrection}% on met la liaison à +180° + correction
+ \ifnum\CF_cntcyclebonds=0 % si c'est le début d'un cycle
+ \pgfmathsetmacro\CF_defaultangle{\CF_previousangle+180+\CF_cycleanglecorrection}% on met la liaison à +180° + correction
\else
- \pgfmathsetmacro\CF_defaultangle{\CF_previousangle-90+180/\CF_cyclenum}% sinon à la bissectrice du sommet du cycle
+ \pgfmathsetmacro\CF_defaultangle{\CF_previousangle-90+180/\CF_cyclenum}% sinon à la bissectrice du sommet du cycle
\fi
\fi
\let\CF_defaultstringangle\empty
@@ -882,7 +882,7 @@
{}%
\ifCF_cyclearc% on doit tracer l'arc de cercle dans le cycle ?
\pgfmathsetmacro\CF_cyclearcradius{\CF_cycleradiuscoeff*\CF_currentlength*\CF_atomsep/(2*tan(180/\CF_cyclenum))}%
- \node[at=(cyclecenter\number\CF_cntcycle),shift=(\CF_cyclearcstartangle:\CF_cyclearcradius pt)](initarc){};% le début de l'arc
+ \node[at=(cyclecenter\number\CF_cntcycle),shift=(\CF_cyclearcstartangle:\CF_cyclearcradius pt)](initarc){};% le début de l'arc
\CF_expafter{\draw[}\CF_cyclearcdirecttikz](initarc) arc (\CF_cyclearcstartangle:\CF_cyclearcendangle:\CF_cyclearcradius pt);%
\fi
\else
@@ -899,7 +899,7 @@
}
\def\CF_chemfigd{%
- \let\CF_nextaction\CF_chemfigd% à priori, on reboucle
+ \let\CF_nextaction\CF_chemfigd% à priori, on reboucle
\CF_ifx\CF_molecule\empty
{\let\CF_nextaction\endgroup
}
@@ -922,8 +922,8 @@
\fi}%
\CF_expafter{\futurelet\CF_toksa\CF_gobtonil}{\CF_molecule\relax\_nil}%
\CF_iffirsttokina{-=<>~}% la suite est une liaison
- {\ifnum\CF_lastaction=2 % c'est la deuxième liaison consécutive ?
- \CF_insertemptygroup\CF_molecule% insère un groupe vide
+ {\ifnum\CF_lastaction=2 % c'est la deuxième liaison consécutive ?
+ \CF_insertemptygroup\CF_molecule% insère un groupe vide
\edef\CF_bondoutnode{\CF_bondoutnode}%
\else
\ifCF_incycle
@@ -954,18 +954,18 @@
}%
\fi
\ifcat\relax\detokenize\expandafter{\romannumeral-`\.\expandafter\noexpand\CF_molecule}\relax
- % s'il ne reste plus rien après la liaison (sans tenir compte de l'espace devant)-> insère un groupe vide
+ % s'il ne reste plus rien après la liaison (sans tenir compte de l'espace devant)-> insère un groupe vide
\CF_insertemptygroup\CF_molecule
\fi
}%
- {\edef\CF_bondoutnode{\CF_bondoutnode}% évalue le l'atome de départ de liaison
- \CF_ifx(\CF_toksa% une parenthèse pour commencer ?
+ {\edef\CF_bondoutnode{\CF_bondoutnode}% évalue le l'atome de départ de liaison
+ \CF_ifx(\CF_toksa% une parenthèse pour commencer ?
{\ifnum\CF_lastaction=2 % il y avait une liaison juste avant ?
\CF_insertemptygroup\CF_molecule
\else
\CF_expsecond\CF_grabsubmol{\CF_molecule}%
\begingroup
- \ifCF_incycle\def\CF_lastaction{3}\fi% on était dans un cycle
+ \ifCF_incycle\def\CF_lastaction{3}\fi% on était dans un cycle
\CF_incyclefalse
\aftergroup\CF_chemfigd
\def\CF_nextaction{\CF_expsecond\CF_chemfigc{\CF_molinparen}}%
@@ -974,19 +974,19 @@
{\CF_ifx\CF_molecule\empty
{\let\CF_nextaction\endgroup
}
- {% ce qui reste après le noeud courant n'est pas vide, ne commence pas par "-=~", ni par une parenthèse
+ {% ce qui reste après le noeud courant n'est pas vide, ne commence pas par "-=~", ni par une parenthèse
\CF_ifx*\CF_toksa% un cycle ?
{\ifnum\CF_lastaction=2
- \CF_insertemptygroup\CF_molecule% insère un groupe vide
+ \CF_insertemptygroup\CF_molecule% insère un groupe vide
\else
\ifCF_incycle
\def\CF_lastaction{3}%
- \fi% on était dans un cycle
+ \fi% on était dans un cycle
\ifnum\CF_lastaction=3
\let\CF_lastcyclenum\CF_cyclenum
\fi
\CF_eexpsecond\CF_iffirsttokmatch{\expandafter\CF_gobarg\CF_molecule}*%
- {\CF_eexpsecond{\def\CF_molecule}{\expandafter\CF_gobarg\CF_molecule}% enlève la 1er étoile
+ {\CF_eexpsecond{\def\CF_molecule}{\expandafter\CF_gobarg\CF_molecule}% enlève la 1er étoile
\CF_eexpsecond\CF_iffirsttokmatch{\expandafter\CF_gobarg\CF_molecule}[% un crochet ensuite ?
{\expandafter\CF_cycleparsepreamblewithoptarg\CF_molecule\_nil% \begingroup inclus
}%
@@ -1083,8 +1083,8 @@
\CF_next
}
-% Créé 4 noeuds au dessus et au dessous des noeuds #1 et #2
-% à une distance de #3 du noeud #1 et #4 du noeud #2
+% Créé 4 noeuds au dessus et au dessous des noeuds #1 et #2
+% à une distance de #3 du noeud #1 et #4 du noeud #2
\def\CF_createnormnodes#1#2#3#4{%
\CF_doifnotempty{#3}
{\node[shape=coordinate,at=(#1),xshift=#3*\CF_normx,yshift=#3*\CF_normy](#11){};
@@ -1118,7 +1118,7 @@
}%
}
-\def\CF_drawbond#1#2#3#4#5{% #1=type de liaison #2 et #3:nom de noeuds de début et fin #4 et #5: contenu des atomes de début et fin
+\def\CF_drawbond#1#2#3#4#5{% #1=type de liaison #2 et #3:nom de noeuds de début et fin #4 et #5: contenu des atomes de début et fin
\CF_setoffset\CF_startoffset#4%
\CF_setoffset\CF_endoffset#5%
\let\CF_currentbondstyle\CF_bondstyle
@@ -1154,7 +1154,7 @@
\or
\CF_createnormnodes{#2@@}{#3@@}\CF_doublesep\CF_doublesep
\CF_drawaxisbond{#2}{#3}% trace la liaison simple dans l'axe\CF_drawbonda(#2@@)--(#3@@);
- \begingroup% ajuste éventuellement les longueurs des liaisons doubles
+ \begingroup% ajuste éventuellement les longueurs des liaisons doubles
\ifCF_incycle
\ifdim\CF_startoffset=0pt
\CF_edefaddtomacro\CF_currentbondstyle{,shorten <=\CF_doublebondlengthcorrection pt}%
@@ -1168,7 +1168,7 @@
\or
\CF_createnormnodes{#2@@}{#3@@}\CF_doublesep\CF_doublesep
\CF_drawaxisbond{#2}{#3}% trace la liaison simple dans l'axe\CF_drawbonda(#2@@)--(#3@@);
- \begingroup% ajuste éventuellement les longueurs des liaisons doubles
+ \begingroup% ajuste éventuellement les longueurs des liaisons doubles
\ifCF_incycle
\ifdim\CF_startoffset=0pt
\CF_edefaddtomacro\CF_currentbondstyle{,shorten \ifnum\CF_flipstate=0 <=-\else>=\fi\CF_doublebondlengthcorrection pt}%
@@ -1193,25 +1193,25 @@
\CF_createnormnodes{#3@@}{#2@@}{\CF_crambasewidth/2}{}%
\CF_expafter{\filldraw[}\CF_currentbondstyle,line join=bevel](#3@@1)--(#3@@2)--(#2@@)--cycle;
\let\CF_joinbond\CF_zero
- \or% 6 = liaison Cram pointillée de #2 vers #3
+ \or% 6 = liaison Cram pointillée de #2 vers #3
\scope
\CF_createnormnodes{#2@@}{#3@@}{\CF_crambasewidth/2}{}%
\CF_clipcramornot(#2@@1)--(#2@@2)--(#3@@)--(#2@@1);
\CF_expafter{\draw[}\CF_currentbondstyle,dash pattern=on \CF_cramdashlength off \CF_cramdashsep,line width=\CF_crambasewidth](#2@@)--(#3@@);
\endscope
\let\CF_joinbond\CF_zero
- \or% 7 = liaison Cram pointillée de #3 vers #2
+ \or% 7 = liaison Cram pointillée de #3 vers #2
\scope
\CF_createnormnodes{#3@@}{#2@@}{\CF_crambasewidth/2}{}%
\CF_clipcramornot(#3@@1)--(#3@@2)--(#2@@)--(#3@@1);
\CF_expafter{\draw[}\CF_currentbondstyle,dash pattern=on \CF_cramdashlength off \CF_cramdashsep,line width=\CF_crambasewidth](#3@@)--(#2@@);
\endscope
\let\CF_joinbond\CF_zero
- \or% 8 = liaison cram rectangle évidé de #2 vers #3
+ \or% 8 = liaison cram rectangle évidé de #2 vers #3
\CF_createnormnodes{#2@@}{#3@@}{\CF_crambasewidth/2}{}%
\CF_expafter{\draw[}\CF_currentbondstyle,line join=bevel](#2@@1)--(#2@@2)--(#3@@)--cycle;
\let\CF_joinbond\CF_zero
- \or% 9 = liaison cram rectangle évidé de #3 vers #1
+ \or% 9 = liaison cram rectangle évidé de #3 vers #1
\CF_createnormnodes{#3@@}{#2@@}{\CF_crambasewidth/2}{}%
\CF_expafter{\draw[}\CF_currentbondstyle,line join=bevel](#3@@1)--(#3@@2)--(#2@@)--cycle;
\let\CF_joinbond\CF_zero
@@ -1227,7 +1227,7 @@
\def\CF_drawaxisbondnojoin#1#2{\CF_drawbonda(#1@@)--(#2@@);}
-\def\CF_drawaxisbondjoin#1#2{% dessine une liaison simple dans l'axe avec raccord rétrograde
+\def\CF_drawaxisbondjoin#1#2{% dessine une liaison simple dans l'axe avec raccord rétrograde
\ifCF_incycle\ifnum\CF_cntcyclebonds=\CF_cyclenum\relax
\let\CF_nexttikz\CF_cyclefirsttikz
\fi\fi
@@ -1251,7 +1251,7 @@
\CF_ifx\CF_previoustikz\CF_currenttikz
{\def\CF_joinbond{1}%
\CF_ifzerodim\CF_previousatomgroup
- {\CF_ifx\CF_previousbondangle\empty% si début molécule
+ {\CF_ifx\CF_previousbondangle\empty% si début molécule
{\CF_drawbonda(#1@@)--(#2@@);
}
{\ifdim\CF_startoffset=0pt
@@ -1306,7 +1306,7 @@
\def\CF_hookdrawall{% dessine tous les crochets contenus dans la sc \CF_hookdraw
\CF_doifnotempty\CF_hookdrawlist
- {\expandafter\CF_hookdrawfirst\CF_hookdrawlist\_nil% trace un lien de crochet à crochet
+ {\expandafter\CF_hookdrawfirst\CF_hookdrawlist\_nil% trace un lien de crochet à crochet
\CF_hookdrawall
}%
}
@@ -1326,7 +1326,7 @@
\endgroup
}
-\def\CF_extractatom#1-#2\_nil{#2}% transforme le bound@outnode en n° de l'atome
+\def\CF_extractatom#1-#2\_nil{#2}% transforme le bound@outnode en n° de l'atome
\def\CF_gobblemovearg @#1#2\_nil#3{%
\expandafter\def\csname atom_\number\CF_cntatom\endcsname{#2}%
@@ -1341,8 +1341,8 @@
\def\vflipnext{\def\CF_flipstate{2}}
\let\CF_flipstate\CF_zero
-\def\CF_drawatomgroup#1#2#3{% #1=angle d'arrivée de la liaison #2=numero atome sur lequel arrive la liaison #3=groupe d'atomes
- \expandafter\let\expandafter\CF_bondoutcontent% assigne le contenu de l'atome d'où part la liaison
+\def\CF_drawatomgroup#1#2#3{% #1=angle d'arrivée de la liaison #2=numero atome sur lequel arrive la liaison #3=groupe d'atomes
+ \expandafter\let\expandafter\CF_bondoutcontent% assigne le contenu de l'atome d'où part la liaison
\csname
\ifdefined\CF_bondoutnode
atom_\expandafter\CF_extractatom\CF_bondoutnode\_nil
@@ -1358,7 +1358,7 @@
{\CF_drawatomgroupa{{}#3}}
{\CF_drawatomgroupa{#3}}%
\def\CF_currentatomgroup{#3}%
- \CF_removemovearg\CF_currentatomgroup% enlève les "@{<nom>}"
+ \CF_removemovearg\CF_currentatomgroup% enlève les "@{<nom>}"
\CF_ifinstr{#3}?%
{\CF_removehook\CF_currentatomgroup
\ifcat\relax\detokenize\expandafter{\romannumeral-`\.\expandafter\noexpand\CF_currentatomgroup}\relax
@@ -1398,7 +1398,7 @@
{\def\CF_nodestrut{\vphantom\CF_bondoutcontent}}%
{\def\CF_nodestrut{\vphantom\CF_bondoutcontentsaved}}%
}%
- \edef\CF_optstring{anchor=\ifnum\CF_lastaction=0 base\else\ifCF_incycle center\else\ifCF_macrofixedbondlength 180+#1\else center\fi\fi\fi,at=(CF_node),\CF_nodestyle}% premier atome de la molécule affiché
+ \edef\CF_optstring{anchor=\ifnum\CF_lastaction=0 base\else\ifCF_incycle center\else\ifCF_macrofixedbondlength 180+#1\else center\fi\fi\fi,at=(CF_node),\CF_nodestyle}% premier atome de la molécule affiché
\loop
\unless\ifnum\CF_cntatom>\CF_cntatomgroup
\CF_eexpafter
@@ -1422,10 +1422,10 @@
\repeat
\CF_cntatom\CF_hookatomnumber
\ifnum\CF_lastaction=2 % s'il faut tracer une liaison
- \gdef\CF_cycleanglecorrection{0}% alors c'est qu'un cycle ne peut pas commencer la molécule : annulation de la correction d'angle
+ \gdef\CF_cycleanglecorrection{0}% alors c'est qu'un cycle ne peut pas commencer la molécule : annulation de la correction d'angle
\CF_drawbond\CF_bondtype{\CF_bondoutnode}{n\number\CF_cntgroup-\number\CF_cntatom}\CF_previousatomgroup\CF_currentatomgroup
\fi
- \def\CF_lastaction{1}% met la dernière action à 1 : affichage d'un noeud
+ \def\CF_lastaction{1}% met la dernière action à 1 : affichage d'un noeud
\loop
\ifnum\CF_cntatom>1
\advance\CF_cntatom-1
@@ -1503,7 +1503,7 @@
}%
}
-% enlève tous les "@{nom}" de la sc #1
+% enlève tous les "@{nom}" de la sc #1
\def\CF_removemovearg#1{%
\CF_expsecond\CF_ifinstr{#1}@%
{\expandafter\CF_removemovearga#1\_nil#1%
@@ -1512,7 +1512,7 @@
{}%
}
-% enlève le premier "@{<nom>}" de l'argument et l'assigne à #2
+% enlève le premier "@{<nom>}" de l'argument et l'assigne à #2
\def\CF_removemovearga#1\_nil#2{%
\def\CF_removemoveargb##1@{%
\CF_expsecond{\def#2}{\CF_gobarg##1}% mange le \relax
@@ -1552,15 +1552,15 @@
\CF_drawatomgroupa{#1}%
}%
{\CF_ifx?\CF_toksa
- {\CF_expsecond\CF_iffirsttokmatch{\CF_gobarg#1}[% un crochet après le "?"
+ {\CF_expsecond\CF_iffirsttokmatch{\CF_gobarg#1}[% un crochet après le "?"
{\expandafter\CF_graboptarg\CF_gobarg#1\_nil\CF_afterhook}%
{\CF_expafter{\CF_graboptarg[]}{\CF_gobarg#1}\_nil\CF_afterhook}%
- \CF_exptwomacroargs\CF_ifinstr{\CF_hooklist}{\expandafter(\CF_hookcurrentname)}% crochet déjà défini ?
- {\CF_expsecond\CF_hookparselist{\CF_hookcurrentname}% chercher les caractéristiques du crochet sauvegardé
+ \CF_exptwomacroargs\CF_ifinstr{\CF_hooklist}{\expandafter(\CF_hookcurrentname)}% crochet déjà défini ?
+ {\CF_expsecond\CF_hookparselist{\CF_hookcurrentname}% chercher les caractéristiques du crochet sauvegardé
\CF_edefaddtomacro\CF_hookdrawlist{%
[\CF_hookcurrentname,\CF_hookcurrentlink,\CF_hookcurrenttikz]{\CF_hooksavedcoord}{n\number\CF_cntgroup-\number\CF_cntatomgroup}}%
\CF_eaddtomacro\CF_hookdrawlist{\expandafter{\CF_hooksavedcontent}}%
- \CF_eaddtomacro\CF_hookdrawlist{\expandafter{\CF_currentatom}}% ajoute les 4 arguments à la liste des crochets à tracer
+ \CF_eaddtomacro\CF_hookdrawlist{\expandafter{\CF_currentatom}}% ajoute les 4 arguments à la liste des crochets à tracer
\global\let\CF_hookdrawlist\CF_hookdrawlist
}%
{\CF_edefaddtomacro\CF_hooklist{(\CF_hookcurrentname)|n\number\CF_cntgroup-\number\CF_cntatomgroup|}%
@@ -1595,7 +1595,7 @@
\def#3{#2}%
}
-\def\CF_hookparselist#1{% #1 est le nom du noeud à retrouver
+\def\CF_hookparselist#1{% #1 est le nom du noeud à retrouver
\def\CF_hookparselista##1(#1)|##2|##3|##4\_nil{\def\CF_hooksavedcoord{##2}\def\CF_hooksavedcontent{##3}}%
\expandafter\CF_hookparselista\CF_hooklist\_nil
}
@@ -1630,12 +1630,12 @@
macro atom = \printatom,%macro qui prendra comme argument l'atome recevant la charge
circle = false,% false => noeud atome = rectangle
macro charge = ,% macro attendue (\printatom ou \ensuremath, par exemple) qui prendra comme argument la charge
- extra sep = 1.5pt,% séparation additionnelle entre le noeud (cercle ou rectangle) et la position des charges
+ extra sep = 1.5pt,% séparation additionnelle entre le noeud (cercle ou rectangle) et la position des charges
overlay = true,% charges en "surimpression"
shortcuts = true,% raccourcis \. \: \| et \" actifs pour Lewis
lewisautorot = true,% rotation auto charge Lewis
.radius = 0.15ex,% rayon du point
- :sep = 0.3em,% séparation des deux points
+ :sep = 0.3em,% séparation des deux points
.style = {fill=black},% style des points
"length = 1.5ex,% longueur rectangle
"width = .3ex,% largeur rectangle
@@ -1723,7 +1723,7 @@
\def\charge_b#1[#2]#3\_nil{%
\charge_c{#1}[#2]{#3}%
}
-\def\charge_c#1[#2]#3#4{% #1=TF pour overlay, #2= réglages, #3=liste d'emplacements, #4=atome
+\def\charge_c#1[#2]#3#4{% #1=TF pour overlay, #2= réglages, #3=liste d'emplacements, #4=atome
\setcharge{overlay=#1,#2}%
\setbox\CF_chargebox\hbox{\useKV[charge]{macro atom}{#4}}%
\CF_ifinsidetikz
@@ -1761,7 +1761,7 @@
\vrule width\wd\CF_chargebox height\CF_zero depth\CF_zero};% noeud pour placer les charges
\let\enableshortcuts\relax
\let\disableshortcuts\relax
- \ifboolKV[charge]{shortcuts}\CF_enableshortcuts{}% l'atome n'est _PAS_ concerné par les racourcis
+ \ifboolKV[charge]{shortcuts}\CF_enableshortcuts{}% l'atome n'est _PAS_ concerné par les racourcis
\charge_d#3,\CF_quark=%
\endtikzpicture
\CF_atendofcharge
@@ -1875,7 +1875,7 @@
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% S C H É M A S R É A C T I O N N E L S %%%
+%%% S C H É M A S R É A C T I O N N E L S %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\let\CF_schemenest\CF_zero
@@ -1970,7 +1970,7 @@
}
\def\CF_schemestartb[#1]{%
- \ifnum\CF_schemenest=1 % la commande n'est pas imbriquée ?
+ \ifnum\CF_schemenest=1 % la commande n'est pas imbriquée ?
\CF_cntcompound0
\fi
\edef\CF_currentnodename{c\number\CF_cntcompound}%
@@ -1998,7 +1998,7 @@
{\CF_ifx\CF_toksa\bgroup
{\ifCF_compound_is_chemfig% bugfix 1.6
\edef\CF_restore_hashcatcode{\catcode\number`\#=\number\catcode`\# \relax}%
- \catcode`\#12 % TODO ou carrément mettre # à 12 dans tout l'environnement ?
+ \catcode`\#12 % TODO ou carrément mettre # à 12 dans tout l'environnement ?
\fi
\CF_addnextarg
}
@@ -2007,7 +2007,7 @@
\CF_schemestartd
}
{\CF_ifx\CF_toksa\chemfig
- \CF_compound_is_chemfigtrue% mettre le flag à vrai
+ \CF_compound_is_chemfigtrue% mettre le flag à vrai
{}%
\afterassignment\CF_schemestartc
\CF_addtomacro\CF_compound
@@ -2020,7 +2020,7 @@
\CF_addtomacro\CF_compound{{#1}}%
\ifCF_compound_is_chemfig% bugfix 1.6
\CF_restore_hashcatcode
- \CF_compound_is_chemfigfalse% mettre le flag à faux
+ \CF_compound_is_chemfigfalse% mettre le flag à faux
\fi
\CF_schemestartc
}
@@ -2100,7 +2100,7 @@
}
\def\CF_arrowb(#1.#2[#3]--#4.#5[#6])#7{%
- \def\CF_currentarrowtype{#7}% nom de la flèche
+ \def\CF_currentarrowtype{#7}% nom de la flèche
\CF_doifempty\CF_currentarrowtype{\def\CF_currentarrowtype{->}}%
\CF_testopt{\CF_arrowc(#1.#2[#3]--#4.#5[#6])}{}%
}
@@ -2118,7 +2118,7 @@
}
% #1, #4 : nom des nodes #2, #5 : ancres des nodes #3, #6 : styles des nodes
-% #7 : angle flèche #8 : longueur flèche #9 : style tikz de la flèche
+% #7 : angle flèche #8 : longueur flèche #9 : style tikz de la flèche
\def\CF_arrowe(#1.#2[#3]--#4.#5[#6])#7#8#9{%
\let\CF_arrowcurrentstyle\CF_arrowstyle
\if @\expandafter\CF_firsttonil\detokenize{#1.}\_nil% si #1 commence par @
@@ -2154,7 +2154,7 @@
\def\CF_nextnodestyle{#6}%
\fi
\fi
- \CF_arrowgobspaces% mange les espaces puis exécute \CF_nextaction
+ \CF_arrowgobspaces% mange les espaces puis exécute \CF_nextaction
}
\def\CF_arrowgobspaces{\futurelet\CF_toksa\CF_arrowgobspacesa}
@@ -2167,7 +2167,7 @@
\expandafter\def\expandafter\CF_arrowgobspacesb\space{\futurelet\CF_toksa\CF_arrowgobspacesa}
-\def\CF_arrowf#1#2#3#4{% #1=angle #2=longueur #3=ancre départ #4=ancre arrivée
+\def\CF_arrowf#1#2#3#4{% #1=angle #2=longueur #3=ancre départ #4=ancre arrivée
\def\CF_nextaction{\let\CF_compound\empty\CF_schemestartc}%
\def\CF_arrowcurrentangle{#1}\CF_doifempty\CF_arrowcurrentangle{\let\CF_arrowcurrentangle\CF_arrowangle}%
\def\CF_currentarrowlength{#2}\CF_doifempty\CF_currentarrowlength{\let\CF_currentarrowlength\CF_arrowlength}%
@@ -2187,8 +2187,8 @@
\edef\CF_nextnodeanchor{\CF_ifempty{#4}{180+\CF_arrowcurrentangle}{#4}}%
}
-% trace un flèche initiée par (@nom--@nom)
-% #1=type de flèche #2=nom depart #3=ancre départ #4=nom arrivée #5=ancre arrivée #6=style flèche
+% trace un flèche initiée par (@nom--@nom)
+% #1=type de flèche #2=nom depart #3=ancre départ #4=nom arrivée #5=ancre arrivée #6=style flèche
\def\CF_directarrow#1#2#3#4#5#6{%
\CF_expsecond{\def\CF_arrowstartname}{\CF_gobarg#2}%
\CF_expsecond{\def\CF_arrowendname}{\CF_gobarg#4}%
@@ -2236,7 +2236,7 @@
\def\CF_mergexmin{16383.99999pt}\let\CF_mergeymin\CF_mergexmin
\CF_mergeparsenodelist#1(\relax)% calcule les maxi des positions
\pgfmathsetmacro\CF_mergeextremeresult{\csname CF_merge\CF_mergeextreme\endcsname\CF_mergesign\CF_mergefromcoeff*\CF_compoundsep}%
- \CF_mergec#1(\relax)% trace les lignes entre les noeuds précédents et la ligne de jonction
+ \CF_mergec#1(\relax)% trace les lignes entre les noeuds précédents et la ligne de jonction
\CF_expsecond{\def\CF_temp}{\expandafter[\CF_mergestyle,shorten <=0,shorten >=0,-]}%
\if x\expandafter\CF_firsttonil\CF_mergeextreme\_nil
\CF_addtomacro\CF_temp{(\CF_mergeextremeresult pt,\CF_mergeymax)--(\CF_mergeextremeresult pt,\CF_mergeymin)}%
@@ -2382,7 +2382,7 @@
{\CF_arrowcurrentangle-#390-#1}%
}
-% #1 = label #2 = position #3 = + ou - (au dessus ou au dessous) #4 : nom du noeud de départ
+% #1 = label #2 = position #3 = + ou - (au dessus ou au dessous) #4 : nom du noeud de départ
% #5 = label #6 = position #7 = + ou - (au dessus ou au dessous) #8 : nom du noeud de fin
\def\CF_arrowdisplaylabel#1#2#3#4#5#6#7#8{%
\CF_doifnotempty{#1#5}
@@ -2410,7 +2410,7 @@
}%
}
-% pose des noeuds décalés de la dimension #1 à (\CF_arrowstartnode) et (\CF_arrowendnode)
+% pose des noeuds décalés de la dimension #1 à (\CF_arrowstartnode) et (\CF_arrowendnode)
\def\CF_arrowshiftnodes#1{%
\unless\ifdim\CF_ifempty{#1}\CF_zero{#1}=0pt
\expanded{%
@@ -2713,226 +2713,226 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
v0.1 2010/06/23
- - Première version publique sur le CTAN
+ - Première version publique sur le CTAN
----------------------------------------------------------------------
v0.2 2010/08/31
- Ajout de la documentation en anglais.
- Correction de bugs.
- - \printatom est désormais une macro publique.
- - Les espaces sont permis dans les molécules. Ils seront
- ignorés par défaut puisque les atomes sont composés en
+ - \printatom est désormais une macro publique.
+ - Les espaces sont permis dans les molécules. Ils seront
+ ignorés par défaut puisque les atomes sont composés en
mode math par \printatom
- - Une paire de Lewis peut être représentée ":".
+ - Une paire de Lewis peut être représentée ":".
- Dans les cycles, une correction de la longueur du trait
- déporté des liaisons doubles est fait de telle sorte que si
- l'on écrit \chemfig{*5(=====)}, on obtient deux polygones
- réguliers concentriques.
- - La séquence de contrôle \setnodestyle permet de spécifier
- le style des n?uds dessinés par tikz.
+ déporté des liaisons doubles est fait de telle sorte que si
+ l'on écrit \chemfig{*5(=====)}, on obtient deux polygones
+ réguliers concentriques.
+ - La séquence de contrôle \setnodestyle permet de spécifier
+ le style des n?uds dessinés par tikz.
----------------------------------------------------------------------
v0.3 2010/11/21
- - Amélioration de \definesubmol qui accepte les séquences de
- contrôle. On peut aussi choisir un alias dont la substitution
- est différente selon l'orientation de la liaison qui lui
+ - Amélioration de \definesubmol qui accepte les séquences de
+ contrôle. On peut aussi choisir un alias dont la substitution
+ est différente selon l'orientation de la liaison qui lui
arrive dessus.
- - Le caractère "|" force la fin d'un atome. Si on écrit
+ - Le caractère "|" force la fin d'un atome. Si on écrit
"D|ef" alors, chemfig verra deux atomes "D" et "ef".
- - Le caractère "#" est reconnu lorsqu'il suit un caractère de
- liaison. Il doit être suivi d'un argument entre parenthèses
- qui contient l'offset de début et de fin qui s'appliqueront
- à cette liaison.
- - La macro \chemfig admet un argument optionnel qui sera passé
- à l'environnement tikzpicture dans lequel elle est dessinée
- - Mise en place de la représentation des mécanismes
- réactionnels avec la syntaxe "@{<nom>}" devant un atome où
- "@{<nom>,<coeff>}" au tout début de l'argument d'une liaison.
+ - Le caractère "#" est reconnu lorsqu'il suit un caractère de
+ liaison. Il doit être suivi d'un argument entre parenthèses
+ qui contient l'offset de début et de fin qui s'appliqueront
+ à cette liaison.
+ - La macro \chemfig admet un argument optionnel qui sera passé
+ à l'environnement tikzpicture dans lequel elle est dessinée
+ - Mise en place de la représentation des mécanismes
+ réactionnels avec la syntaxe "@{<nom>}" devant un atome où
+ "@{<nom>,<coeff>}" au tout début de l'argument d'une liaison.
Cette syntaxe permet de placer un n?ud (au sens de tikz) qui
- deviendra l'extrémité des flèches des mécanismes.
- Le tracé des flèches est faite par la macro \chemmove dont
+ deviendra l'extrémité des flèches des mécanismes.
+ Le tracé des flèches est faite par la macro \chemmove dont
l'argument optionnel devient celui de l'environnement
- tikzpicture dans lequel sont faites les flèches.
- - Pour le mécanisme d'alignement vertical via le \vphantom, la
+ tikzpicture dans lequel sont faites les flèches.
+ - Pour le mécanisme d'alignement vertical via le \vphantom, la
commande \chemskipalign permet d'ignorer le groupe d'atomes
- dans lequel elle est écrite.
+ dans lequel elle est écrite.
- La commande \chemname permet d'afficher un nom sous une
- molécule. la commande \chemnameinit initialise la plus grande
- profondeur rencontrée.
- - La commande \lewis a été modifiée de telle sorte que les
- dessins des décorations soient proportionnels à la taille
+ molécule. la commande \chemnameinit initialise la plus grande
+ profondeur rencontrée.
+ - La commande \lewis a été modifiée de telle sorte que les
+ dessins des décorations soient proportionnels à la taille
de la police.
----------------------------------------------------------------------
v0.3a 2011/01/08
- Correction d'un bug dans l'argument optionnel de \definesubmol
lorsque celui-ci comporte des crochets.
- - Mise à jour du manuel en anglais.
+ - Mise à jour du manuel en anglais.
- Ajout de \vflipnext et \hflipnext pour retourner
- horizontalement ou verticalement la prochaine molécule.
+ horizontalement ou verticalement la prochaine molécule.
----------------------------------------------------------------------
v0.4 2011/03/07
- - chemfig est désormais écrit en plain-etex et donc
+ - chemfig est désormais écrit en plain-etex et donc
utilisable par d'autres formats que LaTeX.
- - Un peu plus de rigueur avec les catcodes des caractères
- spéciaux, notamment lorsque la commande \chemfig se trouve
+ - Un peu plus de rigueur avec les catcodes des caractères
+ spéciaux, notamment lorsque la commande \chemfig se trouve
dans l'argument de \chemmove, \chemabove, \chembelow, \chemrel.
- TODO : faut-il \scantoker l'argument de \chemfig pour être
- définitivement débarrassé de ces histoires de catcode ???
+ TODO : faut-il \scantoker l'argument de \chemfig pour être
+ définitivement débarrassé de ces histoires de catcode ???
- Correction d'un bug dans le calcul de l'angle des liaisons
----------------------------------------------------------------------
v0.4a 2011/04/10
- - Correction d'un bug concernant l'argument optionnel en début
- de molécule.
+ - Correction d'un bug concernant l'argument optionnel en début
+ de molécule.
----------------------------------------------------------------------
v0.4b 2011/04/24
- - l'argument de \chemfig est tokénisé avec \scantokens ce qui
- rend caduc tout souci de code de catégorie, à part #.
- - la commande \setbondstyle permet de définir le style des
+ - l'argument de \chemfig est tokénisé avec \scantokens ce qui
+ rend caduc tout souci de code de catégorie, à part #.
+ - la commande \setbondstyle permet de définir le style des
liaisons.
- correction de l'affichage incorrect des doubles liaisons dans
- les cycles après les commandes \hflipnext et \vflipnext
- - correction d'un bug lorsqu'un alias commence une molécule
+ les cycles après les commandes \hflipnext et \vflipnext
+ - correction d'un bug lorsqu'un alias commence une molécule
----------------------------------------------------------------------
v1.0 2011/06/15
- - les schémas réactionnels sont désormais disponibles.
+ - les schémas réactionnels sont désormais disponibles.
- \Chemabove et \Chembelow modifient la boite englobante.
- \Lewis modifie la boite englobante
- les macros \chemleft, \chemright, \chemup et \chemdown
- affichent des délimiteurs extensibles à gauche, à droite,
- au dessus et au dessous d'un matériel.
+ affichent des délimiteurs extensibles à gauche, à droite,
+ au dessus et au dessous d'un matériel.
----------------------------------------------------------------------
v1.0a 2011/09/18
- les macros \Lewis et \lewis admettent un argument optionnel
- - la macro \setlewisdist règle la distance entre les 2
- électrons
+ - la macro \setlewisdist règle la distance entre les 2
+ électrons
----------------------------------------------------------------------
v1.0b 2011/11/29
- - la commande \merge est désormais protégée entre
- \schemestart et \schemestop contre des définitions par d'autres
+ - la commande \merge est désormais protégée entre
+ \schemestart et \schemestop contre des définitions par d'autres
packages.
- - \box0 est utilisé au lieu du maladroit \unhbox0
+ - \box0 est utilisé au lieu du maladroit \unhbox0
----------------------------------------------------------------------
v1.0c 2011/11/30
- - la macro \+ n'est plus explicitement écrite
- - vérifie que eTeX est le moteur utilisé
+ - la macro \+ n'est plus explicitement écrite
+ - vérifie que eTeX est le moteur utilisé
----------------------------------------------------------------------
v1.0d 2011/12/19
- - les cercles des cycles étaient tracés au mauvais moment. La
- longueur de la liaison qui les précédait influait sur le
+ - les cercles des cycles étaient tracés au mauvais moment. La
+ longueur de la liaison qui les précédait influait sur le
rayon du cercle : \chemfig{-[,0.5]**6(------)} donnait un bug
- à l'affichage.
+ à l'affichage.
----------------------------------------------------------------------
v1.0e 2012/01/13
- la gestion des espaces dans les groupes d'atomes est
- désormais plus rigoureuse. Plusieurs bugs ont été
- corrigé
+ désormais plus rigoureuse. Plusieurs bugs ont été
+ corrigé
----------------------------------------------------------------------
v1.0f 2012/02/24
- - correction d'un bug avec \definesubmol, les catcodes n'étaient
- pas correctement gérés.
+ - correction d'un bug avec \definesubmol, les catcodes n'étaient
+ pas correctement gérés.
----------------------------------------------------------------------
v1.0g 2012/11/16
- correction d'un bug dans \CF_directarrow pour faire prendre en
- compte le style des flèche par défaut
- - correction d'un bug dans \CF_lewisc : la boite *doit* être
- composée en dehors de l'environnement tikzpicture pour
- éviter nullfont si jamais \printatom ne passe pas en mode
+ compte le style des flèche par défaut
+ - correction d'un bug dans \CF_lewisc : la boite *doit* être
+ composée en dehors de l'environnement tikzpicture pour
+ éviter nullfont si jamais \printatom ne passe pas en mode
math.
- correction d'un bug dans \CF_chemfigc : si une longueur par
- défaut est modifiée par [,<l>] au début d'une molécule
- et si des cycles étaient emboités, cette longueur n'était
- pas appliquée aux sous-cycles.
- - ré-écriture des macros \chemabove et \chembemow pour
- prendre en compte le bug (désormais corrigé) dans luatex.
- - nouvelle macro \setstacksep qui définit l'espacement par
- défaut dans les macros \chemabove et \chembelow.
+ défaut est modifiée par [,<l>] au début d'une molécule
+ et si des cycles étaient emboités, cette longueur n'était
+ pas appliquée aux sous-cycles.
+ - ré-écriture des macros \chemabove et \chembemow pour
+ prendre en compte le bug (désormais corrigé) dans luatex.
+ - nouvelle macro \setstacksep qui définit l'espacement par
+ défaut dans les macros \chemabove et \chembelow.
----------------------------------------------------------------------
v1.0h 2013/11/28
- - \chemname admet maintenant une version étoilé qui ne tient
- pas compte des profondeurs précédentes.
- - \CF_dpmax est géré globalement.
- - correction d'un bug dans "-U>" : le style de la flèche
- n'était pris en compte pour l'arc.
+ - \chemname admet maintenant une version étoilé qui ne tient
+ pas compte des profondeurs précédentes.
+ - \CF_dpmax est géré globalement.
+ - correction d'un bug dans "-U>" : le style de la flèche
+ n'était pris en compte pour l'arc.
- correction d'un bug dans \CF_directarrow : l'angle de la
- flèche n'était pas calculé
+ flèche n'était pas calculé
----------------------------------------------------------------------
v1.1 2015/02/13
- correction d'un bug dans \CF_seeksubmol : la macro
- \CF_molecule est dépouillé de son éventuel espace
- en première position.
+ \CF_molecule est dépouillé de son éventuel espace
+ en première position.
- correction d'un bug dans \CF_arrowf : le nom du prochain
- n?ud courant "end@arrow@i" était erroné dans le cas où une
- flèche contenait un sous schéma. Ce nom doit dépendre de
+ n?ud courant "end@arrow@i" était erroné dans le cas où une
+ flèche contenait un sous schéma. Ce nom doit dépendre de
\CF_schemenest.
- - la jonction entre deux liaisons consécutives dans l'axe peut
- être activé avec \enablebondjoin et désactivé avec
- \disablebondjoin (préférable, état par défaut).
- - \chemfig suivi d'une "*" demande à ce que les liaisons aient
+ - la jonction entre deux liaisons consécutives dans l'axe peut
+ être activé avec \enablebondjoin et désactivé avec
+ \disablebondjoin (préférable, état par défaut).
+ - \chemfig suivi d'une "*" demande à ce que les liaisons aient
une longueur invariable : la distance inter-atome devient donc
- variable. Cette fonctionnalité est désactivé dans les
- cycles afin que les polygones soient réguliers.
- \enablefixedbondlength permet cette fonctionnalité pour
- toutes les macros \chemfig (même non étoilée) tandis que
- \disablefixedbondlength le désactive.
+ variable. Cette fonctionnalité est désactivé dans les
+ cycles afin que les polygones soient réguliers.
+ \enablefixedbondlength permet cette fonctionnalité pour
+ toutes les macros \chemfig (même non étoilée) tandis que
+ \disablefixedbondlength le désactive.
----------------------------------------------------------------------
v1.1a 2015/02/23
- correction d'un bug dans \CF_grabbondoffset. Si \chemfig est
- dans l'argument d'une macro, les # sont doublés par l'action
+ dans l'argument d'une macro, les # sont doublés par l'action
de \scantokens de la macro \CF_chemfigb et il faut un
- argument délimité avant "(" pour absorber tous les #.
+ argument délimité avant "(" pour absorber tous les #.
----------------------------------------------------------------------
v1.2 2015/10/08
- - correction d'un bug dans le tracé des liaisons de Cram.
- - création de \setangleincrement.
- - chargement de "arrows.meta" et définition de la flèche "CF"
- basée sur "Stealth" et définie avec \pgfdeclarearrow.
- Les anciennes flèches "CF_full" et "CF_half" sont
- abandonnées puisque définies avec \pgfarrowsdeclare.
- - flèche "-U>" corrigée : le placement des labels est
+ - correction d'un bug dans le tracé des liaisons de Cram.
+ - création de \setangleincrement.
+ - chargement de "arrows.meta" et définition de la flèche "CF"
+ basée sur "Stealth" et définie avec \pgfdeclarearrow.
+ Les anciennes flèches "CF_full" et "CF_half" sont
+ abandonnées puisque définies avec \pgfarrowsdeclare.
+ - flèche "-U>" corrigée : le placement des labels est
maintenant correct dans tous les cas. Ainsi :
-U>[<a>][<b>][<d>][r][a]
- place le label <a> près du début de la flèche, quels que
+ place le label <a> près du début de la flèche, quels que
soient les signes du rayon r et de l'angle a.
- - \chemrel, \setchemrel et \chemsign sont supprimées.
- - compatibilité, avec les limitations d'usage, avec la
+ - \chemrel, \setchemrel et \chemsign sont supprimées.
+ - compatibilité, avec les limitations d'usage, avec la
librairie "externalize" : le \begin{tikzpicture} voit
- désormais le \end{tikzpicture} correspondant dans la macro
+ désormais le \end{tikzpicture} correspondant dans la macro
\CF_chemfigb.
----------------------------------------------------------------------
v1.2a 2015/10/21
- - erreur de copier-coller dans le code: une adresse url était
- malencontreusement présente en plein milieu d'une ligne de
+ - erreur de copier-coller dans le code: une adresse url était
+ malencontreusement présente en plein milieu d'une ligne de
code
----------------------------------------------------------------------
v1.2b 2015/11/15
- bug dans \CF_seeksubmol qui laissait "*" dans le flux de
- lecture de TeX. Un message d'erreur est également ajouté
+ lecture de TeX. Un message d'erreur est également ajouté
en cas de "!" en fin de traitement.
- - correction d'un bug dans \CF_setbondangle où l'angle [<:a>]
- n'était pas évalué par \pgfmathsetmacro.
+ - correction d'un bug dans \CF_setbondangle où l'angle [<:a>]
+ n'était pas évalué par \pgfmathsetmacro.
----------------------------------------------------------------------
v1.2c 2015/11/20
- - Correction d'un bug dans \CF_setbondangle : l'angle renvoyé
- pouvait être négatif
+ - Correction d'un bug dans \CF_setbondangle : l'angle renvoyé
+ pouvait être négatif
- Correction d'un bug dans \CF_directarrow : la macro \CF_ifempty
- n'est pas correctement développée dans l'argument de
+ n'est pas correctement développée dans l'argument de
\pgfpointanchor
----------------------------------------------------------------------
v1.2d 2015/12/01
- - correction d'un bug dans la flèche "-U"
- - la version étoilée de \setcrambond dessine les liaisons de
- Cram en pointillés sous forme de trait large et non pas sous
+ - correction d'un bug dans la flèche "-U"
+ - la version étoilée de \setcrambond dessine les liaisons de
+ Cram en pointillés sous forme de trait large et non pas sous
forme de triangle.
----------------------------------------------------------------------
v1.2e 2017/05/20
- - la macro contenant la définition d'une flèche est
- désormais "\CF_arrow(<nom>)", ainsi la macro \0 n'est plus
- définie par \definearrow
- - remerciements rajoutés après une suppression indue, pour ne
- froisser aucune susceptibilité
+ - la macro contenant la définition d'une flèche est
+ désormais "\CF_arrow(<nom>)", ainsi la macro \0 n'est plus
+ définie par \definearrow
+ - remerciements rajoutés après une suppression indue, pour ne
+ froisser aucune susceptibilité
----------------------------------------------------------------------
v1.3 2018/03/08
- - tous les paramètres sont désormais passés via \setchemfig qui
- fait appel à "simplekv". Par conséquent, _toutes_ les macros qui
- réglaient des paramètres deviennent obsolètes, à savoir :
+ - tous les paramètres sont désormais passés via \setchemfig qui
+ fait appel à "simplekv". Par conséquent, _toutes_ les macros qui
+ réglaient des paramètres deviennent obsolètes, à savoir :
\setcrambond, \setatomsep, \setbondoffset, \setdoublesep,
\setangleincrement, \enablefixedbondlength,
\disablefixedbondlength, \setnodestyle, \setbondstyle,
@@ -2940,42 +2940,42 @@ v1.3 2018/03/08
\setarrowdefault, \setandsign, \setarrowoffset,
\setcompoundsep, \setarrowlabelsep, \enablebondjoin,
\disablebondjoin et \schemedebug.
- et ces macros seront *supprimées* dans une future version.
- - la version étoilée "\chemfig*" et les deux arguments optionnels
- de la macro "\chemfig[][]" sont également optionnels et seront
- *supprimé*s dans une future version afin d'accéder à la syntaxe
- \chemfig[clés=valeurs]{code}
- - 6 nouveaux paramètres : "lewis radius", "arrow double sep",
+ et ces macros seront *supprimées* dans une future version.
+ - la version étoilée "\chemfig*" et les deux arguments optionnels
+ de la macro "\chemfig[][]" sont également optionnels et seront
+ *supprimé*s dans une future version afin d'accéder à la syntaxe
+ \chemfig[clés=valeurs]{code}
+ - 6 nouveaux paramètres : "lewis radius", "arrow double sep",
"arrow double coeff", "arrow double harpoon", "cycle radius
coeff", "arrow head".
- correction d'un bug dans \CF_parsemergeopt qui dans certains
- cas, envoyait vers l'affichage des caractères
+ cas, envoyait vers l'affichage des caractères
- petit toilettage du code
- - macro \polymerdelim (non documentée) expérimentale et encore
+ - macro \polymerdelim (non documentée) expérimentale et encore
en phase de tests
- - suppression d'un registre d'écriture de fichier
+ - suppression d'un registre d'écriture de fichier
----------------------------------------------------------------------
v1.31 2018/04/05
- - correction d'un espace indésirable dans \CF_ifnextchar
+ - correction d'un espace indésirable dans \CF_ifnextchar
----------------------------------------------------------------------
v1.32 2018/08/23
- - définition de \printatom, \CF_begintikzpicture et
+ - définition de \printatom, \CF_begintikzpicture et
\CF_endtikzpicture dans le fichier t-chemfig.tex
----------------------------------------------------------------------
v1.33 2018/10/31
- - les macros définies par \definesubmol peuvent désormais avoir un ou
+ - les macros définies par \definesubmol peuvent désormais avoir un ou
plusieurs arguments
- - macro \polymerdelim documentée
+ - macro \polymerdelim documentée
----------------------------------------------------------------------
v1.34 2019/02/23
- - bug dans la flèche "<->" corrigé
+ - bug dans la flèche "<->" corrigé
----------------------------------------------------------------------
v1.4 2019/04/18
- corrections de nombreux bugs
- - caractère privé "_" et non plus "@" -> modifications à prévoir
- notamment dans la doc avec les codes spécifiques aux flèches, ça
+ - caractère privé "_" et non plus "@" -> modifications à prévoir
+ notamment dans la doc avec les codes spécifiques aux flèches, ça
risque de couiner sur tex.stackexchange.com
- - anciennes macros abandonnées et désormais indéfinies :
+ - anciennes macros abandonnées et désormais indéfinies :
\setcrambond, \setatomsep, \setbondoffset, \setdoublesep,
\setangleincrement, \enablefixedbondlength,
\disablefixedbondlength, \setnodestyle, \setbondstyle,
@@ -2983,64 +2983,69 @@ v1.4 2019/04/18
\setarrowdefault, \setandsign, \setarrowoffset,
\setcompoundsep, \setarrowlabelsep, \enablebondjoin,
\disablebondjoin et \schemedebug
- - l'ancienne syntaxe \chemfig[][]{} est abandonnée et n'est plus
- acceptée, désormais c'est
- \chemfig[<clés>=<valeurs>]{<code molécule>}
+ - l'ancienne syntaxe \chemfig[][]{} est abandonnée et n'est plus
+ acceptée, désormais c'est
+ \chemfig[<clés>=<valeurs>]{<code molécule>}
- l'ancienne syntaxe \lewis[<coeff>] ou \Lewis[<coeff>] n'est
- plus acceptée au profit de \lewis[<clés>=<valeurs>]
+ plus acceptée au profit de \lewis[<clés>=<valeurs>]
----------------------------------------------------------------------
v1.41 2019/05/21
- utilisation de la nouvelle primitive \expanded
- - nouvelle clé "h align" (true par défaut) pour les délimiteurs
- de \polymerdelim. Lorsque à false, les délimiteurs ne sont
- plus alignés horizontalement mais positionnés aux noeuds demandés
- - nouvelle clé "auto rotate" qui n'a de sens que si h align=false :
- les délimiteurs sont automatiquement inclinés
- - nouvelle clé "rotate" qui n'a de sens que si halign=false ET
- auto rotate=false : l'inclinaison des délimiteurs peut être
+ - nouvelle clé "h align" (true par défaut) pour les délimiteurs
+ de \polymerdelim. Lorsque à false, les délimiteurs ne sont
+ plus alignés horizontalement mais positionnés aux noeuds demandés
+ - nouvelle clé "auto rotate" qui n'a de sens que si h align=false :
+ les délimiteurs sont automatiquement inclinés
+ - nouvelle clé "rotate" qui n'a de sens que si halign=false ET
+ auto rotate=false : l'inclinaison des délimiteurs peut être
choisie
----------------------------------------------------------------------
v1.5 2020/03/05
- nouvelles macros \charge et \Charge. Les macros \lewis et \Lewis
- sont obsolètes et amenées à disparaitre à moyen terme (au moins
+ sont obsolètes et amenées à disparaitre à moyen terme (au moins
9 mois), soit fin 2020
- prise en compte de la dimension d'un groupe d'atome pour tracer
des liaisons jointives
- - bug corrigé dans \CF_seeknode
+ - bug corrigé dans \CF_seeknode
- ajout d'une section dans le manuel (placement des atomes)
----------------------------------------------------------------------
v1.51 2020/04/06
- - bug corrigé dans \chargerect_a et \chargeline_a
+ - bug corrigé dans \chargerect_a et \chargeline_a
----------------------------------------------------------------------
v1.52 2020/04/14
- - bug : définition corrigée de \CFthesubmol dans \def_submolc pour
- qu'elle se développe en 1 coup seulement
+ - bug : définition corrigée de \CFthesubmol dans \def_submolc pour
+ qu'elle se développe en 1 coup seulement
----------------------------------------------------------------------
v1.53 2020/04/27
- - mise à jour en fonction des nouvelles fonctionnalités de
+ - mise à jour en fonction des nouvelles fonctionnalités de
l'extension simplekv
- - bug : \CF_ifzerodim interrompt maintenant le tracé dans la \hbox
+ - bug : \CF_ifzerodim interrompt maintenant le tracé dans la \hbox
----------------------------------------------------------------------
v1.54 2020/05/21
- chemfig ne peut plus fonctionner sans \expanded
- - bug : un signe "=" laissé par erreur dans le flux
+ - bug : un signe "=" laissé par erreur dans le flux
----------------------------------------------------------------------
v1.55 2020/06/15
- - chemfig est incompatible avec conTeXt, vu que ce moteur redéfinit
- des primitives telles que \expanded, \unexpanded et peut être
+ - chemfig est incompatible avec conTeXt, vu que ce moteur redéfinit
+ des primitives telles que \expanded, \unexpanded et peut être
d'autres.
----------------------------------------------------------------------
v1.56 2020/07/13
- - le centre des cycles est désormais accessible via un noeud
- spécifique pour chacun d'eux.
+ - le centre des cycles est désormais accessible via un noeud
+ spécifique pour chacun d'eux.
----------------------------------------------------------------------
v1.6 2021/02/26
- - les macros des formules de Lewis sont retirées et placées dans
- le fichier séparé "lewis.tex" que l'utilisateur peut charger
+ - les macros des formules de Lewis sont retirées et placées dans
+ le fichier séparé "lewis.tex" que l'utilisateur peut charger
s'il le souhaite
- - ajout d'une clé <debug> pour le trousseau [chemfig]
- - à l'intérieur d'un schéma, le token '#' est permis dans
+ - ajout d'une clé <debug> pour le trousseau [chemfig]
+ - à l'intérieur d'un schéma, le token '#' est permis dans
l'argument de \chemfig
----------------------------------------------------------------------
v1.6a 2021/02/28
- - le fichier lewis.tex a été renommé chemfig-lewis.tex
+ - le fichier lewis.tex a été renommé chemfig-lewis.tex
+----------------------------------------------------------------------
+v1.6b 2021/08/01
+ - encodage UTF-8
+ - la macro \# n'était pas définie pour remplacer «#(...)» lorsque
+ \chemfig se trouve dans l'argument d'une macro.