更改伪代码中的名称

更改伪代码中的名称

我正在写我的代码伪代码包,我需要更改名称“算法“ 到 ”算法“。

是否有可能在这个包中做到这一点? 我发现它只是用于包算法,但我已经写了所有内容,我不想将我的整个工作更改为不同的环境。

感谢您的任何帮助。

答案1

包应该使用\xxxname固定字符串的命令,以便可以根据您的要求轻松更改它们,但不幸的是,这会在大型命令设置中间使用固定文本。

但是你可以按如下方式修补定义

在此处输入图片描述

\documentclass{article}

\usepackage{pseudocode}
\usepackage{etoolbox}
\expandafter\patchcmd\csname\string\pseudocode\endcsname{Algorithm}{Algoritmus}{\typeout{good}}{\typeout{bad}}
\expandafter\patchcmd\csname\string\pseudocode\endcsname{Algorithm}{Algoritmus}{\typeout{good}}{\typeout{bad}}
\begin{document}

\begin{pseudocode}{a}{b}

\end{pseudocode}

\end{document}

答案2

David 的补丁很好,但还可以进行很大的改进,例如使名称能够识别语言并添加对更改标题格式的简单支持。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,czech]{babel}

\usepackage{pseudocode}
\usepackage{xpatch}

% fix the bad code in pseudocode.sty
\xpatchcmd\pseudocode{\bfseries Algorithm }{\algorithmheadformat\algorithmname\ }{}{}
\xpatchcmd\pseudocode{\bfseries Algorithm }{\algorithmheadformat\algorithmname\ }{}{}
\providecommand{\algorithmname}{Algorithm}
\providecommand{\algorithmheadformat}{\bfseries}
% end of fix

\addto\captionsczech{\renewcommand{\algorithmname}{Algoritmus}}
\addto\captionsenglish{\renewcommand{\algorithmname}{Algorithm}}
\renewcommand{\algorithmheadformat}{\scshape}

\begin{document}

\begin{pseudocode}{CelsiusToFahrenheit}{c}
  f \GETS {9c/5} + 32\\
  \RETURN{f}
\end{pseudocode}

\selectlanguage{english}

\begin{pseudocode}{CelsiusToFahrenheit}{c}
  f \GETS {9c/5} + 32\\
  \RETURN{f}
\end{pseudocode}

\end{document}

\renewcommand{\algorithmheadformat}{\scshape}只是为了举例子而添加的。

在此处输入图片描述

相关内容