chemformula:反应箭头不显示

chemformula:反应箭头不显示

最近,我在反应环境中遇到化学方程式问题。具体来说,编译 pdf 后,反应箭头和连字符均未显示。相反,箭头/连字符应该出现的位置插入了一个空格。不过,分子式显示正确。我使用 TeX Live 和 TeXstudio 编辑器,安装的 chemmacros 包版本是 5.8b。请注意,在以下 MWE 中更改\chemsetup{formula=chemformula}为后\chemsetup{formula=mhchem},反应箭头以及 Ph 和 CHO 之间的连字符都显示正确,因此我认为 chemformula 包一定出了问题。

梅威瑟:

\documentclass[a4paper,12pt]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[dvips]{graphics}
\usepackage{siunitx}

\usepackage{chemmacros}
\chemsetup{modules=all}
\chemsetup{formula=chemformula}

\begin{document}

    \begin{reaction*}
        2 H2 + O2 -> 2 H2O
    \end{reaction*}

    \begin{reaction*}
        Ph-CHO
    \end{reaction*}

\end{document}

有任何想法吗?

亲切的问候,
舒尔金

答案1

虽然我无法向您详细说明发生了什么,但我可以告诉您,如果您删除 选项dvipsgraphics或者您实际使用++latex来生成 PDF,则此方法可以正常工作。我假设您一直在使用(?),因此您在代码中指定了一个特定的编译序列(涉及),但使用了不同的序列。这可能会导致各种问题。dvipsps2pdfpdflatexdvips

通常,您不应该为诸如和 之dvips类的软件包指定驱动程序(在本例中),它们会自行找出正确的驱动程序。并且您可能希望(使用)加载,最新文档使用该语法指定,而不是较旧的。graphicshyperrefgraphicxxgraphics

代码输出

\documentclass[a4paper,12pt]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{siunitx}

\usepackage{chemmacros}
\chemsetup{modules=all}
\chemsetup{formula=chemformula}

\begin{document}

    \begin{reaction*}
        2 H2 + O2 -> 2 H2O
    \end{reaction*}

    \begin{reaction*}
        Ph-CHO
    \end{reaction*}

\end{document}

答案2

也可以使用 显示的箭头来实现您的反应\usepackage[version=4]{mhchem}。事实上,您可以使用这个 MWE:

\documentclass[a4paper,12pt]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage[version=4]{mhchem}
\begin{document}
\[\ce{2 H2 + O2 -> 2 H2O}\]
\[\ce{Ph-CHO}\]

\end{document}

此输出:

在此处输入图片描述

相关内容