2009-08-02 13 views
32

Cuando escribo matemáticas en LaTeX a menudo necesito realizar aritmética simple en números en mi fuente de LaTeX, como 515.1544 + 454 = ???.¿Hay una calculadora con sintaxis LaTeX?

Normalmente copio y pego el código LaTeX en Google para obtener el resultado, pero aún tengo que cambiar manualmente la sintaxis, p.

\ frac {154,7} {25} - (289 - \ frac {1337} {42})

debe cambiarse a

154,7/25 - (289 - 1337/42)

Parece trivial escribir un programa para hacer esto para las operaciones más comúnmente usadas. ¿Hay una calculadora que entienda esta sintaxis?

EDIT: Sé que haciendo esto perfectamente es imposible (debido al problema de detención). Hacerlo para los casos simples que necesito es trivial. \ frac, \ cdot, \ sqrt y algunas otras etiquetas harían el truco. El programa podría simplemente devolver un error para los casos que no comprende.

Respuesta

1

IIRC Mathematica puede hacerlo.

+1

Mathematica puede copiar algo como el látex, pero la evaluación de lo que pegue en el marcado en LaTeX aparentemente no es posible. – Joey

+5

¡Oh, sí lo es! ToExpression ["su texto aquí", TeXForm] –

5

Teniendo en cuenta que LaTeX en sí mismo es un lenguaje de marcado completo de Turing, dudo mucho que pueda construir algo como esto que no esté integrado directamente en LaTeX. Además, la matemática LaTeX matkup no tiene ningún significado semántico, simplemente describe la apariencia visual.

Habiendo dicho eso, probablemente pueda hackear algo que reconozca un subconjunto no programable de la marca matemática LaTeX y escuche el resultado de la misma manera. Si todo lo que le interesa es simple aritmética con fracciones y números enteros (cuidado con fracciones decimales, ya que pueden aparecer como 3{,}141... en textos alemanes :)) esto no debería ser demasiado difícil. Pero una vez que comienzas con integrales, matrices, etc. Temo que LaTeX carece de expresividad para describir con precisión tus intenciones. Es un sistema de preparación de documentos, después de todo, y por lo tanto no es muy adecuado como entrada para sistemas de álgebra computarizada.

nota lateral: Se puede cambiar a Word que tiene en su idioma actual versión de un margen de beneficio de matemáticas, que es suficientemente similar al látex y aún así los requisitos de Google para los términos más simples:

Illustration of math markup in Microsoft Word http://hypftier.de/dump/word_math_1.png

Con la libre Microsoft Math complemento que incluso puede dejar que la Palabra calcular expresiones en el lugar:

Illustration of the Microsoft Math add-in for Microsoft Word, calculating an expression http://hypftier.de/dump/word_math_2.png

+0

Probablemente solo escriba un script simple en elisp para hacer lo que sugiera. Solo quería saber si ya se había escrito. –

+0

No que yo sepa, al menos. Pero creo que con un lenguaje de scripting decente uno puede construir algo que al menos funciona en una tarde. – Joey

1

No es n uno, porque generalmente no es posible.

La marca de modo matemático LaTeX es un marcado de presentación y hay casos en los que no proporciona suficiente información para calcular la expresión.

Esa fue una de las razones por las que se creó el marcado de contenido MathML y ​​también por qué MathML se usa en Mathematica.MathML en realidad es una especie de dos lenguas en una:

  • presentación de marcas
  • contenido marcado

para lograr lo que son después de que tendrá que tener MathML con la presentación comibned y de marcado contenido (ver MathML spec).

En mi opinión, la mejor opción es utilizar MathML (incluso si es detallado) y convertir a LaTeX cuando sea necesario. Dicho esto, también me gusta la sintaxis LaTeX mejor y tal vez lo que necesitamos es una sintaxis compacta para MathML (algo similar en espíritu al RelaxNG compact syntax).

11

El calc package le permite hacer algunos cálculos en el origen, pero solo dentro de comandos como \setcounter y \addtolength. Por lo que puedo decir, esto no es lo que quieres.

Si ya usa sage, entonces el paquete sagetex es bastante impresionante (si no, es excesivo). Permite que usted consigue muy bien la salida desde la entrada formateado como esto:

The square of 
$\begin{pmatrix} 
1 & 2 \\ 
3 & 4 
\end{pmatrix}$ 
is \sage{matrix([[1, 2], [3,4]])^2}. 

The prime factorization of the current page number is \sage{factor(\thepage)} 
2

Para los cálculos con LaTeX puede utilizar un paquete CalcTeX. Este paquete comprender elementos del lenguaje LaTeX y hace un cálculo, por ejemplo, su problema es avialble en http://sg.bzip.pl/CalcTeX/examples/frac.tgz o simplemente por favor escriba

\ noindent Para el cálculo favor utilice la siguiente enviromentals $ 515,1544 + 454 $ o \ [\ frac {154,7} {25} - (289- \ frac {1337} {42.}) \] o \ begin {equation} 154,7/25- (289-1337/42.) \ end {ecuación}

Para obtener más información, visite el sitio web del proyecto o póngase en contacto con el autor de este proyecto. .

3

Hay una manera de hacer lo que quiera pero no exactamente cómo lo describe.

Puede usar el paquete fp (\ usepackage [options] {fp}) el paquete de coma flotante hará lo que quiera; resolver ecuaciones, agregar división y muchas más. Desafortunadamente no leerá las matemáticas de LaTeX. En su lugar, tiene que hacer algo un poco diferente, la documentación es muy pobre, así que le daré un ejemplo aquí.

, por ejemplo, si usted quiere hacer (2x3)/5 debería escribir: comandos

\FPmul\p{2}{3}   % \p is the assignment of the operation 2x3 
\FPupn\p{\p{} 7 round} % upn evaluates the assignment \p and rounds to 7dp 
\FPdiv\q{\p}{5}   % divides the assigned value p by 5 names result q 
\FPupn\q{\q{} 4 round} % rounds the result to 4 decimal places and evaluates 
$\frac{2\times3}{5}=\FPprint\q$ % This will print the result of the calculations in the math. 

la FP son siempre ibvisible, solamente FPprint imprime el resultado asociado a él para que sus documentos no serán desordenado, Los comandos FP pueden colocarse donde lo desee (no verbo) siempre que estén antes de la FP FP asociada.

1

Para la realización de los cálculos dentro de su propio LaTeX, también puede buscar en el paquete pgfmath, que es más potente y conveniente que el paquete calc. Puede averiguar cómo usarlo desde la Parte VI del Manual de Paquetes TikZ y PGF, que puede encontrar aquí (versión 2.10 actualmente): http://mirror.unl.edu/ctan/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf

1

Mi calculadora puede hacer eso. Para obtener la salida formateada, haga doble clic en la fórmula del resultado y presione ctrl + c para copiarla.

Puede hacer bastante cosas avanzadas también (diferenciación, integrales fáciles (y no que fácil unos) ...).

https://calculator-algebra.org/cgi-bin/calculator?request=calculator&mainInput=%5cfrac%7b1%2b2%7d%7b3%7d%3b%0ad%2fdx%28arctan%20%282x%2b3%29%29

+0

Su enlace está muerto. –

+0

Gracias por recordarme, actualicé el enlace. –

+0

¡Gracias por hacer eso! –

2

Emacs calc-mode acepta látex de entrada. Lo uso a diario. Presione "d", seguido de "L" para ingresar al modo de entrada de látex. Presiona "'" para abrir un mensaje donde puedes pegar tu texto.

Cualquier persona saing que no es posible es erróneo.

+0

Suena genial.Lo intenté y realmente puedo pasar la secuencia anterior, pero luego estoy perdido porque no sé cómo convertirlo a una forma legible. Tampoco se simplifica automáticamente. Tengo que ingresar "0 +" para evaluarlo. –

5

Como dice Andy, la respuesta es hay una calculadora que puede entender la mayoría de las fórmulas de látex: Emacs.

Pruebe los siguientes pasos (suponiendo emacs vainilla):

  1. emacs Abiertas
  2. abrir su archivo .tex (o activar el modo de látex)
  3. posición del punto en alguna parte entre los dos o $$ p.ej dentro del entorno de inicio/final de la fórmula (o incluso de la matriz).
  4. uso Calc modo incrustado para una máxima genialidad

Así que con el punto en la fórmula que dio anteriormente:

$\frac{154,7}{25} - (289 - \frac{1337}{42})$

prensa C-x * d a duplicar la fórmula en la línea de abajo y entrar calc-embedded modo que ya debería haber activado una variante de latex de calc para usted. Su memoria intermedia ahora se ve así:

$\frac{154,7}{25} - (289 - \frac{1337}{42})$ 

$\frac{-37651}{150}$` 

Tenga en cuenta que la fracción ya lo ha transformado en la medida de lo posible.Hacer lo mismo otra vez (C-x * d) y presionando c f para convertir el fraccionada en un número de coma flotante se obtiene el siguiente tampón:

$\frac{154,7}{25} - (289 - \frac{1337}{42})$ 

$\frac{-37651}{150}$ 

$-251.006666667$ 

I utilizado C-x * d para duplicar la fórmula y luego entrar en el modo integrado con el fin de tener los valores intermedios Sin embargo, también hay C-x * e que evita la duplicación y simplemente ingresa al modo incrustado para la fórmula actual.

Si está interesado, debería echarle un vistazo a la página de información de Emacs Calc - Embedded Mode. Y, en general, la ayuda para el Gnu Emaca Calculator junto con el impresionante interactivo tutorial.

3

Puede simplemente pegarlo en symbolab que como beneficio adicional tiene soluciones paso a paso gratuitas. Además, desde que Symbol usa mathquill, formatea al instante su látex.

1

No hay ninguna, ya que generalmente no es posible. LateX math mode markup es un marcado de presentación y hay casos en los que no proporciona suficiente información para calcular la expresión.

Tienes razón. LaTeX tal como está no proporciona suficiente información para hacer ningún cálculo. Además, no representa ninguna información para hacerlo. Pero nadie impide escribir en formato LaTeX un texto que contenga dicha información. Es una ruta difícil, porque necesita construir un sistema de reglas superpuestas sobre qué contenido del texto en formato Latex debe contener para que su intérprete pueda reconocerlo. Y luego convencer al usuario de que es necesario aprender, etc. etc. La forma más fácil de crear una calculadora lógica e intuitiva de expresiones matemáticas. Y la expresión ya es posible convertir látex. Es casi como lo que dijiste. Esto se implementa en el programa que he señalado. AnEasyCalc permite escribir una expresión mientras escribe el texto plano en cualquier editor de texto. Comprueba, calcula y genera una cadena LateX por sí misma. Es un trabajo muy fácil y rápido. Solo inténtalo y lo verás.

0

Esto no es exactamente lo que está pidiendo, pero es un buen paquete que se pueden incluir en un documento LaTeX para hacer todo tipo de operaciones incluyendo aritmética, cálculo e incluso vectores y matrices:

El paquete nombre es "calculadora"

http://mirror.unl.edu/ctan/macros/latex/contrib/calculator/calculator.pdf

+1

Incluya más información en su respuesta del PDF. –

+0

Hmm ... No estoy seguro de a qué se refiere. Toda la información está en el archivo PDF. Ahora, si mi respuesta es demasiado corta, muévala de "respuesta" a "comentario". No sé cómo hacer eso, e incluso si sé que no tendría la prioridad. Mi reputación es solo "1" :(. –

Cuestiones relacionadas