Namen im Pseudocode ändern

Namen im Pseudocode ändern

Ich schreibe meinen Code inPseudocodePaket und ich müsste den Namen ändern "Algorithmus" Zu "Algorithmus".

Gibt es eine Möglichkeit, dies in diesem Paket zu tun? Ich habe sie nur für den Paketalgorithmus gefunden, aber ich habe alles geschrieben und möchte meine gesamte Arbeit nicht auf eine andere Umgebung übertragen.

Vielen Dank für jede Hilfe.

Antwort1

Pakete sollten Befehle für feste Zeichenfolgen verwenden \xxxname, damit diese bei Bedarf problemlos geändert werden können. Leider wird hier jedoch der feste Text in der Mitte eines großen Befehls-Setups verwendet.

Sie können die Definition jedoch wie folgt patchen

Bildbeschreibung hier eingeben

\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}

Antwort2

Der Patch von David ist gut, kann aber in vielerlei Hinsicht verbessert werden. Beispielsweise könnte der Name sprachabhängig gemacht werden und eine einfache Unterstützung für die Änderung der Formatierung der Kopfzeile hinzugefügt werden.

\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}

Ich habe es \renewcommand{\algorithmheadformat}{\scshape}nur als Beispiel hinzugefügt.

Bildbeschreibung hier eingeben

verwandte Informationen