Beberapa Tanda Kurung dalam Chemfig Polymer - Tidak Dapat Menghilangkan Kesalahan

Aug 17 2020

Saya berjuang untuk mendapatkan Reaksi yang menunjukkan Proses Polimerisasi menggunakan chemfighak.

Ini adalah kode yang saya gunakan:

\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}

Ini adalah hasil saat ini:

Untuk beberapa alasan, braket kedua adalah yang saya inginkan, tetapi yang pertama tidak. Sepertinya tidak mendapatkan spesifikasi yang dibuat oleh \polymerdelim, jadi saya pikir saya mungkin perlu menambahkan garis juga di \chemfigatas.

Jika saya mengaktifkan jalur

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

Saya mendapatkan pesan kesalahan ini:

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

Bisakah seseorang membantu saya?

Terima kasih!

Jawaban

2 muzimuzhiZ Aug 17 2020 at 10:43

Dari dokumentasi chemfig, Bagian 13, sintaks @{<name>, <coeff>}hanya dapat digunakan di awal argumen opsional dari sebuah bond. Di contoh kedua \chemfigAnda

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

argumen opsional [@{left,0.5}]dan [@{right,0.5}]tidak memiliki ikatan yang sesuai, maka node leftdan righttidak pernah dibuat.

Pilihan 1

Jika Anda baik-baik saja dengan awal dan akhir ikatan, gunakan

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

pilihan 2

Jika Anda ingin mempertahankan gaya tanpa ikatan, Anda dapat menggunakan @{<name>}<atom>untuk menambahkan simpul ke atom, dan menggunakan \polymerdelimopsi open xshiftdan close xshiftuntuk menyesuaikan posisi pembatas. Perhatikan dalam kasus ini, ruang kiri dan kanan tidak diatur secara otomatis.

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

Pilihan 3

Ini adalah varian dari opsi 1, di mana obligasi awal dan akhir ditentukan tetapi tidak ditarik (berdasarkan opsi obligasi [,,,draw=none]). Untuk mendapatkan jarak horizontal yang lebih baik, kedua ikatan tersebut juga diperpendek (dengan opsi ikatan [,0.5,,,]) and the position of nodes are adjusted (from @ {left, 0.5} to@ {left, 1} `).

\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}

Contoh lengkap:

\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}