![如何设置列表和算法等程序结果](https://linux22.com/image/467212/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E5%88%97%E8%A1%A8%E5%92%8C%E7%AE%97%E6%B3%95%E7%AD%89%E7%A8%8B%E5%BA%8F%E7%BB%93%E6%9E%9C.png)
我对列表包进行了以下设置,并且需要以相同的方式打印程序结果,但使用自己的编号并删除标题中的“列表”),即“列表 1 的结果”。此外,我需要根据任务打开或关闭数字。
% !TeX program = xelatex
\documentclass[fontsize=11pt,paper=a5, pagesize=auto]{extbook}
\usepackage[a5paper]{geometry}
\usepackage[colorlinks=true, allcolors=black]{hyperref}
\usepackage{blindtext}
\usepackage{amsmath} % for math equations
\usepackage{amssymb}
\usepackage{fontspec}
\usepackage{polyglossia}
%% set main font
\setdefaultlanguage{english}
\setmainfont[Ligatures=TeX]{Liberation Serif}
%% set mono font
\setmonofont[Scale=MatchLowercase]{Noto Mono}
%% set the look of algorithms
%% https://tex.stackexchange.com/questions/381104/algorithm2e-why-are-some-of-my-texts-are-italicized-and-some-are-not
\usepackage[scaled, semibold]{sourcecodepro}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
% ,algochapter
\usepackage{xcolor,xcolor-material}
\newcommand{\mykwsty}[1]{\textcolor{black}{\textbf{\texttt{#1}}}}
\SetKwSty{mykwsty}
\setlength{\algomargin}{1.5em}
\SetAlFnt{\small\ttfamily}
\SetAlCapFnt{\normalfont\bfseries\hspace*{-0.35em}}
\SetNlSty{ttfamily}{\color{black}\scriptsize\bfseries}{}
%% https://tex.stackexchange.com/questions/653074/algorithm2e-make-the-topmost-and-bottom-horizontal-lines-thicker
\setlength\algoheightrule{0.5pt} % The upper and the lower rules
\setlength\algotitleheightrule{0.5pt} % The rule between a title and code
%% set the look of listings
%% https://tex.stackexchange.com/questions/73392/how-to-make-lstlisting-look-exactly-like-the-algorithm-environment
\usepackage{listings}
\usepackage{caption}
\lstset{
basicstyle=\small\ttfamily,
numbers=left,
numbersep=5pt,
numberstyle=\bf\color{black}\scriptsize\ttfamily,
frame=tb,
framexleftmargin=1.7em,
xleftmargin=\algomargin,
}
\renewcommand*\thelstnumber{\arabic{lstnumber}}
\DeclareCaptionFormat{mylst}{\hrule#1#2#3}
\captionsetup[lstlisting]{format=mylst,labelfont=bf,singlelinecheck=off,labelsep=colon}
% \renewcommand{\lstlistingname}{\ \ \ Listing}
%% start document
\begin{document}
% Algorithm using algorithm2e package
{
\begin{algorithm}[H]
\DontPrintSemicolon
\SetKwFunction{FMain}{factorial}
\SetKwProg{Fn}{Function}{\string:}{}
\Fn{\FMain{$n$}}{
\KwIn{an integer $n$}
\KwOut{the factorial of $n$}
\If{$n \leq 1$}{
\Return $1$\;
}
\Return $n \times \FMain{n-1}$\;
}
\caption{Recursive factorial function}
\end{algorithm}
}
\begin{lstlisting}[caption={Search for SLAE solution.},language=Octave, label=lst:7.1]
## Example 1.1 Solution SLAE using backslash (\)
display(Matrix of coefficients)
A = [2 -3 1; 2 1 -4; 6 -5 2]
display(Free Members Column)
b = [2; 9; 17]
display(Solution x = A\b)
x = A \b
display(Check norm(A*x-b))
norm(A * x - b)
display(Validation)
b - A * x
\end{lstlisting}
\begin{lstlisting}[caption={Outcomes for the listing \ref{lst:7.1}}, nolol=true]
Matrix of coefficients
A =
2 -3 1
2 1 -4
6 -5 2
Free Members Column
b =
2
9
17
Solution x = A b
x =
5.00000
3.00000
1.00000
Check norm(A*x-b)
ans = 1.8310e-15
Check
ans =
4.4409e-16
-1.7764e-15
0.0000e+00
\end{lstlisting}
\listofalgorithms
\lstlistoflistings
\end{document}