¿Hay una buena manera de escribir pseudocódigo?


11

Me gustaría esbozar un pseudocódigo y luego compartirlo con otras personas que no usarán emacs.

¿Hay una buena manera de hacer esto? Estoy tratando de hacerlo en modo org, pero no está sangrando correctamente, etc.


Alguien ha escrito un modo de pseudocódigo , pero al momento de escribir esto solo ofrece resaltado de sintaxis, sin sangría.
dsedivec

Respuestas:


4

No conozco un modo de pseudocódigo, menos soporte para eso en el modo org.

Sin embargo, puede escribir pseudocódigo en #+BEGIN_EXAMPLEbloques, seguramente sin sangría, o puede optar por un lenguaje verdadero como sintaxis base y pseudocódigo en eso y obtener sangría y resaltado de sintaxis bonita. Ruby podría ser un buen candidato, o un buen viejo C / C ++, tal vez Java ...

Así es como podría verse:

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

En caso de que acepte compartir su pseudocódigo en formato LaTeX o PDF, puede usar el paquete mintedpara mezclar el teletipo y la expresión bien sangrada con la expresión matemática LaTeX. Aquí hay un ejemplo del conocido algoritmo de 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

que se representa como ingrese la descripción de la imagen aquí

Si solo desea compartir este fragmento de pseudocódigo, solo tiene que seleccionar este bloque y llamar org-latex-export-as-latexo org-latex-export-to-pdfdependiendo del formato que desee exportar (es posible que desee modificar ligeramente las opciones del modo de organización para tener un diseño satisfactorio). Para escribir pseudocódigo fácilmente, puede, por supuesto, cambiar el mintedseparador de expresiones matemáticas y usar yasnippetun bloque personalizado de látex para deshacerse de ese montón de opciones.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.