titulos titling subtitulos page guia fancy latex turing-complete

titling - He oído que LaTeX está completo. ¿Hay algún programa escrito en LaTeX?



titulos en latex (6)

Conozco a alguien que escribió la respuesta a un problema del concurso ACM en LaTeX.

Es posible hacer cosas interesantes con lo que normalmente se consideraría como lenguajes de composición tipográfica. Por ejemplo, puede construir el conjunto de Mandelbrot usando postscript .

Se sugiere en esta pregunta de MathOverflow que LaTeX puede ser Turing-complete . Esto implica la capacidad de escribir programas arbitrarios (¡aunque puede que no sea fácil!). ¿Alguien sabe de algún ejemplo concreto de tal programa en LaTeX, que hace algo muy inusual con el lenguaje?


En el número 13 de The Monad Reader , Stephen Hicks escribe sobre la implementación de la solución para un concurso de ICFP (que involucra la navegación de Mars rover) en TeX, con un uso copioso de macros. Curiosamente, la salida de la solución cuando el tipo es un mapa postscript de la ruta del rover.


La biblioteca pgfmath todavía me sorprende. Pero en una nota más relacionada con Turing: es posible escribir una máquina de Turing real en TeX, según http://en.literateprograms.org/Turing_machine_simulator_(LaTeX) . Es solo una forma ingeniosa de usar expansiones en TeX.

PostScript también está completo, si lees el manual te sorprenderán las capacidades generales de programación (al menos yo lo estaba).


No estoy seguro de si esto califica como programación per se, pero recientemente comencé a hacer algo parecido a cosas orientadas a objetos en LaTeX. (No necesita saber ninguna matemática para seguir lo siguiente.) En documentos recientes, he estado escribiendo sobre categorías , que tienen objetos y morfismos . Como hubo bastantes, quería un estilo consistente para que, digamos, 𝒞 fuera una categoría con el objeto típico C y el morfismo típico c . Entonces también tendría 𝒟 con D y d . Así que defino una "clase", digo "categoría" (necesitas ser un matemático para entender la broma), y declaro que C es una instancia de esta clase, y luego tengo acceso a / ccat, / cobj, / cmor Etcétera. La razón para no hacer / cat {c}, / obj {c}, y / mor {c}, etcétera, es que a veces estas categorías tienen nombres especiales y luego de declarar la instancia, puedo modificar su nombre muy fácilmente (simplemente redefina / ccat - bueno, en realidad / mathccat ya que / ccat es un contenedor que selecciona / mathccat en modo matemático y / textccat en modo texto). (Por supuesto, es un poco más complicado que lo que se sugiere arriba y el material de OO realmente es útil cuando quiero definir una nueva categoría como una variante de una anterior (incluso puede tratar el caso donde la anterior no t existe aún).)

Aunque puede que no califique como programación real, la estoy usando en documentos y la encuentro útil; las otras respuestas (hasta ahora) tienen más la sensación de mostrar las capacidades de LaTeX que de una solución sensata a un problema práctico.


/ def / K # 1 # 2 {# 2}

/ def / S # 1 # 2 # 3 {# 1 # 3 {# 2 # 3}}