latex pseudo-code can not display correctly

Viewed 61

I want to add pseudo-code in an rst file, but on the HTML page it says 'unknown environment {algorithm}'.

In conf.py, I added:

latex_engine = 'xelatex'
latex_elements = {
    'preamble':
    r'''
        \usepackage{algorithm}
        \usepackage{algorithmic}
        \usepackage{amsmath}
        \usepackage{cancel}
        \usepackage[verbose=true,letterpaper]{geometry}
    ''',
}
latex_show_urls = 'footnote'

And in rst file, I added:

.. math::
   :nowrap:

    % This quicksort algorithm is extracted from Chapter 7, Introduction to Algorithms (3rd edition)
    \begin{algorithm}
    \caption{Quicksort}
    \begin{algorithmic}
    \PROCEDURE{Quicksort}{$A, p, r$}
        \IF{$p < r$}
            \STATE $q = $ \CALL{Partition}{$A, p, r$}
            \STATE \CALL{Quicksort}{$A, p, q - 1$}
            \STATE \CALL{Quicksort}{$A, q + 1, r$}
        \ENDIF
    \ENDPROCEDURE
    \PROCEDURE{Partition}{$A, p, r$}
        \STATE $x = A[r]$
        \STATE $i = p - 1$
        \FOR{$j = p$ \TO $r - 1$}
            \IF{$A[j] < x$}
                \STATE $i = i + 1$
                \STATE exchange
                $A[i]$ with     $A[j]$
            \ENDIF
            \STATE exchange $A[i]$ with $A[r]$
        \ENDFOR
    \ENDPROCEDURE
    \end{algorithmic}
    \end{algorithm}

Did I use the wrong context? Or something else?

0 Answers
Related