Gibt es eine gute Möglichkeit, Pseudocode zu schreiben?

11

Ich möchte einen Pseudocode skizzieren und ihn dann mit anderen Leuten teilen, die keine Emacs verwenden.

Gibt es eine gute Möglichkeit, dies zu tun? Ich versuche es im org-Modus zu machen, aber es wird nicht richtig eingerückt, etc ...

theQman
quelle
Jemand hat einen Pseudocode-Modus geschrieben , aber zum jetzigen Zeitpunkt bietet er nur Syntaxhervorhebung, keine Einrückung.
dsedivec

Antworten:

4

Ich kenne keinen Pseudocode-Modus, weniger Unterstützung für diesen im Org-Modus.

Sie können jedoch Pseudocode in #+BEGIN_EXAMPLEBlöcken schreiben , sicherlich ohne Einrückung, oder Sie entscheiden sich für eine echte Sprache als Basissyntax und Pseudocode, um Einrückungen und eine hübsche Syntaxhervorhebung zu erhalten. Ruby könnte ein guter Kandidat sein, oder gutes altes C / C ++, vielleicht Java ...

So könnte es aussehen:

#+HEADER: :exports both :results output
#+BEGIN_SRC ruby
class Pseudoclass
  def pseudofunction(items)
    add five to each item
  end
end

pseudoinstance = new Pseudoclass instance
call pseudofunction of pseudoinstance with list 2, 3, 4
#+END_SRC
Theldoria
quelle
0

Wenn Sie akzeptieren, Ihren Pseudocode im LaTeX- oder PDF-Format freizugeben, können Sie das Paket verwenden, mintedum Teletyp und gut eingerückten Ausdruck mit LaTeX-Mathematikausdruck zu mischen. Hier ist ein Beispiel für den bekannten Prim-Algorithmus:

#+begin_export latex
\begin{minted}[escapeinside=||,mathescape=true]{text}
Prim's Algorithm(|$V, s$|)
|$T = \varnothing$|
|$U = \{ s \}$|
while (|$U \neq V$|)
    let |$(u, v)$| be the lowest cost edge in the cut |$(U, V-U)$|
    |$T = T \cup \{(u, v)\}$|
    |$U = U \cup \{v\}$|
\end{minted}
#+end_export

was es als gerendert wird Geben Sie hier die Bildbeschreibung ein

Wenn Sie nur dieses Pseudocode-Snippet freigeben möchten, müssen Sie nur diesen Block auswählen und aufrufen org-latex-export-as-latexoder org-latex-export-to-pdfje nachdem, welches Format Sie exportieren möchten (möglicherweise möchten Sie die Optionen für den Organisationsmodus geringfügig ändern, um ein zufriedenstellendes Layout zu erhalten). Um einfach Pseudocode zu schreiben, können Sie natürlich das mintedTrennzeichen für mathematische Ausdrücke ändern und einen yasnippetbenutzerdefinierten Latexblock verwenden, um diese Optionen zu entfernen.

Firmin Martin
quelle