TeX - LaTeX Asked on October 10, 2020
An excellent suggestion for a way to call chemfig
symbols stored in individual files from a common library was put forth here. I have tested the solution with a variety of relatively simple compounds / chemfig symbols. This issue shows a case where the proposed solution produces an error.
The issue is suspected to reside somewhere in the file writing and cat code handling.
Any suggestions on tweaks enabling the code to handle more complex compounds are greatly appreciated.
I have included the mwe here:
documentclass[english,border=1mm]{standalone}
usepackage[T1]{fontenc}
usepackage{chemfig}
usepackage{tikz}
usepackage{catchfile}
usepackage{mol2chemfig}%
tikzset{
% #1 = left, #2 = lower, #3 = right, #4 = upper
enlarge bounding box by/.style n args={4}{
execute at end picture={
path ([shift={(-#1, -#2)}]current bounding box.south west) --
([shift={(#3, #4)}]current bounding box.north east);
}
}
}
% chemfigdo
newcommand{chemfigdo}[2]{chemfig[#2]{#1}}%
% chemfiginput
newcommand{chemfiginput}[2][]{%
CatchFileDef{chemfiginputtemp}{#2}{csname CF_sanitizecatcodeendcsname}%
expandafterchemfigdoexpandafter{chemfiginputtemp}{#1}%
}%
% create new command for tikzpicture call
newcommandcallchemfigsymbol[1]{%
chemfiginput[
atom style={scale=chemfigscale},
atom sep=chemfigatomsep,
chemfig style={
enlarge bounding box by={chemfigborder}{chemfigborder}{chemfigborder}{chemfigborder},
baseline=(current bounding box.center),
color=chemfigcolor,
line width=chemfiglinewidth
}
]{#1}%
}
begin{filecontents}{s_adenosyl_l_methionine.tex}
O% 6
=[:95.9]% 26
(
-[:35.9]O% 5
-[:335.9,0.62]H% 50
)
-[:155.9]% 24
(
<:[:95.9]N% 10
(
-[:155.9,0.62]H% 46
)
-[:35.9,0.62]H% 45
)
(
-[:155.9,0.62]H% 44
)
-[:215.9]% 21
(
-[:235.9,0.62]H% 39
)
(
-[:315.9,0.62]H% 40
)
-[:155.9]% 18
(
-[:55.9,0.62]H% 34
)
(
-[:135.9,0.62]H% 35
)
-[:215.9]mcfabove{S}{_{mcfplus}}% 1
(
-[:275.9]% 22
(
-[:275.9,0.62]H% 42
)
(
-[:5.9,0.62]H% 43
)
-[:185.9,0.62]H% 41
)
-[:155.9]% 17
(
-[:55.9,0.62]H% 32
)
(
-[:135.9,0.62]H% 33
)
>[:215.9]% 13
(
-[:332.9,0.62]H% 28
)
-[:269.9]O% 2
-[:197.9]% 16
(
-[:125.9]% 15
(
-[:53.9]% 14
(
-[:341.9]% -> 13
)
(
-[:44.9,0.62]H% 29
)
<:[:107.9]O% 3
-[:47.9,0.62]H% 36
)
(
-[:116.9,0.62]H% 30
)
<:[:179.9]O% 4
-[:119.9,0.62]H% 37
)
(
-[:314.9,0.62]H% 31
)
<[:251.9]N% 7
-[:197.8,0.994]% 19
=^[:150]N% 9
-[:210]% 27
(
-[:150,0.62]H% 47
)
=^[:270]N% 11
-[:330]% 25
(
-[:270]N% 12
(
-[:330,0.62]H% 49
)
-[:210,0.62]H% 48
)
=^[:30]% 23
(
-[:90]% -> 19
)
-[:342.2,0.994]N% 8
=^[:54,0.994]% 20
(
-[:126,0.994]phantom{N}% -> 7
)
-[,0.62]H% 38
end{filecontents}
begin{filecontents}{methane_pseudo_3D_stereo.tex}
H% 2
-[:270]C% 1
(
-[:200]H% 4
)
(
<[:310]H% 5
)
<:[:350]H% 3
end{filecontents}
% define the atom sep
newlength{chemfigatomsep}%
setlength{chemfigatomsep}{2.75em}%
% define the line width
newlength{chemfiglinewidth}%
setlength{chemfiglinewidth}{0.75pt}%
% define the scale
defchemfigscale{1}
% define the color
defchemfigcolor{blue!40!black}
% define separation length
newlength{chemfigborder}
setlength{chemfigborder}{1mm}
begin{document}
%callchemfigsymbol{s_adenosyl_l_methionine.tex}% when I uncomment this, I observe error
callchemfigsymbol{methane_pseudo_3D_stereo.tex}% this works fine
end{document}
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP