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 ...
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 ...
Câu trả lời:
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_EXAMPLE
cá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
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
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-latex
hoặc org-latex-export-to-pdf
tù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 minted
dấu phân cách biểu thức toán học và sử dụng yasnippet
hoặc khối tùy chỉnh latex để loại bỏ các tùy chọn đó.