Рисование структуры триблочного полимера с помощью chemfig

Рисование структуры триблочного полимера с помощью chemfig

Мне нужно нарисовать общий триблок-сополимер, такой как представлен в этом MWE и рисунке. Проблема у меня с левой и правой сторонами молекулы. Я хочу, чтобы они заканчивались только на "(" и ")" и не отображали химическую связь. Если я оставлю "-", то получу результаты на левой стороне изображения с химической связью. Если я не включу его, то получу результаты, представленные на правой стороне изображения с ошибкой в ​​размещении ")" и некоторыми лишними символами.

Я использую chemfig 1.2e из архива Ubuntu 18.04. Это означает, что у меня нет новых функций, представленных в более новых версиях пакета.

Спасибо !

правка: также бонусный балл, если химические связи станут короче :)

\documentclass{article}
\usepackage{mwe}
\usepackage{chemfig}

\begin{document}

% Define a function to draw polymer structures
\newcommand\setpolymerdelim[2]{\def\delimleft{#1}\def\delimright{#2}}
\def\makebraces[#1,#2]#3#4#5{%
    \edef\delimhalfdim{\the\dimexpr(#1+#2)/2}%
    \edef\delimvshift{\the\dimexpr(#1-#2)/2}%
    \chemmove{%
        \node[at=(#4),yshift=(\delimvshift)]
        {$\left\delimleft\vrule height\delimhalfdim depth\delimhalfdim
            width0pt\right.$};%
        \node[at=(#5),yshift=(\delimvshift)]
        {$\left.\vrule height\delimhalfdim depth\delimhalfdim
            width0pt\right\delimright_{\rlap{$\scriptstyle#3$}}$};}}
\setpolymerdelim()


\chemfig{
    -[@{opa,.75}]A-[@{cla,0.25}]
    -[@{opb,.75}]B-[@{clb,0.25}]
    -[@{opc,.75}]A\ [@{clc,0.25}]
}
\makebraces[5pt,5pt]{\!\!n_{i}}{opa}{cla}
\makebraces[5pt,5pt]{\!\!n_{i+1}}{opb}{clb}
\makebraces[5pt,5pt]{\!\!n_{i+2}}{opc}{clc}

\end{document}

МВЭ

решение1

Добро пожаловать! Вот один из способов: установить непрозрачность этих связей на ноль.

\documentclass{article}
\usepackage{chemfig}

\begin{document}

% Define a function to draw polymer structures
\newcommand\setpolymerdelim[2]{\def\delimleft{#1}\def\delimright{#2}}
\def\makebraces[#1,#2]#3#4#5{%
    \edef\delimhalfdim{\the\dimexpr(#1+#2)/2}%
    \edef\delimvshift{\the\dimexpr(#1-#2)/2}%
    \chemmove{%
        \node[at=(#4),yshift=(\delimvshift)]
        {$\left\delimleft\vrule height\delimhalfdim depth\delimhalfdim
            width0pt\right.$};%
        \node[at=(#5),yshift=(\delimvshift)]
        {$\left.\vrule height\delimhalfdim depth\delimhalfdim
            width0pt\right\delimright_{\rlap{$\scriptstyle#3$}}$};}}
\setpolymerdelim()


\chemfig{
    -[@{opa,.75},,,,opacity=0]A-[@{cla,0.25}]
    -[@{opb,.75}]B-[@{clb,0.25}]
    -[@{opc,.75}]A-[@{clc,0.25},,,,opacity=0]
}
\makebraces[5pt,5pt]{\!\!n_{i}}{opa}{cla}
\makebraces[5pt,5pt]{\!\!n_{i+1}}{opb}{clb}
\makebraces[5pt,5pt]{\!\!n_{i+2}}{opc}{clc}

\end{document}

введите описание изображения здесь

Обратите внимание, что вполне могут быть и лучшие способы. Но этоаспособ избавиться от этих связей.

Связанный контент