Конфликт в chemfig между связями cap=round и cram

Конфликт в chemfig между связями cap=round и cram

У меня возникла проблема с chemfig: для того, чтобы соединения выглядели лучше, я включил эту cap=roundопцию, следуяпочтаопубликовано на этом сайте. Все отлично, пока я не начинаю использовать хэшированные облигации Cram. В этот момент хэши становятся округлыми и «расширяются» странным образом.

введите описание изображения здесьНиже вы можете найти изображение того, что я получаю с отключенным и включенным округлением верхней границы соответственно. Как мне обойти это?

Второстепенная проблема заключается в том, что большая база этих связей выглядит не очень красиво, когда она заканчивается кольцами. Единственноевозможный обходной путьЯ обнаружил, что это подразумевает удлинение связей, но у меня это не работает (даже использование опции tikz shorten <=-10ptне дает никакого эффекта), и в любом случае это не было бы изящным решением.

Вот мой MWE:

\documentclass{minimal}
\usepackage{chemfig}
\setbondstyle{cap=round}

\begin{document}

\centering
\chemfig{P(<:[:-110,]*6(-=-=-=))(-[:-30]*6(-=-=-=))<[:-150]*6(-=-=-=)}

\end{document}

решение1

  1. Вы можете вручную установить стиль крышки облигации Cram, чтобы вернуться к butt. Вы можете прочитать о настройке отдельных облигаций изchemfigдокументация. Короче говоря, вы можете передавать необязательные аргументы при наборе облигаций, а пятый аргумент (после 4 запятых) — это , <tikz code>который будет передан TikZпри составлении облигации.

    [<angle>,<interatomic distance multiplier>,<departure atom>,<arrival atom>,<tikz code>]
    

    (Взято из документации)здесь.)

    Таким образом, вы можете передать параметр, например, cap=buttдля смещения концов круглых крышек, который был установлен как глобальный параметр.

  2. Для вашего вторичного вопроса вы можете использовать , \setcrambond{<base width>}{}{}чтобы настроить ширину базы по своему усмотрению. Я обнаружил, что ширина около 4pt выглядит нормально.

  3. Я также позволил себе скорректировать среднюю длину связи и угол, используя необязательные аргументы для связей - в частности, <interatomic distance multiplier>и <angle>(см. выше). Мне не очень нравится, как это выглядит, но я не химик, поэтому не уверен, как эта молекула устроена в реальной жизни. Вы можете скорректировать, как посчитаете нужным.

Результат:

сравнение

\documentclass{article}
\usepackage{chemfig}
\setbondstyle{cap=round}


\begin{document}
\texttt{Before}: \par
\chemfig{P(<:[:-110,,,,cap=butt]*6(-=-=-=))(-[:-30]*6(-=-=-=))<[:-150]*6(-=-=-=)}

\bigskip

\texttt{After}: \par
\setcrambond{4pt}{}{}%
\chemfig{P(<:[:-100,1.5,,,cap=butt]*6(-=-=-=))(-[:-30]*6(-=-=-=))<[:-150]*6(-=-=-=)}

\end{document}

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