作者rogerli (我不想当好人,但...)
看板LaTeX
标题Re: [问题] algorithm的label 跟 ref该怎麽用
时间Fri Jun 11 05:23:18 2010
※ 引述《Snr (水饺)》之铭言:
: 我的语法是:
: \begin{algorithm}
: \label{algOrig}
: \caption{Price-based Power Control Game Algorithm} \label{AlgOneHard}
: \begin{algorithmic}[]
: .....
: \STATE Set $c=c+1$.
: \UNTIL{Convergence}
: \end{algorithmic}
: \end{algorithm}
: Algorithm在文章内是显示:
: Algorithm 1 Price-based Power Control Game Algorithm
: 但我文章内用ref的时候 他是显示Algorithm 1.4.2
我猜,你是用\ref{algOrig}结果显示1.4.2,
事实上呢,\ref{AlgOneHard}才会是 1。
因为所有的float元素,包含图、表等,
计数器是由\caption指令启动。
从\label{algOrig}放的位置就知道,
这个标签其实纪录的是那个章节的编号,
而不是algorithm编号。
: 我想要的是Algorithm 1 请问该怎麽修改
: 或是有方法可以改成Algoritm A吗?
: 谢谢大家
以下用$tex$代表latex的安装目录。
先到 $tex$/tex/latex/float
复制 float.sty 为,例如 floatA.sty
修改 floatA.sty 里面的
\ProvidesPackage{float} 这行,改成
\ProvidesPackage{floatA}
然後寻找\arabic(有两处),改成
\Alph
接着到 $tex$/tex/latex/algorithms
复制 algorithm.sty为,例如 algorithmA.sty
修改 algorithmA.sty 里面的
\ProvidesPackage{algorithm} 这行,改成
\ProvidesPackage{algorithmA};
\RequirePackage{float} 这行,改成
\RequirePackage{floatA}。
然後执行settings程式,跑一次refresh FNDB。
最後把文件档里原来的\usepackage{algorithm},
改成 \usepackage{algorithmA},
编号就会变成 A B C 了。
以上方法请慎用。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.255.3.174
1F:推 Snr:谢谢!!! 06/11 18:58