Chemfig Polimerde Birden Fazla Parantez - Hatalardan Kurtulamaz

Aug 17 2020

chemfigSağ kullanarak bir Polimerizasyon İşlemini gösteren bir Reaktion elde etmek için mücadele ediyorum .

Kullandığım kod bu:

\begin{figure}[htb!]
\centering
\schemestart
\chemfig{R-C(-[2])(-[6])-C(-[2])(-[6])-C(-[2])(-[6])-\lewis{0.,C}(-[2])(-[6])}
\+
\chemfig{[@{left,0.5}]C(-[2])(-[6])=C(-[2])(-[6])[@{right,0.5}]}
%\polymerdelim[delimiters ={[]}, height = 40pt, indice = n]{left}{right}
\arrow
\chemfig{R-C(-[2])(-[6])-C(-[2])(-[6])-[@{left,0.5}]C(-[2])(-[6])-C(-[2])(-[6])-[@{right,0.5}]C(-[2])(-[6])-\lewis{0.,C}(-[2])(-[6])}
\polymerdelim[delimiters ={[]}, height = 40pt, indice = n]{left}{right}
\schemestop
\caption{}
\label{}
\end{figure}

Bu şu anki sonuç:

Nedense ikinci parantez benim istediğim gibi, ama ilki değil. Görünüşe göre teknik özellikleri almıyor \polymerdelim, bu yüzden satırı da \chemfigyukarı eklemem gerekebileceğini düşündüm .

Hattı etkinleştirirsem

%\polymerdelim[delimiters ={[]}, height = 40pt, indice = n]{left}{right}

Bu hata mesajını alıyorum:

! Package pgf Error: No shape named left is known.See the pgf package documentation for explanation.Type H <return> for immediate help.... \chemfig

Biri bana yardım edebilir mi?

Teşekkür ederim!

Yanıtlar

2 muzimuzhiZ Aug 17 2020 at 10:43

chemfigBölüm 13'ün dokümantasyonundan , sözdizimi @{<name>, <coeff>}yalnızca bir bağın isteğe bağlı argümanının başlangıcında kullanılabilir. İkincisinde \chemfigsenin örnek

\chemfig{[@{left,0.5}]C(-[2])(-[6])=C(-[2])(-[6])[@{right,0.5}]}

isteğe bağlı argümanlar [@{left,0.5}]ve [@{right,0.5}]karşılık gelen bağları yoktur, dolayısıyla düğümler leftve rightasla oluşturulmaz.

seçenek 1

Başlangıç ​​ve bitiş bağlarında sorun yoksa, o zaman şunu kullan:

\chemfig{C(-[2])(-[6])(-[@{left,0.5}4])=C(-[2])(-[6])-[@{right,0.5}]}
\polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n]{left}{right}

seçenek 2

Bağsız stili korumak istiyorsanız, @{<name>}<atom>bir atoma düğüm eklemek ve \polymerdelimseçenekleri kullanmak open xshiftve close xshiftsınırlayıcıların konumunu ayarlamak için kullanabilirsiniz . Bu durumda, sol ve sağ boşluğun otomatik olarak ayarlanmadığını unutmayın.

\chemfig{@{left}C(-[2])(-[6])=@{right}C(-[2])(-[6])}
\polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n, 
  open xshift=-8pt, close xshift=]{left}{right}

3. Seçenek

Bu, başlangıç ​​ve bitiş tahvillerinin belirtildiği ancak çekilmediği (tahvil seçeneği ile [,,,draw=none]) 1. seçeneğin bir çeşididir . Daha iyi yatay boşluk elde etmek için, bu iki bağ da kısaltılır (bağ seçeneği [,0.5,,,]) and the position of nodes are adjusted (from @ {sol, 0.5} to@ {sol, 1} `ile).

\chemfig{C(-[2])(-[6])(-[@{left,1}4,.5,,,draw=none])=C(-[2])(-[6])-[@{right,1},.5,,,draw=none]}
\polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n]{left}{right}

Tam örnek:

\documentclass[margin=20pt]{standalone}
\usepackage{chemfig}

\begin{document}

\schemestart
  \chemfig{R-C(-[2])(-[6])-C(-[2])(-[6])-C(-[2])(-[6])-\lewis{0.,C}(-[2])(-[6])}
  \+
  %% option 1
  % \chemfig{C(-[2])(-[6])(-[@{left,0.5}4])=C(-[2])(-[6])-[@{right,0.5}]}
  % \polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n]{left}{right}
  %
  %% option 2
  % \chemfig{@{left}C(-[2])(-[6])=@{right}C(-[2])(-[6])}
  % \polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n, 
  %   open xshift=-8pt, close xshift=]{left}{right}
  %% option 3
  \chemfig{C(-[2])(-[6])(-[@{left,1}4,.5,,,draw=none])=C(-[2])(-[6])-[@{right,1},.5,,,draw=none]}
  \polymerdelim[delimiters={[]}, height=40pt, depth=, indice=n]{left}{right}
  \arrow
  \chemfig{R-C(-[2])(-[6])-C(-[2])(-[6])-[@{left,0.5}]C(-[2])(-[6])-C(-[2])(-[6])-[@{right,0.5}]C(-[2])(-[6])-\lewis{0.,C}(-[2])(-[6])}
  \polymerdelim[delimiters ={[]}, height=40pt, depth=, indice=n]{left}{right}
\schemestop

\end{document}