下午好 ,
我需要使用列表包将一些算法步骤写为文本:
\documentclass[10pt]{book}
\usepackage[english]{babel}
\usepackage{amsmath,amsthm}
\usepackage{amsfonts}
\usepackage[utf8]{inputenc}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{geometry}
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,
right=10mm,
left=10mm
}
\usepackage{listings}
\usepackage{caption}
\lstset{
language=C++,
basicstyle=\small\ttfamily,
numbersep=5pt,
xleftmargin=20pt,
frame=tb,
framexleftmargin=20pt
}
\DeclareCaptionFormat{mylst}{\hrule#1#2#3}
\captionsetup[lstlisting]{format=mylst,labelfont=bf,singlelinecheck=off,labelsep=space}
\renewcommand\lstlistingname{Algorithm}
\title{Mouad PHD }
\author{Mouad TOUARSI}
\date{ }
% THEOREMS -------------------------------------------------------
\newtheorem{thm}{Theorem}[chapter]
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{prop}[thm]{Proposition}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\theoremstyle{remark}
\newtheorem{rem}[thm]{Remark}
% ----------------------------------------------------------------
\renewcommand*\contentsname{Summary}
\begin{document}
\maketitle
\tableofcontents{}
\thispagestyle{empty}
\listoffigures
\listoftables
\newpage
\pagenumbering{arabic}
\begin{lstlisting}[language={},caption={test algorithm}]
\text{Initialiser} : sélectionnez aléatoirement k des n points de données comme médoïdes \\
\textbf{Étape d’assignation :} associez chaque point de données au médoïde le plus proche (En utilisant par exemple la distance L2). \\
\textbf{Étape de mise à jour} : Pour chaque médoïde m et chaque point de données o associé à m permutez m et o et calculez le coût total de la configuration (c'est-à-dire la dissimilarité moyenne de o avec tous les points de données associés à m ). Sélectionnez le médoïde o avec le coût le plus bas de la configuration. \\
\textbf{Répétez les étapes 2 et 3} en alternance jusqu'à ce qu'il n'y ait aucun changement dans les affectations. \\
\end{lstlisting}
\end{document}
使用这种方法,打印结果看起来很糟糕!
我只需要看到以标准文本形式写出的步骤(但在算法范围内)
答案1
解决这个问题的一种方法是使用 xelatex。
我删除了 \usepackage[utf8]{inputenc} 并将引擎更改为 xelatex,然后得到了一个看起来不错的输出。
答案2
我认为你最好使用常规algorithm
环境:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}
\caption{Test algorithm}
\begin{enumerate}
\item \textbf{Initialiser :} sélectionnez aléatoirement k des n points de données comme médoïdes
\item \textbf{Étape d’assignation :} associez chaque point de données au médoïde le plus proche (En utilisant par exemple la distance L2).
\item \textbf{Étape de mise à jour} : Pour chaque médoïde m et chaque point de données o associé à m permutez m et o et calculez le coût total de la configuration (c'est-à-dire la dissimilarité moyenne de o avec tous les points de données associés à m ). Sélectionnez le médoïde o avec le coût le plus bas de la configuration.
\item \textbf{Répétez les étapes 2 et 3} en alternance jusqu'à ce qu'il n'y ait aucun changement dans les affectations.
\end{enumerate}
\end{algorithm}
\end{document}