Chciałbym naszkicować jakiś pseudokod, a następnie udostępnić go innym osobom, które nie będą używać emacsa.
Czy jest na to dobry sposób? Próbuję to zrobić w trybie org, ale nie jest to właściwe wcięcie itp.
Chciałbym naszkicować jakiś pseudokod, a następnie udostępnić go innym osobom, które nie będą używać emacsa.
Czy jest na to dobry sposób? Próbuję to zrobić w trybie org, ale nie jest to właściwe wcięcie itp.
Odpowiedzi:
Nie znam trybu pseudokodu, tym bardziej obsługa tego trybu w trybie org.
Możesz jednak pisać pseudo-kod w #+BEGIN_EXAMPLEblokach, z pewnością bez wcięć, lub zdecydować się na prawdziwy język jako podstawową składnię i pseudo-kod, i uzyskać wcięcia i ładne podświetlanie składni. Ruby może być dobrym kandydatem lub dobrym starym C / C ++, może Java ...
Tak mogłoby to wyglądać:
#+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
Jeśli akceptujesz udostępnianie swojego pseudokodu w formacie LaTeX lub PDF, możesz użyć tego pakietu minteddo połączenia teletypu i dobrze wciętego wyrażenia z wyrażeniem matematycznym LaTeX. Oto przykład dobrze znanego algorytmu Prim:
#+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
Jeśli chcesz udostępniać tylko ten fragment kodu pseudokodu, musisz tylko wybrać ten blok i wywołać org-latex-export-as-latexlub w org-latex-export-to-pdfzależności od formatu, który chcesz wyeksportować (możesz nieco zmodyfikować opcje trybu organizacji, aby uzyskać zadowalający układ). Aby łatwo napisać pseudokod, możesz oczywiście zmienić mintedseparator wyrażeń matematycznych i użyć yasnippetniestandardowego bloku lateksu, aby pozbyć się tych wielu opcji.