Changes

Jump to navigation Jump to search
5,298 bytes added ,  19:40, 1 October 2023
add link to publications manual
ConTeXt comes with the extensive chemistry module PPCHTeX which allows the drawing of chemical structures and the typesetting of reactions.< [[Math]], [[XML]], [[Graphics]], [[MetaPost]] >
PPCHTeX works ConTeXt always came with plainTeX, LaTeX extensive chemistry support including drawing of chemical structures and - the typesetting of cause - with ConTeXtreactions.
In MkII this was called PPCHTeX, which works also with plain TeX and LaTeX. There doesn’t seem to be any current documentation (all previous links were long dead), while chemistry support is still part of the distribution, but currently broken. (2023-10-01: part of the math upgrade, please wait until it becomes stable.) There are a few working examples in the [[manual:mkiv-publications.pdf|publications]] manual (chapter 10.2), i.e. in the file [https://source.contextgarden.net/doc/context/sources/general/manuals/publications/C6H6O.bib C6H6O.bib]. Some other links about chemistry in ConTeXt:* [[manual:mkiv-publications.pdf|publications]] manual – use the bibliography database for chemicals* [[Chromatograms]] macro* [[manual:xchemml-p.pdf|ChemML]] ([[manual:xchemml-s.pdf|screen]]), [[MathML]] extension for chemistry. == Using {{cmd|chemical}} == This is the built-in version of the previous `chemic` module. <context source="yes"> \chemical{HSO_4^{-}}</context> You can also typeset chemical ''reactions'': <context source="yes"> \startformula \chemical{2H_2,+,O_2,->,2H_2O}\stopformula</context> == Chemical structures == (The “good” images are old; the broken ones are the result of the current code.) <context source="yes"> \startchemical \chemical[FIVE,FRONT,BB125,+SB3,-SB4,Z4][O] \chemical[FIVE,FRONT,+R1235,+RZ1235][H,H,\SR{HOH_2C},OH] \chemical[FIVE,FRONT,-R1235,-RZ1235][H,OH,H,H]\stopchemical</context> [[Image:Chemistry_example1.png]] <context source="yes"> \setupchemical[width=fit] \startchemical \chemical[SIX,B,C,MOV2,B,C,R234,RZ234,MOV5,MOV6,B,C,R561,RZ561] [R,R,R,R,R,R]\stopchemical</context> [[Image:chemistry_example2.png]] To draw this structure horizontally:<context source="yes"> \setupchemical[width=fit] \def\RotR{\rotate[rotation=270]{\ix R}} \rotate[rotation=90]{\startchemical \chemical[SIX,B,C,MOV2,B,C,R234,RZ234,MOV5,MOV6,B,C,R561,RZ561] [\RotR,\RotR,\RotR,\RotR,\RotR,\RotR]\stopchemical}</context> [[Image:chemistry_example3.png]] An example of an amino acid: Histidine (Ace-His-Nme).The rest of the amino acids are shown in [http://wwwtt4sci.pragma-adewordpress.com/ppchtex2009/08/05/drawing-organic-molecules-in-latex-ii-amino-acids/ TT4Sci]<context source="yes"> \definechemical[radical]{\chemical[SAVE,ONE,SB768,Z068][C,H,H]\chemical[MOV7,ONE,Z0][C]\chemical[MOV7,FIVE,ROT4,SB12345,EB42,Z1235,SR125,RZ125,RESTORE][N,C,N,C,H,H,H]}\startchemical[scale=big,size=big,left=2600,right=4200,bottom=2800,top=4500]\bottext{Histidine}\chemical[SIX,SB23]\chemical[PB:Z1,SAVE,radical,RESTORE,PE]\chemical[PB:Z2,ONE,SB37,Z03,PE][\SL{C^{\alpha}},H^{\alpha 1}]\chemical[PB:Z3,SIX,Z5,SB4,Z4,PE][N,H]{\color{blue}\chemical[PB:Z4,SIX,Z2,SB2,DB1,Z31,PE][C{\text{\tiny{-1}}},\SR{H_3C},O{\text{\tiny{-1}}}]}\chemical[SIX,MOV1,SB23]\chemical[PB:Z3,SIX,Z5,DB4,Z4,PE][C,O]{\color{red}\chemical[PB:Z2,SIX,Z4,SB34,Z53,PE][N{\text{\tiny{+1}}},H{\text{\tiny{+1}}},\SL{CH_3}]}\stopchemical</context> [[Image:histidine.png]]  == Simple Formulae in Text Mode == An alternative to using the chemistry module or mathmode for typesetting simple formulae are the ConTeXt commands {{cmd|high}}, {{cmd|low}}, {{cmd|lohi}}, and {{cmd|himilo}}.htm PPCHTeX This might be useful if you want to typset the formula with the same font as the surrounding text (generalin titles or slanted fonts, although that might not be desired in all situations). <context source="yes"> \ss H\low{2}O also consists of H\high{+} and OH\high{--}.\crlfThere are two main carbon isotopes: \lohi{6}{12}C and \lohi[left] by Pragma{6}{13}C.</context> * Taco’s macros implement this approach [http://wwwarchive.contextgarden.net/thread/20060702.084423.a201a280.en.pragmahtml]: '''This is broken code from 2006!''' <context source="yes"> \newbox\chemlowbox\def\chemlow#1% {\setbox\chemlowbox\hbox{{\switchtobodyfont[small]#1}}} \def\chemhigh#1% {\ifvoid\chemlowbox \high{{\switchtobodyfont[small]#1}}% \else \/\lohi{\box\chemlowbox}{{\switchtobodyfont[small]#1}}\fi } \def\finishchem% {\ifvoid\chemlowbox \else \iffluor \fluorfalse \kern-ade.com1em \fi\low{\box\chemlowbox}\fi} % for "kerning" after F\newif\iffluor \unexpanded\def\molecule% {\bgroup \catcode`\_=\active \uccode`\~=`\_ \uppercase{\let~\chemlow}% \catcode`\^=\active \uccode`\~=`\^ \uppercase{\let~\chemhigh}% \dostepwiserecurse {65}{90}{1} {\catcode \recurselevel = \active \uccode`\~=\recurselevel \uppercase{\edef~{\noexpand\finishchem \rawcharacter{\recurselevel}}}}% \uccode `\~=`\F \uppercase{\def~{\finishchem F\fluortrue}}% \catcode`\-=\active \uccode`\~=`\- \uppercase{\def~{--}}% \loggingall \domolecule }% \def\domolecule#1% {\expandafter\scantokens\expandafter {\detokenize{#1\finishchem}}\egroup} \bs Bold slanted molecules: \molecule{HSO_4^-} and \molecule{SF_6}</context> The main difference with the built-in chemistry is that the <code>\molecule</documentcode> from this example uses the same font as the one in surrounding text, while the official module always uses the (mostly roman) math font (which is probably the proper way if you’re writing dozens of formulas).htm PPCHTeX documenatation Alternatively you can setup the <code>style</code> parameter used for chemical formulas manually: <texcode>\setupchemical[style=\bs] by Pragma</texcode> == Old Links == * [http://www.ntgmit.nledu/afs/mailmanathena/listinfocontrib/ntgtex-contrib/Chem2/ppchtex /doc/fh-ch-en.htm PPCHTeX mailing listFAQ](1997)* [http://www.ntgtug.nlorg/pipermailTUGboat/ntgArticles/tb17-ppchtex1/ tb50hage.pdf TUG Boat article on PPCHTeX mailing list archive] by Hans Hagen and A.F. Otten 1996  [[Category:Sciences]]

Navigation menu