我希望化学相关结构的编号能够像这样出现。
化合物 1a 和 1b 是有用的,而化合物 1c 和 2a 是有害的。
我不想自己生成参考资料。我可以生成png / jpg / bmp/ gif / tif / emf / svg
格式不正确的图像eps
。
Compound R1 R2
Toluene, 1a CH3 H
Ethyl benzene, 1b C2H5 H
Chlorobenzene, 1c Cl H
o-chlorotoluene, 2a CH3 Cl
修改后的问题是“问题是我如何在连续内容中标记 1a、1b、1c 和 2a。我如何在任何我想要的地方插入参考。” 请参阅随附的 pdf 图像!
答案1
最好的化学编号软件包是chemnum
,比chemcompounds
(我之前挑选的套餐), bpchem
和compoundcntr
(使用起来很别扭)。使用chemnum
,每个化合物都使用宏进行标记\cmpd
。这会创建数字引用,但允许我们使用细分.
以生成字母。我会结合mhchem
对于公式部分:
\documentclass{article}
\usepackage{booktabs,chemnum}
\usepackage[version=3]{mhchem}
\begin{document}
\begin{table}
\centering
\caption{Benzene derivatives}
\label{tbl:compounds}
\begin{tabular}{lll}
\toprule
Compounds & R$^1$ & R$^2$ \\
\midrule
Toluene (\cmpd{Ph.Me}) & \ce{CH3} & \ce{H} \\
Ethyl benzene (\cmpd{Ph.Et}) & \ce{C2H5} & \ce{H} \\
Chlorobenzene (\cmpd{Ph.Cl}) & \ce{Cl} & \ce{H} \\
\emph{o}-Chlorotoluene (\cmpd{o-Tol.Cl}) & \ce{CH3} & \ce{Cl} \\
\bottomrule
\end{tabular}
\end{table}
In Table~\ref{tbl:compounds}, compounds~\cmpd{Ph.Me} and~\cmpd{Ph.Et}
are useful, whereas compounds~\cmpd{Ph.Cl} and~\cmpd{o-Tol.Cl}
are harmful.
\end{document}
请注意,我采用了标准方法,即化学编号用粗体表示,可以使用包选项进行设置。
答案2
以下是复合编号方案的一种方法(取自LaTeX 用户组上的重复帖子):
\documentclass{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{xparse}% http://ctan.org/pkg/xparse
\newcounter{compoundcntr} \newcounter{subcompoundcntr}[compoundcntr]
\renewcommand{\thesubcompoundcntr}{\thecompoundcntr\alph{subcompoundcntr}}
\NewDocumentCommand{\compound}{s o m}{%
\IfBooleanTF{#1}
{% \compound*[<label>]{<name>}
\IfNoValueTF{#2}
{#3}% \compound{<name>}
{\stepcounter{compoundcntr}\refstepcounter{subcompoundcntr}#3, \thesubcompoundcntr\label{#2}}% \compound[<label>]{<name>}
}
{% \compound[<label>]{<name>}
\ifnum\value{compoundcntr}=0\stepcounter{compoundcntr}\fi% Can use \compound[<label>]{<name>} to start first compound
\IfNoValueTF{#2}
{#3}% \compound*{<name>}
{\refstepcounter{subcompoundcntr}#3, \thesubcompoundcntr\label{#2}}% \compound*[<label>]{<name>}
}
}
\begin{document}
\begin{table}[t]
\centering
\begin{tabular}{lll}
\toprule
Compound & R$^1$ & R$^2$ \\
\midrule
\compound*[toluene]{Toluene} & CH3 & H \\
\compound[ethylbenzene]{Ethyl benzene} & C2H5 & H \\
\compound[chlorobenzene]{Chlorobenzene} & Cl & H \\
\compound*[o-chlorotoluene]{o-chlorotoluene} & CH3 & Cl \\
\bottomrule
\end{tabular}
\caption{Some compounds} \label{tbl:compounds}
\end{table}
In Table~\ref{tbl:compounds}, compound~\ref{toluene} and~\ref{ethylbenzene} are useful, whereas compound~\ref{chlorobenzene} and~\ref{o-chlorotoluene} are harmful.
\end{document}
主要命令是\compound*[<label>]{<name>}
。如果您指定带星号的版本 ( \compound*[<label>]{<name>}
),则会创建一个新的“主化合物”(增加第一个数字)。不带星号的版本 ( \compound[<label>]{<name>}
) 不会增加“主化合物”计数器,但会增加“子化合物”计数器。如果您指定了<label>
(是的,这是可选的),它会打印化合物编号。否则,它不会。您在<name>
(强制参数)中指定的任何内容都会打印为名称。
总之,可用的命令是
\compound*[<label>]{<name>}
= 新的“主要化合物”,含化合物编号\compound*{<name>}
= 新的“主要化合物”,无化合物编号\compound[<label>]{<name>}
= 具有化合物编号的新“子化合物”\compound{<name>}
= 新的“子化合物”,无化合物编号
实际上\compound*{<name>}
和\compound{<name>}
是相同的。您可以像往常一样使用 来引用化合物\ref{<label>}
,如示例中所示。还可以修改标签表示和命令用法。已注意允许以\compound
而不是来开始第一个化合物\compound*
。
如果你对单一复合编号方案感兴趣,那么的构造\compound
就简单多了。以下是此类构造的视图:
\documentclass{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{xparse}% http://ctan.org/pkg/xparse
\newcounter{compoundcntr}
\renewcommand{\thecompoundcntr}{\arabic{compoundcntr}}
\NewDocumentCommand{\compound}{s o m}{%
\IfBooleanTF{#1}
{% \compound*[<label>]{<name>}
#3%
}
{% \compound[<label>]{<name>}
\refstepcounter{compoundcntr}% Increment compound counter for correct referencing
#3, \thecompoundcntr
\IfNoValueTF{#2}
{}% \compound{<name>}
{\label{#2}}% \compound[<label>]{<name>}
}
}
\begin{document}
\begin{table}[t]
\centering
\begin{tabular}{lll}
\toprule
Compound & R$^1$ & R$^2$ \\
\midrule
\compound[toluene]{Toluene} & CH3 & H \\
\compound[ethylbenzene]{Ethyl benzene} & C2H5 & H \\
\compound[chlorobenzene]{Chlorobenzene} & Cl & H \\
\compound[o-chlorotoluene]{o-chlorotoluene} & CH3 & Cl \\
\bottomrule
\end{tabular}
\caption{Some compounds} \label{tbl:compounds}
\end{table}
In Table~\ref{tbl:compounds}, compound~\ref{toluene} and~\ref{ethylbenzene} are useful, whereas compound~\ref{chlorobenzene} and~\ref{o-chlorotoluene} are harmful.
\end{document}
使用\compound*[<label>]{<name>}
没有多大意义,因为<label>
被忽略了。