我对两种化学反应的排列有问题
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{figure*}
\begin{flushleft}
\schemedebug{true}
\schemestart
A\arrow{->}B\arrow{->}
\schemestop
\bigskip
\schemestart
\arrow{->}C\arrow{->}D
\schemestop
\end{flushleft}
\end{figure*}
\end{document}
如何删除第二行开头的空格?绿色和红色标记之间的空格?
答案1
您可以通过在方案前添加一些负水平空间来将线向左移动。首先,您必须告诉 LaTeX 退出垂直模式,例如使用\leavemode
。在您的例子中,您需要备份空节点和箭头偏移量,因此您需要\hspace{\dimexpr-1em-4pt}
:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{figure*}
\begin{flushleft}
\schemedebug{true}
\schemestart
A\arrow{->}B\arrow{->}
\schemestop
\bigskip
\leavevmode\hspace{\dimexpr-1em-4pt}
\schemestart
\arrow{->}C\arrow{->}D
\schemestop
\end{flushleft}
\end{figure*}
\end{document}
的功能\leavevmode
是根据需要开始新段落。如果我们不处于段落模式,则任何后续水平间距命令都将无效。
表达式\dimexpr-1em-4pt
根据两个给定量计算长度。 1em
是字体相关尺寸,名义上是m
当前字体中字母的宽度,对应于默认箭头偏移(根据chemfig
代码,而不是其文档)。4pt
来自空节点,似乎内置于chemfig
代码中。
答案2
下面,我仅针对这一行更改了页面边距。恐怕不太美观,但如果您只需要一次,那么可能还行:
% arara: lualatex
\documentclass{article}
\usepackage{chemfig}
\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
\let\endchangemargin=\endlist % credits to Vivi
\usepackage{lua-visual-debug}
\begin{document}
\begin{figure*}
\schemedebug{true}
\schemestart
A\arrow{->}B\arrow{->}
\schemestop
\medskip
\begin{changemargin}{-0.38cm}{0cm}
\schemestart
\arrow{->}C\arrow{->}D
\schemestop
\end{changemargin}
\end{figure*}
\end{document}