重构观察水平间距和对齐的伪代码

重构观察水平间距和对齐的伪代码

为了重建下面的图片, 在此处输入图片描述

我已经尝试过verbatim如下环境:

\documentclass[11pt]{book}
\usepackage{algcompatible}
\usepackage{algorithm}
\usepackage{mathrsfs}
\makeatletter 
\renewcommand\thealgorithm{\thechapter.\arabic{algorithm}} 
\@addtoreset{algorithm}{chapter} 
\makeatother
\usepackage{verbatim}
\usepackage{xepersian}
\settextfont[Scale=1]{Tahoma}
\setlatintextfont[Scale=1]{Times New Roman}
\setdigitfont[Scale=1]{Tahoma}
\begin{document}
    \begin{LTR}
        \begin{verbatim}
            TYPE ARRN      = ARRAY[1..N] OF INTEGER;
            ARR0N     = ARRAY[0..N] OF INTEGER;
            VERTPOINT = @VERTLIST;
            GRAPH     = ARRAY[1..N] OF
            RECORD
            DEGREE,COLOR:INTEGER;
            ADJLIST     :VERTPOINT;
            END;
            VERTLIST  = RECORD
            VERTEX:INTEGER;
            NEXT  :VERTPOINT
            END;
        \end{verbatim}
    \end{LTR}
\end{document}

然而,输出并不是原始图像中显示的那样,如下图所示:在此处输入图片描述

我尝试使用algorithmic包,但无法获得输出。我收到错误“出了点问题——可能缺少了 \item。^^I\end{algorithmic}“,当我尝试运行以下代码时:

\begin{algorithmic}
    \begin{LTR}
    TYPE ARRN      = ARRAY[1..N] OF INTEGER;
    ARR0N     = ARRAY[0..N] OF INTEGER;
    VERTPOINT = VERTLIST;
    GRAPH     = ARRAY[1..N] OF
    RECORD
    DEGREE,COLOR:INTEGER;
    ADJLIST     :VERTPOINT;
    END;
    VERTLIST  = RECORD
    VERTEX:INTEGER;
    NEXT  :VERTPOINT
    END;
    \end{LTR}
\end{algorithmic}

对于我应该如何操作才能获得类似于预期图像的输出,您有什么建议吗?谢谢。

编辑 作为大卫·卡莱尔指出,该网站将制表符转换为空格。因此,我发布了verbatim环境在我的 TeX 编辑器中实际的样子。下图的输出已在第二张图片中显示。在此处输入图片描述

答案1

使用空格而不是制表符

在此处输入图片描述

\documentclass[11pt]{book}
\usepackage{algcompatible}
\usepackage{algorithm}
\usepackage{mathrsfs}
\makeatletter 
\renewcommand\thealgorithm{\thechapter.\arabic{algorithm}} 
\@addtoreset{algorithm}{chapter} 
\makeatother
\usepackage{verbatim}
\usepackage{xepersian}
\settextfont[Scale=1]{Tahoma}
\setlatintextfont[Scale=1]{Times New Roman}
\setdigitfont[Scale=1]{Tahoma}
\begin{document}
    \begin{LTR}
    \begin{verbatim}
       TYPE ARRN      = ARRAY[1..N] OF INTEGER;
            ARR0N     = ARRAY[0..N] OF INTEGER;
            VERTPOINT = @VERTLIST;
            GRAPH     = ARRAY[1..N] OF
                           RECORD
                              DEGREE,COLOR:INTEGER;
                              ADJLIST     :VERTPOINT;
                           END;
            VERTLIST  = RECORD
                           VERTEX:INTEGER;
                           NEXT  :VERTPOINT
                        END;
    \end{verbatim}
    \end{LTR}
\end{document}

如果您的编辑器没有提供特定的取消制表符化功能,只需将所有制表符替换为 4 个空格,然后通过在需要的地方添加或删除空格来更正对齐方式。

请注意,缩进不会被删除并出现在输出中,因此您可能(或可能不)想要删除每行开头的一些空格。

相关内容