Я хотів би намалювати псевдокод, а потім поділитися ним з іншими людьми, які не використовуватимуть emacs.
Чи є приємний спосіб це зробити? Я намагаюся робити це в org-режимі, але це не відступає належним чином тощо.
Я хотів би намалювати псевдокод, а потім поділитися ним з іншими людьми, які не використовуватимуть emacs.
Чи є приємний спосіб це зробити? Я намагаюся робити це в org-режимі, але це не відступає належним чином тощо.
Відповіді:
Я не знаю псевдокодового режиму, тим більше підтримка цього в org-режимі.
Однак ви можете писати псевдо-код в #+BEGIN_EXAMPLE
блоки, безумовно, без відступів, або ви вирішили використовувати справжню мову як базовий синтаксис і псевдо-код в цьому і отримуєте відступ і досить синтаксичне виділення. Рубі може бути хорошим кандидатом, або старим добрим C / C ++, можливо, Java ...
Ось як це могло виглядати:
#+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
Якщо ви погоджуєтесь поділитися своїм псевдокодом у форматі LaTeX або PDF, ви можете використовувати пакет minted
для змішування телетипного та добре відрізаного вираження з виразом математики LaTeX. Ось приклад відомого алгоритму Прима:
#+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
Якщо ви хочете поділитися лише цим фрагментом псевдокоду, вам просто потрібно вибрати цей блок і зателефонувати org-latex-export-as-latex
або org-latex-export-to-pdf
залежно від того, який формат ви хочете експортувати (можливо, ви хочете трохи змінити параметри org-режиму, щоб мати задовільний макет). Щоб легко писати псевдокод, ви, звичайно, можете змінити minted
роздільник математичних виразів і використовувати yasnippet
або латексний спеціальний блок, щоб позбутися цих груп варіантів.