Chemfig 中的粘合接头难看

Chemfig 中的粘合接头难看

在制作我的第一张科学海报时,我注意到 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]}

相关内容