疑似コードを書く良い方法はありますか?


11

いくつかの疑似コードをスケッチしてから、emacsを使用しない他の人と共有したいと思います。

これを行う良い方法はありますか?私はそれを組織モードでやろうとしていますが、適切にインデントしていませんなど...


誰かが疑似コードモードを作成しましたが、これを書いている時点では、構文の強調表示のみを提供しており、インデントは提供していません。
dsedivec

回答:


4

私は疑似コードモードを知りませんが、組織モードでのサポートはそれほどではありません。

ただし、#+BEGIN_EXAMPLE確かにインデントなしでブロックに疑似コードを書くことができます。または、基本構文として真の言語を使用し、その中の疑似コードをインデントし、構文を強調表示することもできます。Rubyは良い候補かもしれませんし、古き良きC / C ++かもしれませんが、おそらくJava ...

これは次のようになります。

#+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

0

LaTeXまたはPDF形式で疑似コードを共有することに同意した場合、パッケージmintedを使用して、テレタイプと適切にインデントされた式をLaTeX数式と混合できます。これはよく知られたプリムのアルゴリズムの例です:

#+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

レンダリングされる ここに画像の説明を入力してください

この疑似コードスニペットのみを共有する場合は、このブロックを選択して呼び出すorg-latex-export-as-latexorg-latex-export-to-pdf、エクスポートする形式に応じて(組織モードオプションをわずかに変更して、満足のいくレイアウトにすることができます)。もちろん、疑似コードを簡単に作成するために、minted数式の区切り記号を変更し、yasnippetまたはカスタムラテックスブロックを使用して、これらのオプションの束を取り除くことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.