У меня возникла проблема с 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
Вы можете вручную установить стиль крышки облигации Cram, чтобы вернуться к
butt
. Вы можете прочитать о настройке отдельных облигаций изchemfig
документация. Короче говоря, вы можете передавать необязательные аргументы при наборе облигаций, а пятый аргумент (после 4 запятых) — это ,<tikz code>
который будет переданTikZ
при составлении облигации.[<angle>,<interatomic distance multiplier>,<departure atom>,<arrival atom>,<tikz code>]
(Взято из документации)здесь.)
Таким образом, вы можете передать параметр, например,
cap=butt
для смещения концов круглых крышек, который был установлен как глобальный параметр.Для вашего вторичного вопроса вы можете использовать ,
\setcrambond{<base width>}{}{}
чтобы настроить ширину базы по своему усмотрению. Я обнаружил, что ширина около 4pt выглядит нормально.Я также позволил себе скорректировать среднюю длину связи и угол, используя необязательные аргументы для связей - в частности,
<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}