Hot answers tagged

6

Here is a “chemfig only” idea: \documentclass{article} \usepackage{chemfig} \definesubmol{wallpart}{-[:-90,.5](-[:110,.5])} \definesubmol{wall}{!{wallpart}!{wallpart}!{wallpart}} \begin{document} \chemfig{ !{wall} (-[:0]**6(---(-CH_3)---)) !{wall} } \end{document} As far as I know the size of the circle (relative to the size of the ring) is ...


6

Here's an idea: \documentclass{article} \usepackage{chemfig} \begin{document} \chemfig{**[60,-240]6(-(-[:90,,,,draw=none]+)---(-[:60]R)(-[:120]H)--)} \end{document} Have a look at section Rings > Angular Position for the arc inside the ring and section Customization of bonds (for draw=none) of chemfig's manual.


5

Update As clemens mentions in a comment, from v1.2 2015-10-08 \setarrowdefault{,,,<arrow tip>} is possible: \documentclass{article} \usepackage{chemfig} \usetikzlibrary{arrows.meta} \begin{document} \setarrowdefault{,,,-Stealth} \schemestart A\arrow B\arrow{<-} C\arrow{<->}[,,red] D\arrow{-/>}[45,2,thick] E \schemestop \...


5

You might want to use the decoration complete sines from Nicer wavy line with TikZ as I've used in a blog post of mine a while ago: \documentclass{article} \usepackage{tikz} \usepackage{chemfig} \usetikzlibrary{decorations.pathmorphing} \pgfdeclaredecoration{complete sines}{initial}{ \state{initial}[ width=+0pt, next state=sine, persistent ...


5

Citing chemfig's manual ChemFig always places the first atom of the molecule on the baseline of the preceding code. This means that the first atom in a molecule determines the baseline of the whole molecule. A solution in this case it is rather easy: add an invisible bond upwards before the “wall” (i.e. three bonds scaled by .5 going down (the angle ...


5

chemfig always places the first atom of the molecule on the baseline, so if you write \chemfig{O=[:-90](-[:-150]H)-[:-30]OH} the oxygen will be on the baseline. To put the carbon on the baseline it has to be the first atom: \chemfig{(-[:-150]H)(=[:90]O)-[:-30]OH} In other words, you must start from the atom you want to be on the baseline and treat the ...


5

I couldn't trace the cause for the change, but the problem is in your code and not in chemfig. The macro \CF@atom@sep expands to 3em, unless \setatomsep is issued. What happens is that, with previous versions of TikZ/PGF, your segment length=\the\dimexpr\csname CF@atom@sep\endcsname/5\relax was evaluated when the current font was the standard text font; ...


5

Chemfig documentation has an example, in French, about making a customized lewis macro accepting an arbitrary angle in degrees. I am reproducing it irresponsibly translated to English. (I am a native Brazilian Portuguese speaker, so I don't master neither English nor French). This example appeared on page 45 (46th page as there is a cover): \example*{Pairs ...


5

The package siunitx works very well, so I would use it: \SI{1.819}{\angstrom}. To change what you call the arrow style you can just make the line to start from one of the several anchors that TikZ automatically defines when you draw a node. To access them use the syntax <node_name>.anchor where anchor can be south, east, west, north and center (in ...


4

Only after I had the code finished I realised that your code shows something different than the picture. But the alignment idea should work nonetheless. As you might know chemfig allows to add anchor names in compounds using the @{<name>} syntax which can be referred to in \chemmove for example, but also in arrows \arrow(@<name>--). The code ...


4

Use \Chembelow (upper case!) instead of \chembelow. From the manual (emphasis by me): The macro[...] \chembelow[<dim>]{<code>}{<stuff>} place[s] the <stuff> [...] below the <code> [...] without changing the bounding box of <code>. The uppercase version on the other hand does extend the bounding box. (\lewis ...


4

You can use the uppercase version \Chembelow (there's also \Chemabove) to extend the bounding box of the molecule: $\underbrace{ \chemfig{*6(-\Chembelow{N}{H}-(=O)--\chemabove{N}{H}-(=O)-)} }_{\textnormal{glycine anhydride}}$ BTW: you can use chemfig's tools and avoid mathmode completely: \schemestart[-90] \chemup. \chemfig{*6(-\Chembelow{N}{H}-(=O)...


4

The overall structure is a simple table, so a tabular should do fine \begin{tabular}{llll} \chemfig{...} & ... \\ Myoglobin & ... \\ Fleischfarbe \\ purpurrot & ... \end{tabular} As for the chemical formulas: using the bonds optional parameters they are quite easy with chemfig. Here is an example for one of the structures: \...


4

Another approach: \documentclass{article} \usepackage{chemfig} \begin{document} \schemestart[0,1.5,thick] \chemfig{**6(------)} \arrow{0}[,0] \+ \chemfig{E} \arrow(--.base west) \chemfig[yshift=\the\dimexpr-1.5em\relax]{**[60,-240]6(----(-[:135]H)(-[:45]E)--)(-[:30,,,,draw=none]+)} \schemestop \end{document} EDIT Here is 3 ...


4

I am quite certain that this issue arises due to the vertical placement mechanism of the chemfig package. Specifically, the chemfig manual (v1.2d, December 1, 2015, currently latest) specifically states that [...] the vertical placement of the arrival atom depends on the height of the departure atom. [...] ChemFig adds to each arrival atom the \vphantom ...


3

Hi, if you don´t wont to make double compilation, I draw a Ferrocene Methanol molecule with \chemfig and \tikz that requieres only one compilation. Here is the code. Regards. \documentclass{article} \usepackage{chemfig,xstring} \usepackage{tikz} \usetikzlibrary{shapes,shadows,arrows,positioning,graphs} \begin{document} \begin{tikzpicture} %Lineas de ...


3

I'm sure there is a more elegant way, but a crude approach is to calculate the difference in width between each of the smaller left compounds (the first two) and the largest (the last) and add that as \hspace before the start of the smaller reactions. Showing each step: \documentclass[a4paper,pdftex,ngerman,12pt]{article} \usepackage{chemfig} \setatomsep{1....


3

Use invisible bond: \documentclass{article} \usepackage{chemfig} \begin{document} \chemfig{-[:30](=[::+60]O)-[:-30]-[:30](-[:-90,0.2,,,draw=none]\scriptstyle\oplus)(-[:90])-[:-30]N(-[:-90]H)-[:30]OH} \end{document}


3

This feature is not hard coded in chemfig but with decorations, it becomes easy: \documentclass{article} \usepackage{chemfig} \usetikzlibrary{decorations.markings} \makeatletter \tikzset{clrdbl/.style args={#1 and #2}{% draw=none,% decoration={% markings,% mark=at position 0 with {\coordinate (CFstart@) at (0,0);}, ...


3

Compounds inside \schemestart and \schemestop are tikz nodes with names you can refer to. chemfig names them c1, c2, … but you can also give them own names. You can use this in \chemdraw to place the minus: \documentclass{article} \usepackage{chemfig} \usetikzlibrary{calc} \begin{document} \begin{center} \schemestart \chemleft[ \chemfig{\lewis{...


3

As the manual mentions textmath will make all text math subject to previews. Since math mode is used throughly inside of LaTeX even for other purposes, this works by redefining \(, \) and $ and the math environment (apparently some people use that). Only occurences of these text math delimiters in later loaded packages and in the main document will ...


3

Here is something to get you started, based upon the Porphyrin example from the gallery in chemfig's manual: \documentclass{article} \usepackage{chemfig} \begin{document} \chemfig{ a-?[a]=[::+63]*5( -N?[b]=( -(-[::63]d)=[::-54]*5( -N?[c]-( =(-[::63]g)-[::-54]*5( =N?[d]-( =(-[::63]j)-[::-54]*5( ...


3

Yes, you did miss something: \setchemrel etc are deprecated since chemfig features complete schemes (since v1.0 2011/06/15). They have been removed with v1.2 2015/10/08. Just use the \schemestart ... \arrow ... \schemestop: \documentclass[a4paper,10pt]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{chemfig} \usepackage{chemmacros} ...


3

An easy way is to split up the schemes. Since the two rings are the same size and drawn from the same starting atom, the centers will be aligned. I've also made use of the \+ command: \documentclass{article} \usepackage{chemfig} \begin{document} \schemestart[0, 1.5, thick] \chemfig{**6(------)} \arrow{0}[,0]% used for alignment \+{5mm,5mm} ...


3

You have several errors in your code: the \chemfig formulae are both missing a closing ) to end the ring. \beta and \delta must be placed in math mode. \text is undefined; you need to load amsmath or amstext. \documentclass{article} \usepackage{chemfig,amsmath} \begin{document} \schemestart \chemname {\chemfig{*6((<:OH)-(<OH)-(<:OH)-(&...


2

How about this: \documentclass{article} \usepackage{chemfig} \definesubmol\nobond{-[2,0.2,,,draw=none]} \begin{document} \schemestart \subscheme[-90]{ \chemfig[][scale=0.7]{HO-[:-30]@{5}(!\nobond\scriptstyle\oplus)(-[:-90]CH_3)(-[@{2}:30]O-[:-30](-[:-90]CH_3)=[:30]O)} \arrow{0[+][][-10pt]} \chemfig[][scale=0.7]{*6(=-=(-([:90]=O)([:-40]-OH))-...


2

The solution is simple: add | after \select: The character “|” forces splitting of the atom when it is encountered. Thus we can write C|{(CH_3)_3} to ensure that ChemFig separates just two atoms here: “C” and “{(CH_3)_3}”. Without \select_{Argomento='moto'} is considered one atom and the bond is centered. With | we have two atoms where the bond can ...


2

Is this what you want? \documentclass{article} \usepackage[italian]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{chemfig} \usepackage{amsmath} \usepackage{amssymb} \usepackage{relsize} \newcommand{\select}{\sigma} \newcommand{\project}{\pi} \newcommand{\join}{\mathlarger{\mathlarger{\mathlarger{\mathlarger{\Join}}}}} \begin{...


2

The answer is the same as in Drawing chemical reactions: Then CH3CHCH3 must be considered as one group of 6 atoms (C, H, C, H, C and H) where the bond is leaving from the third atom. You need to tell this to chemfig using the bond's optional argument <departure>: <bond>[<angle>,<length factor>,<departure>,<arrival&...


2

Section 6 “Delocalized double bonds” from chemfig documentation. I also suggest to use \schemestart ... \schemestop to draw reaction scheme. \documentclass{article} \usepackage{chemfig} \usetikzlibrary{decorations} \pgfdeclaredecoration{ddbond}{initial} { \state{initial}[width=4pt] { \pgfpathlineto{\pgfpoint{4pt}{0pt}} \pgfpathmoveto{\pgfpoint{2pt}{2pt}} \...



Only top voted, non community-wiki answers of a minimum length are eligible