Definición de atajos/macros matemáticos para Microsoft Word

Definición de atajos/macros matemáticos para Microsoft Word

¿Es posible, en cualquier versión de Microsoft Word, definir atajos para expresiones matemáticas recurrentes? (preferiblemente de una manera que permita actualizar todas las ocurrencias a la vez si es necesario)

Por ejemplo, en mecánica cuántica una estructura recurrente es la notación de estado |ψ⟩* y⟨ψ|. Dependiendo del contexto, pueden aparecer repetidamente estructuras más complejas, por ejemploχ⁽²⁾. En LaTeX lo usaría \newcommandpara definir mi atajo, a menudo parametrizado.

A pesar de muchos cambios desde versiones anteriores de Word, que en teoría lo convertirían en una alternativa viable para la escritura científica (o al menos viable cuando alguna entidad solo acepta documentos de MS Word), la capacidad de definir tales "macros" es esencial para mí. ¿MS Word ya admite algo como esto?

Paracreandorepitiendo estructuras, usaría AutoHotKey. Sin embargo, una solución interna de Word podría proporcionar mucha más potencia y comodidad.

*editar*Me refiero a estructuras especialmente parametrizadas, es decir, el equivalente a \newcommand{\ket}[1]{|#1\rangle}.


*Aquí utilicé símbolos Unicode que pueden no ser compatibles con todos los sistemas. El código de látex equivalente sería, en este orden |\psi\rangle: \langle\psi|y \chi^{(2)}.

Respuesta1

La forma habitual de hacerlo es utilizando la Autocorrección como se describe al final de esta página:http://office.microsoft.com/en-us/word-help/autocorrect-spelling-and-insert-text-and-symbols-HA010354277.aspx

Básicamente, definiría un equivalente de texto para el cual Word sustituiría automáticamente un símbolo o conjunto de símbolos. Por ejemplo:

Para agregar una entrada de autocorrección en las versiones más recientes de Word:

  • Haga clic en el botón "Office" en la parte superior izquierda, luego en el botón Opciones de Word Cuadro de diálogo Opciones de Word

  • Haga clic en Revisión en la lista de la izquierda y luego en el botón Opciones de autocorrección. Opciones de Word - Autocorrección

  • Haga clic en la pestaña "Autocorrección matemática" y verifique si la entrada ya existe.

  • Si aún no está en la lista, ingrese el texto que desea usar en el cuadro de la izquierda, por ejemplo, donde ingresé "|Y)" en la captura de pantalla. Ingrese los símbolos en el cuadro de la derecha y haga clic en el botón "Agregar".

Autocorrección matemática

  • OK, regresa al documento.

Ahora, cada vez que escriba el texto de la izquierda, será reemplazado por la entrada de la derecha.

Respuesta2

Es ahora (2022)algo así comoposible. La "parametrización" se realiza mediante un cuadro de diálogo.

A continuación se muestra un ejemplo sencillo de un cuadro de diálogo "Crear Bra|Ket" con cuatro controles: un cuadro de texto para ingresar la cadena LaTeX personalizada; Botones de comando "Bra" y "Ket" para transformar eso en otra cosa en LaTeX y agregarlos a la selección; y un botón de comando "Crear ecuación" para convertir la selección en un objeto del Editor de ecuaciones.

La primera figura muestra el diálogo y el documento después de presionar el botón "Sujetador".

Figura 1

Para permitir un procesamiento adicional, no convierto automáticamente la selección en una ecuación. Por ejemplo, si a continuación se inserta un "ket", el código subyacente fusiona las dos barras verticales (al final del "bra" y al comienzo del "ket"):

Figura 2

Ahora el botón de comando "Crear ecuación" convertirá esto en un objeto del Editor de ecuaciones:

figura 3


El siguiente código no es infalible: simplemente demuestra una prueba de concepto.

La primera subrutina es la clave:Estas dos líneas convierten la selección en un objeto del Editor de ecuaciones y luego analizan las cadenas LaTeX. Esta subrutina se llama cuando se presiona el botón "Hacer ecuación" (alias CommandButton1) se hace clic:

Private Sub Text2Equation()
    Selection.OMaths.Add Range:=Selection.Range
    Selection.OMaths.BuildUp
End Sub

El resto es sólo código de diálogo. Aquí es donde se implementa la macro TeX mediante concatenación de cadenas. El Click()código del evento demuestra que puede calcular con el texto, modificándolo según sea necesario, para crear cualquier cadena LaTeX personalizada que desee a partir del material ingresado en el cuadro de diálogo.

Private Sub CommandButton_Ket_Click()
    Dim s As String
    s = Trim(Selection.Text)
    If Len(s) > 0 Then
        If Mid(s, Len(s), 1) = "|" Then
            Selection.InsertAfter Text:=Bra_Ket.TextBox1.Text & "\rangle_^*"
            Else
            Selection.InsertAfter Text:="|" & Bra_Ket.TextBox1.Text & "\rangle_^*"
            End If
    End If
End Sub

Private Sub CommandButton_Bra_Click()
    Selection.InsertAfter Text:="\langle " & Bra_Ket.TextBox1.Text & "|"
End Sub

Private Sub CommandButton1_Click()
    Text2Equation
End Sub

Este enfoque es un poco complicado, mucho más que escribir una macro de comando LaTeX, pero es fácilmente ampliable una vez que logras trabajar tanto. Cree pequeños cuadros de diálogo separados para macros favoritas o para buscar y reemplazar material (advertencia: no tengo idea de cómo buscar objetos del Editor de ecuaciones y sospecho que tal vez no sea posible). O cree un cuadro de diálogo de monstruo para seleccionar de una lista de opciones.

información relacionada