在制作我的第一张科学海报时,我注意到 Chemfig 连接键的方式不太美观(见附图)。我该如何避免出现此处所示的小间隙,并确保键之间的过渡平滑?
根据要求,MWE:
\documentclass{standalone}
\usepackage{chemfig}
\begin{document}
\chemfig{-[:30]-[:-30]}
\end{document}
答案1
我尝试过“修复”这个问题。这实际上不是一个“错误修复”(因为没有错误),而是一个肮脏的解决方法。它似乎有效:
Beta 版本需要更多测试。如果你等不及了(或者想测试),你可以下载这里.zip 文件包含软件包源代码本身 ( chemfig.tex
)、一个小测试文件 ( test.tex
) 和使用新版本编译的 pdf 手册 ( chemfig_doc_en.pdf
)
答案2
我已经联系了 Christian Tellechea,他是chemfig
包裹。
嗨,克里斯蒂安,
目前,tex.stackexchange 上正在讨论 chemfig 中的绑定关节:Chemfig 中的粘合接头难看
您意识到了这个问题吗?这是 chemfig 问题还是 TikZ 问题?如果您能参与讨论,我将不胜感激!
谨致问候,马丁
并得到了这个答案(谢谢 Christian!)。
(canaaerus 将原始电子邮件的翻译(用法语写成)用斜体字放在每个句子下方。谢谢!)
你好,谢谢您给我发一封电子邮件。
目前,tex.stackexchange 上正在讨论 chemfig 中的绑定关节:Chemfig 中的粘合接头难看
我看到了这样的讨论。
我已看过该讨论。您意识到了这个问题吗?
但这不是什么问题!
嗯——这不是一个错误。这是 chemfig 问题还是 TikZ 问题?
这不是什么问题,这是 tikz(和 pstricks)在几次追踪一条线之后或其他时候追踪一条线时的行为。或许可以用代码来构造
这不是一个错误,只是 tikz(和 pstricks)在绘制路径时一条接一条地绘制线条的行为方式。这可以通过以下代码演示
\begin{tikzpicture}
\draw[line width=5pt](0,0)--(2,1)--(4,0);
\end{tikzpicture}
\bigbreak
\begin{tikzpicture}
\draw[line width=5pt](0,0)--(2,1);
\draw[line width=5pt](2,1)--(4,0);
\end{tikzpicture}
此处显示的产品:
生成结果:
Chemfig 跟踪访问代码中的某个链接,然后跟踪其他中断之后的链接,如下例所示。
Chemfig
在代码中找到一个键后立即绘制一个键,从而一个键接一个键。这导致了第二个例子中的不连续性。如果您能参与讨论我将非常感激!
我无法用英语充分表达我的观点,因为我参与其中。
我的英语水平不够好,无法参加那里。谨致问候,马丁
Merci pour votre email 诚挚的, Christian Tellechea
感谢您的来信。此致,Christian Tellechea
现在我猜这里的大多数人都不会说法语。我的法语和英语都不太好,但我会尝试:
据 Christian 说,这不是问题。当您像他所说的第一个版本中那样绘制线条时,TikZ 会出现这种行为。当您使用第二个版本时,您会得到很好的粘合接头。
Chemfig 读取代码并逐个写入键。这会导致键变成当前的样子。
在下一封电子邮件中,我想了解他对 Chemfig 的计划。他补充道:
最近我比较忙,没有时间修复我的软件包。现在我比较有空,我会看看能否解决问题
chemfig
。我不能保证任何事情。
这是个好消息:-)所以这个问题有机会得到解决。
答案3
当前 chemfig 文档(v1.6a)的第 9 页引用了此具体讨论并提出了[bond join=true]
可能的解决方案。
对于那些认为这很“丑陋”的人来说,现在可以连接单个键,但编译时间会略有增加。布尔
<key>
bond join = <boolean>
宏在 时启用此功能<true>
,在 时禁用此功能<false>
,这是更好的行为,默认情况下设置。
\setchemfig{bond style={line width=3pt}}
\chemfig{[1][7]} et
\chemfig[bond join=true]{[1][7]}