Apakah ada cara yang baik untuk menulis kodesemu?

11

Saya ingin membuat sketsa pseudocode dan kemudian membaginya dengan orang lain yang tidak akan menggunakan emacs.

Apakah ada cara yang bagus untuk melakukan ini? Saya mencoba melakukannya dalam mode-org, tetapi tidak membuat indentasi dengan benar, dll ...

theQman
sumber
Seseorang telah menulis mode pseudocode , tetapi pada tulisan ini hanya menawarkan penyorotan sintaks, tidak ada lekukan.
dsedivec

Jawaban:

4

Saya tidak tahu tentang mode pseudo-code, kurang mendukung untuk itu dalam mode org.

Anda dapat, bagaimanapun, menulis pseudo-code di #+BEGIN_EXAMPLEblok, pasti tanpa lekukan, atau Anda memutuskan untuk bahasa yang benar sebagai sintaks dasar dan pseudo-code di dalamnya dan mendapatkan lekukan dan penyorotan sintaksis yang cantik. Ruby mungkin kandidat yang baik, atau C / C ++ tua yang baik, mungkin Java ...

Ini terlihat seperti:

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

Jika Anda menerima untuk membagikan kodesemu dalam format LaTeX atau PDF, Anda dapat menggunakan paket tersebut minteduntuk mencampur teletype & ekspresi yang terindentasi dengan baik dengan ekspresi matematika LaTeX. Berikut adalah contoh algoritma Prim yang terkenal:

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

yang diterjemahkan sebagai masukkan deskripsi gambar di sini

Jika Anda hanya ingin membagikan potongan kode pseudocode ini, Anda hanya perlu memilih blok ini dan menelepon org-latex-export-as-latexatau org-latex-export-to-pdftergantung pada format apa yang ingin Anda ekspor (Anda mungkin ingin sedikit mengubah opsi mode-org untuk memiliki tata letak yang memuaskan). Untuk menulis kodesemu dengan mudah, Anda dapat, tentu saja, mengubah mintedpemisah ekspresi matematika, dan menggunakan yasnippetatau blok khusus lateks untuk menyingkirkan banyak opsi tersebut.

Firmin Martin
sumber