Skip to main content

Use pseudocode.js natively in yours Sphinx powered docs

Project description

sphinxcontrib-pseudocode

This is a sphinx-doc extension that allows you to write LaTeX algorithm directly inside sphinx-doc. The rendering of LaTex algorithm is powered by pseudocode.js.

Demo

You can directly type LaTeX algorithm (e.g., quicksort algorithm taken from pseudocode.js demo) under pcode directive in any .rst files as follows:

.. pcode::
   :linenos:

    % 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}

The above code will be rendered as

quicksort-demo

See more examples on demo page.

Installation and Configuration

Install the package via

$ pip install sphinxcontrib-pseudocode

Then in the Sphinx-doc conf.py, add

extensions = [
    'sphinxcontrib.pseudocode'
]

Usage

Write LaTeX algorithm within pcode directive as shown above. The following option is supported:

  • linenos (LineNumber in pseudocode.js: Whether line numbering is enabled)

For Developer

This blog explains the underlying implementation details of this extension.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxcontrib-pseudocode-0.3.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sphinxcontrib_pseudocode-0.3.0-py2.py3-none-any.whl (217.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sphinxcontrib-pseudocode-0.3.0.tar.gz.

File metadata

  • Download URL: sphinxcontrib-pseudocode-0.3.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for sphinxcontrib-pseudocode-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9dfc54512a97494d4fb123644dc3c0e5c990f23f6d156dc80693f2a28f445d7c
MD5 902d80222428ab390065234a0468215c
BLAKE2b-256 e58760e5c723d7278d8d4c56b97ac52dc762f49c7706c620efa03276c5091a98

See more details on using hashes here.

File details

Details for the file sphinxcontrib_pseudocode-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: sphinxcontrib_pseudocode-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 217.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for sphinxcontrib_pseudocode-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bfdc881d5240b7f961641d94682a34682c80dc18872783196e0a50698113678e
MD5 5e7466590142fc1e98aa120d8d8c3c9a
BLAKE2b-256 b835c58fb76c93c28537f3780233196dc90f91a7f249a5b561e9235ac922a4e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page