20 votos

Aritmética modular en LaTeX

Puede que esta pregunta acabe [cerrada], pero voy a preguntar y dejar que la gente decida. Desde luego, es el tipo de pregunta que yo haría a la gente en el té, y no es una cuya respuesta haya podido encontrar con Google.

TeX, según he oído, es Turing completo. En teoría, esto significa que podemos hacer aritmética modular con programas LaTeX. Me gustaría saber cómo se puede hacer esto en la práctica.

Antecedentes: He estado utilizando el \foreach en TikZ para dibujar matrices NxN de nodos, indexados por pares de enteros (m,n). Me gustaría ser capaz de utilizar la aritmética modular y una sentencia ifthenelse para poner diferentes decoraciones en los nodos, dependiendo del valor de (m+n) mod p. Obviamente, una puede hazlo a mano. Pero ese no es el mundo en el que quiero vivir.

26voto

Herms Puntos 13069

Obtener una versión actual de Ti k Z y utilizar \pgfmathmod ¡!

5voto

Steve Willard Puntos 5985

TikZ me parece innecesariamente complicado para una tarea tan fácil como la aritmética modular. TeX tiene comandos para suma/resta, multiplicación y división ( \advance , \multiply , \divide ). Para realizar sumas o restas modulares es necesario realizar sumas o restas ordinarias y luego restar o sumar p si es necesario. La multiplicación modular es sólo un poco más complicada: Realice una multiplicación ordinaria, dividir y multiplicar el producto por p y restar el resultado del producto original, obteniendo el resto.

5voto

user4183 Puntos 61

He tenido que implementar mucho código en TeX mientras escribía un paquete para dibujar secuencias espectrales (sseq.sty). pgf facilita los cálculos en TeX, pero si realmente tienes una cantidad significativa de código, te recomiendo que eches un vistazo a luatex/lualatex, que se incluye en muchas distribuciones y fusiona TeX con un intérprete del lenguaje fácil y rápido Lua, que puedes aprender en un par de horas. Es mucho más legible y acelera enormemente la composición tipográfica.

TeX puede ser Turing completo (LaTeX también, por cierto), pero también lo es una máquina de Turing, y no querrías implementar la aritmética modular en una máquina de Turing, ¿verdad?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X