化学结构定制标签

化学结构定制标签

我需要为我的化学结构添加自定义标签,一切正常,但标签未居中。有人知道如何将标签居中吗?

\documentclass{minimal}
\usepackage{hyperref}

\makeatletter
\newcounter{chem}
\addtocounter{chem}{1}
\newcommand{\chemlabel}[1]{%
  \hypertarget{#1}{\textbf{\number\value{chem}}}
   \protected@write\@auxout{}{\string\newlabel {#1}
   {{\number\value{chem}}{\thepage}{\number\value{chem}}{#1}{}}}% 
  \refstepcounter{chem} 
}
\makeatother

\usepackage{chemfig}
\begin{document}

\chemname{\chemfig{*6(-=-=-=)}}{Benzen}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen1}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen2}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen3}}


\end{document} 

答案1

您需要%在定义中的行尾添加一些内容,\chemlabel否则行尾将显示为空格:

\documentclass{article}
\usepackage{hyperref}

\makeatletter
\newcounter{chem}
\addtocounter{chem}{1}
\newcommand{\chemlabel}[1]{%
  \hypertarget{#1}{\textbf{\number\value{chem}}}% <<<<
   \protected@write\@auxout{}{\string\newlabel {#1}
   {{\number\value{chem}}{\thepage}{\number\value{chem}}{#1}{}}}% 
  \refstepcounter{chem}% <<<<
}
\makeatother

\usepackage{chemfig}
\begin{document}

\chemname{\chemfig{*6(-=-=-=)}}{Benzen}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen1}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen2}}
\chemname{\chemfig{*6(-=-=-=)}}{\chemlabel{str:benzen3}}


\end{document}

在此处输入图片描述

顺便问一下:你知道吗chemnum

相关内容