我正在編寫我的程式碼虛擬程式碼包,我需要更改名稱”演算法“ 到 ”演算法」。
有沒有可能如何在這個包中做到這一點?我發現它只是為了封裝演算法,但我已經寫好了所有內容,我不想將我的整個工作更改為不同的環境。
感謝您的任何幫助。
答案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}
只是以舉例的方式添加。