我需要为我的化学结构添加自定义标签,一切正常,但标签未居中。有人知道如何将标签居中吗?
\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
?