latex algorithm 引用格式错误

写论文时,用到一个算法框架,形式如下:

\medskip
\begin{algorithm}[H]
    \renewcommand{\thealgocf}{4.1} %自定义算法编号
    \label{alg4-1}    
    \caption{算法}%算法名字
    \SetAlgoLined %显示end
    \KwIn{$M$
    \KwOut{最终的标签$y_l$}%
    初始化 \;
    \For{$t = T,\dots,1$}{
        .....
        计算 \;
    }
    \For{$t = T,\dots,1$}{
        计算 \;
    }
    汇总 \;
    计算 \;
    return $y_l$ \;
\end{algorithm}
\medskip

算法在文中的显示是这样的,

现在我想使用“\ref{alg4-1}”来在段落中引用这个算法,我期待的情况应该是显示成“算法4-1”。但是在正文中引用该算法时,显示的却是 “算法5”,即引用的格式出错了。

解决方法

最后,我在网上查到,部分期刊模板下表格、图片的引用会出现不正确的问题。比如第一张图片定义的label为label{fig1},tex文件中引用ref{fig1},但编译后出现的是Figure 2或是Figure x.x。

在figure(table类似)环境中,先写caption{}再写label{},也就是说,一定要把label{}放在caption{}后面。

所以结合我的情况,以后写文章,figure,table,algorithm环境中(或者其他环境),label{}都写在caption{}之后即可。

\medskip
\begin{algorithm}[H]
    \renewcommand{\thealgocf}{4.1} %自定义算法编号
    \caption{算法}%算法名字
    \label{alg4-1}    
    \SetAlgoLined %显示end
    \KwIn{$M$
    \KwOut{最终的标签$y_l$}%
    初始化 \;
    \For{$t = T,\dots,1$}{
        .....
        计算 \;
    }
    \For{$t = T,\dots,1$}{
        计算 \;
    }
    汇总 \;
    计算 \;
    return $y_l$ \;
\end{algorithm}
\medskip

这样重新刷新之后,显示正常了。

OK,问题解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值