我目前正在写一份实验报告,使用了很多缩略词和表格。
我目前所拥有的是这样的:
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage[allowlitunits]{siunitx}
\DeclareSIUnit{\pH}{pH}
\usepackage{chemmacros}
\sisetup{locale=DE}
\usepackage{acronym}
\begin{document}%
\begin{tabular}{cp{26em}}
\toprule%
Lösung & \multicolumn{1}{c}{Beschreibung} \\%
\midrule%
1 & \SI{0.1}{\textsc{n}-Acetatpuffer} \pH \SI{5.0}{} : \SI{70.5}{\milli\liter}
\SI{1}{\Molar} \ch{NaOH +}\SI{100}{\milli\liter} \SI{1}{\Molar} Essigsäure, auf
\SI{1}{\liter} mit destilliertem Wasser auffüllen.\\%
2 &\acl{tcl}--Lösung \SI{0.38}{\gram\per\liter} in \ac{dmso} bzw.
\SI{189}{\milli\gram} auf \SI{5}{\milli\liter}\\%
3 &\ac{act}--Lösung \SI{37.8}{\milli\gram\per\milli\liter} in
\SI{1}{\milli\Molar} \ch{HCl} bzw. \SI{189}{\milli\gram} auf
\SI{5}{\milli\liter}\\%
\bottomrule%
\end{tabular}
\end{document}
\ac
更改为\acl
和( )后,\acs
它工作正常:
\begin{document}%
\begin{tabular}{cp{26em}}
\toprule%
Lösung & \multicolumn{1}{c}{Beschreibung} \\%
\midrule%
1 & \SI{0.1}{\textsc{n}-Acetatpuffer} \pH \SI{5.0}{} : \SI{70.5}{\milli\liter}
\SI{1}{\Molar} \ch{NaOH +}\SI{100}{\milli\liter} \SI{1}{\Molar} Essigsäure, auf
\SI{1}{\liter} mit destilliertem Wasser auffüllen.\\%
2 &\acl{tcl}--Lösung \SI{0.38}{\gram\per\liter} in \ac{dmso} bzw.
\SI{189}{\milli\gram} auf \SI{5}{\milli\liter}\\%
3 &\acl{act}--Lösung (\acs{act}) \SI{37.8}{\milli\gram\per\milli\liter} in
\SI{1}{\milli\Molar} \ch{HCl} bzw. \SI{189}{\milli\gram} auf
\SI{5}{\milli\liter}\\%
\bottomrule%
\end{tabular}
\end{document}
我找到了一种解决方法,但我仍然想知道是什么导致了这个问题。
我将这个独立文件包含在我的主文档中,因此这些缩写词没有定义不是问题。
答案1
该\ac
命令未能退出垂直模式(它应该退出,因为它是要排版一些东西)。快速修复方法是加载etoolbox
并补充
\preto\ac{\leavevmode}
序言。虽然这有效,但必须谨慎使用etoolbox
带有命令的修补acronym
,因为它们是在suffix
软件包可能会导致修补失败。也可以\ac
在没有其他软件包的情况下“修补” (正如@egreg 在聊天中提出的):
\expandafter\def\expandafter\ac\expandafter{\expandafter\leavevmode\ac}
这将重新定义\ac
为第一个扩展,\ac
并\leavevmode
在前面添加了。