Có một cách hay để viết mã giả?


11

Tôi muốn phác thảo một số mã giả và sau đó chia sẻ nó với những người khác sẽ không sử dụng emacs.

Có một cách tốt đẹp để làm điều này? Tôi đang cố gắng thực hiện nó ở chế độ org, nhưng nó không thụt lề đúng cách, v.v ...


Ai đó đã viết một chế độ mã giả , nhưng khi viết bài này, nó chỉ cung cấp đánh dấu cú pháp, không thụt lề.
DSedivec

Câu trả lời:


4

Tôi không biết về chế độ mã giả, ít hỗ trợ cho chế độ đó ở chế độ org.

Tuy nhiên, bạn có thể viết mã giả thành #+BEGIN_EXAMPLEcác khối, chắc chắn không có thụt lề hoặc bạn quyết định ngôn ngữ thực sự là cú pháp cơ sở và mã giả trong đó và nhận được dấu ấn và tô sáng cú pháp đẹp. Ruby có thể là một ứng cử viên tốt, hoặc C / C ++ cũ, có thể là Java ...

Đây là cách nó có thể trông như thế nào:

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

Trong trường hợp bạn chấp nhận chia sẻ mã giả của mình ở định dạng LaTeX hoặc PDF, bạn có thể sử dụng gói mintedđể trộn biểu thức teletype & thụt lề với biểu thức toán học LaTeX. Dưới đây là một ví dụ về thuật toán Prim nổi tiếng:

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

mà nó được kết xuất là nhập mô tả hình ảnh ở đây

Nếu bạn chỉ muốn chia sẻ đoạn mã giả này, bạn chỉ cần chọn khối này và gọi org-latex-export-as-latexhoặc org-latex-export-to-pdftùy thuộc vào định dạng bạn muốn xuất (bạn có thể muốn sửa đổi một chút các tùy chọn chế độ org để có bố cục thỏa mãn). Để viết mã giả dễ dàng, tất nhiên, bạn có thể thay đổi minteddấu phân cách biểu thức toán học và sử dụng yasnippethoặc khối tùy chỉnh latex để loại bỏ các tùy chọn đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.