의사코드에서 이름 변경

의사코드에서 이름 변경

내 코드를 작성 중입니다.의사코드패키지 이름을 변경해야 합니다."연산" 에게 "알고리즘".

이 패키지에서 이를 수행하는 방법이 있습니까? 패키지 알고리즘에 대해서만 찾았지만 모든 내용이 작성되어 있으며 전체 작업을 다른 환경으로 변경하고 싶지 않습니다.

도움을 주셔서 감사합니다.

답변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}예시를 들어서 추가했습니다 .

여기에 이미지 설명을 입력하세요

관련 정보