使用chemfig
包,用于绘制水杨酸我获得了这个裁剪图像:
\documentclass[a4paper,12pt]{article}
\usepackage{chemfig}
\begin{document}
\chemfig{
% 1
-[:300]% 2
=_% 3
(
-[:60]% 13
(
-[:120,,,2]HO% 15
)
=O% 14
)
-[:300]% 4
(
-[,,,1]OH% 12
)
=_[:240]% 5
(
-[:300]% 8
(
-[:240]% 10
)
(
-[:300]% 11
)
-% 9
)
-[:180]% 6
=_[:120]% 7
(
-[:60]% -> 2
)
}
\end{document}
为什么线条与六边形的边缘更接近?要切换到更大的距离和字体(peraphs 是 Arial),小段(参见图片 - 例如下图 -)我是否必须使用另一个化学包并使用fontspec
,unicode
... Arial
?
编辑:
在此网站上https://www.texdev.net/2012/08/25/exploring-chemfig-customising-appearance/有一个宏可以获得距离较大的小内部段:
它该如何使用?
\setdoublesep{0.35700 em} % 'Bond Spacing'
\setatomsep{1.78500 em} % 'Fixed Length'
\setbondoffset{0.18265 em} % 'Margin Width'
\newcommand{\bondwidth}{0.06642 em} % 'Line Width'
\setbondstyle{line width = \bondwidth}
helvet
我对用户的字体代码进行了一些改进@muzimuzhi Z我非常感谢他的工作。但我还有更长的内部部分。
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\renewcommand*\familydefault{\sfdefault}
\usepackage[scaled=1]{helvet}
\usepackage{chemfig}
%\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}}
\renewcommand*\printatom[1]{\sffamily{#1}}%%% only text in helvet clone of Arial
\setchemfig{
atom sep=1.5em,
bond style={
line width=.8pt, line cap=round, line join=round
}
}
\begin{document}
\chemfig{
% 1
-[:300]% 2
=_% 3
(
-[:60]% 13
(
-[:120,,,2]HO% 15
)
=O% 14
)
-[:300]% 4
(
-[,,,1]OH% 12
)
=_[:240]% 5
(
-[:300]% 8
(
-[:240]% 10
)
(
-[:300]% 11
)
-% 9
)
-[:180]% 6
=_[:120]% 7
(
-[:60]% -> 2
)
}
\end{document}
答案1
chemfig
是可配置的。在以下示例中,
\printatom
重新定义为使用无衬线字体,- 债券期限可选择缩短
atom sep
,并且 - 使用选项可以使键合线宽度变粗
line width
。
Chemfig 会自动缩短循环中双键的内键线,但在您的示例中,绘制键时没有使用循环语法。问题如何改变 chemfig 中双键的键长?包含一些解决方法,但它们都不是自动的。
\documentclass[a4paper,12pt]{article}
\usepackage{chemfig}
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}}
\setchemfig{
atom sep=1.5em,
bond style={
line width=.8pt, line cap=round, line join=round
}
}
\begin{document}
\chemfig{
% 1
-[:300]% 2
=_% 3
(
-[:60]% 13
(
-[:120,,,2]HO% 15
)
=O% 14
)
-[:300]% 4
(
-[,,,1]OH% 12
)
=_[:240]% 5
(
-[:300]% 8
(
-[:240]% 10
)
(
-[:300]% 11
)
-% 9
)
-[:180]% 6
=_[:120]% 7
(
-[:60]% -> 2
)
}
\end{document}