Sahte kod yazmanın güzel bir yolu var mı?


11

Bazı sahte kodlar çizmek ve daha sonra emacs kullanmayacak başka insanlarla paylaşmak istiyorum.

Bunu yapmanın güzel bir yolu var mı? Ben org modunda yapmaya çalışıyorum, ama düzgün girintili değil, vb ...


Birisi bir sahte kod modu yazdı , ancak bu yazıdan itibaren sadece sözdizimi vurgulama sunuyor, girinti yok.
dsedivec

Yanıtlar:


4

Sahte kod modunu bilmiyorum, daha az org modunda destek.

Bununla birlikte, #+BEGIN_EXAMPLEbloklar halinde, kesinlikle girintisiz olarak sahte kod yazabilir veya gerçek bir dili temel sözdizimi ve sözde kod olarak kararlaştırabilir ve girinti ve güzel sözdizimi vurgulaması elde edebilirsiniz. Ruby iyi bir aday veya iyi eski C / C ++, belki Java olabilir ...

Bu şekilde görünebilir:

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

Sahte kodunuzu LaTeX veya PDF biçiminde paylaşmayı kabul ederseniz, paketi mintedteletype ve iyi girintili ifadeyi LaTeX matematik ifadesiyle karıştırmak için kullanabilirsiniz . İşte tanınmış Prim'in algoritmasına bir örnek:

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

ki bu resim açıklamasını buraya girin

Yalnızca bu sahte kod snippet'ini paylaşmak istiyorsanız, bu bloğu seçmeniz ve aramanız org-latex-export-as-latexveya org-latex-export-to-pdfhangi formatı dışa aktarmak istediğinize bağlı olarak (tatmin edici bir düzene sahip olmak için kuruluş modu seçeneklerini biraz değiştirmek isteyebilirsiniz). Kolayca yalancı kod yazmak için, elbette, mintedmatematik ifade ayırıcısını değiştirebilir ve yasnippetbu grup seçeneklerden kurtulmak için özel bloğu kullanabilir veya lateksleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.