algorithme
您能否帮助解决该软件包(法语版)的以下问题algorithm
?
我想给行编号;但该选项
linesnumbered
不起作用,就像在 中一样algorithm
。括号后有一个多余的空格(在结果代码中),我试图将其删除,但没有成功。
不幸的是,我无法使用这个algorithm
包,我需要用法语编写伪代码。
以下是 MWE 及其结果的图像:
\documentclass[12pt,A4paper]{article}
\usepackage{algorithme}
\begin{document}
\begin{algorithme}
\Function{Pair}
{\Type{Donnée x}{entier}}
{booléen}
{
\IfThenElse{x mod 2 = 0}
{
\Return{Vrai};
}
{
\Return{Faux};
}\\
}
\end{algorithme}
\end{document}
答案1
您可以使用以下定义algorithm2e
复制未知的输出algorithme.sty
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[linesnumbered,plain,lined]{algorithm2e}
\usepackage{amsmath}
\newcommand{\Mod}[1]{\ (\text{mod}\ #1)}% http://tex.stackexchange.com/a/137076/5764
\newenvironment{algorithme}[1][htbp]
{\begin{algorithm}[#1]}
{\end{algorithm}}
\SetKwProg{Fonction}{Fonction}{}{Fin}
\newcommand{\FName}[1]{#1\setcounter{fargs}{0}}
\newcounter{fargs}% Count number of arguments per function
\newcommand{\FInput}[2]{\unskip
\stepcounter{fargs}% A new argument
\ifnum\value{fargs}=1 (\else, \fi% Separator between arguments
{#1}: {\KwSty{#2}}}
\newcommand{\FOutput}[1]{\unskip\ifnum\value{fargs}>0)\fi: {\KwSty{#1}}}
\SetKwIF{Si}{SinonSi}{Sinon}% LaTeX macros
{Si}{Alors}{Sinon Si}{Sinon}{Fin Si}% Text set
\SetKw{Retourner}{Retourner}
\renewcommand{\ProgSty}[1]{{\textnormal #1}\unskip}
\renewcommand{\ArgSty}[1]{{\textnormal #1}\unskip}
\SetAlgorithmName{Algorithme}{Liste des Algorithmes}
\begin{document}
\begin{algorithme}
%\caption{Some algorithm}
\Fonction{\FName{Pair} \FInput{Donnée x}{entier} \FInput{Donnée y}{entier} \FOutput{booléen}}
{
\eSi{\mbox{$x \Mod{2} = 0$}}{
\Retourner{Vrai}\;
}{
\Retourner{Faux}\;
}
}
\end{algorithme}
\end{document}
如果您确实想要红色风格的算法,则可以algorithme
按照以下方式更新环境:
\usepackage{xcolor}
\newenvironment{algorithme}[1][htbp]
{\begin{algorithm}[#1]
\color{red!70!black}}
{\end{algorithm}}
我对界面做了一些改动,这样会更加直观。