如图片所示,如何将其中的“Algorithm”写成“算法”。
使用的是algorithm2e宏包,但是在使用SetAlgorithmName{Algorithm}{算法}{算法}时无法将算法的英文标题改成中文的。
代码如下所示:
\documentclass[11pt]{ctexbook}
\usepackage[ruled,vlined,algo2e,resetcount,algochapter]{algorithm2e}
\usepackage{algorithm}
\makeatletter
\renewcommand\thealgorithm{\thechapter.\arabic{algorithm}}
\@addtoreset{algorithm}{chapter}
\makeatother
\begin{document}
\chapter{测试算法章节}
引用算法\ref{Algorithm:算法框架}
\SetAlgorithmName{Algorithm}{算法}{算法}
\SetKwInput{KwIn}{输入}
\SetKwInput{KwOut}{输出}
\begin{algorithm}[!htb]
\DontPrintSemicolon
\hspace{-0.2em}\KwIn{最大迭代次数:$Gen_{max}$,种群规模:$N$ ,邻居大小:$T$\\
\hspace{2.4em}最大调整向量数:$nus$
}
\hspace{-0.2em}\KwOut{种群$P$ }
\caption{算法框架\label{Algorithm:算法框架}}
\end{algorithm}
\end{document}
algorithm2e
和algorithm
是两个不同的宏包,不能在一起使用
改用下面的就好了
\documentclass[11pt]{ctexbook}
\usepackage[ruled,vlined,algochapter]{algorithm2e}
\begin{document}
\chapter{测试算法章节}
引用算法\ref{Algorithm:算法框架}
\SetAlgorithmName{算法}{算法}{算法}
\SetKwInput{KwIn}{输入}
\SetKwInput{KwOut}{输出}
\begin{algorithm}
\DontPrintSemicolon
\KwIn{最大迭代次数:$Gen_{\max}$,种群规模:$N$ ,邻居大小:$T$\newline
最大调整向量数:$nus$
}
\KwOut{种群$P$ }
\caption{算法框架\label{Algorithm:算法框架}}
\end{algorithm}
\end{document}
看这里 https://www.latexstudio.net/index/details/index/mid/796.html
\renewcommand{\algorithmcfname}{算法}
你好,试了这种方法,还是不行呀,也看了文档。不知道是不是我使用了renewcommandthealgorithm{thechapter.arabic{algorithm}}的原因
@u11588 去看例子的代码,你的代码不全,无法还原,你最好提供一个完整复现你的问题的代码。
好的,我检查一下,感谢
@u30 你好,我没太明白您的意思,我的代码在latex中可以正常运行