更改偽代碼中的名稱

更改偽代碼中的名稱

我正在編寫我的程式碼虛擬程式碼包,我需要更改名稱”演算法“ 到 ”演算法」。

有沒有可能如何在這個包中做到這一點?我發現它只是為了封裝演算法,但我已經寫好了所有內容,我不想將我的整個工作更改為不同的環境。

感謝您的任何幫助。

答案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}只是以舉例的方式添加。

在此輸入影像描述

相關內容