
Я рисую такую картинку:
Вы можете обнаружить, что правая сторона молекулы находится под базовой линией. Я знаю, что эта проблема — «Вертикальное выравнивание», упомянутое в P25 официального документа. После того, как я поместил
\chemskipalign
перед первым кольцом, проблема была устранена, но возник неприятный пробел:
Вот мой код:
Первый:
\documentclass{article}
\usepackage{chemfig}
\setatomsep{1.5em}
\begin{document}
something
\(
\chemfig*{CH_3-*6(-=-(-CH_2-*6(-=-(-CH_2-*6(-=-(-CH_3)=-=))=-=))=-=)}
\)
something
\end{document}
Второй:
\documentclass{article}
\usepackage{chemfig}
\setatomsep{1.5em}
\begin{document}
something
\(
\chemfig*{CH_3-\chemskipalign*6(-=-(-CH_2-*6(-=-(-CH_2-*6(-=-(-CH_3)=-=))=-=))=-=)}
\)
something
\end{document}
Что я могу сделать?
решение1
Вы можете локально переопределить, \printatom
чтобы принудительно установить глубину атома на 0pt:
\documentclass{article}
\usepackage{chemfig}
\setatomsep{1.5em}
\begin{document}
something
\(
\renewcommand\printatom[1]{\setbox0=\hbox{\ensuremath{\mathrm{#1}}}\dp0=0pt \box0 }
\chemfig{CH_3-*6(-=-(-CH_2-*6(-=-(-CH_2-*6(-=-(-CH_3)=-=))=-=))=-=)}
\)
something
\end{document}
решение2
У меня есть удачная попытка, но она недостаточно изящна.
Код:
\documentclass{article}
\usepackage{chemfig}
\setatomsep{1.5em}
\newcommand{\vr}{{\tikz \draw[draw=none] (0,0) rectangle (0,\dimexpr\fontcharht\font`A);}}
\begin{document}
something
\(
\chemfig*{CH_3|\vr-*6(-=-(-CH_2|\vr-*6(-=-(-CH_2|\vr-*6(-=-(-CH_3)=-=))=-=))=-=)}
\)
something
\end{document}
Я пытаюсь поместить персонажа |
в команду \vr
, но не получается. Он не может получить ожидаемый результат. Может ли кто-нибудь помочь мне добиться этого?