Definieren von mathematischen Tastenkombinationen/Makros für Microsoft Word

Definieren von mathematischen Tastenkombinationen/Makros für Microsoft Word

Ist es in irgendeiner Version von Microsoft Word möglich, Tastenkombinationen für wiederkehrende mathematische Ausdrücke zu definieren? (vorzugsweise auf eine Weise, die es ermöglicht, bei Bedarf alle Vorkommen auf einmal zu aktualisieren)

In der Quantenmechanik ist beispielsweise eine wiederkehrende Struktur die Zustandsnotation |ψ⟩* und⟨ψ|Je nach Kontext können komplexere Strukturen wiederholt auftreten, z. B.χ⁽²⁾. In LaTeX würde ich verwenden, \newcommandum meine Abkürzung zu definieren, oft parametrisiert.

Trotz vieler Änderungen seit älteren Versionen von Word, die es theoretisch zu einer brauchbaren Alternative für wissenschaftliches Schreiben machen würden (oder zumindest brauchbar, wenn von irgendeiner Stelle nur MS Word-Dokumente akzeptiert werden), ist die Fähigkeit, solche „Makros“ zu definieren, für mich von wesentlicher Bedeutung. Unterstützt MS Word so etwas inzwischen?

FürErstellenBei sich wiederholenden Strukturen würde ich AutoHotKey verwenden. Eine Word-interne Lösung könnte jedoch deutlich leistungsfähiger und komfortabler sein.

*bearbeiten*Ich meinte insbesondere parametrisierte Strukturen, also das Äquivalent von \newcommand{\ket}[1]{|#1\rangle}.


*Ich habe hier Unicode-Symbole verwendet, die möglicherweise nicht auf allen Systemen unterstützt werden. Der entsprechende Latex-Code wäre in dieser Reihenfolge: |\psi\rangle, \langle\psi|und \chi^{(2)}.

Antwort1

Normalerweise verwenden Sie hierfür die AutoKorrektur, wie unten auf dieser Seite beschrieben:http://office.microsoft.com/en-us/word-help/autocorrect-spelling-and-insert-text-and-symbols-HA010354277.aspx

Im Wesentlichen definieren Sie ein Textäquivalent, für das Word automatisch ein Symbol oder eine Gruppe von Symbolen ersetzt. Beispiel:

So fügen Sie in den neuesten Versionen von Word einen AutoKorrektureintrag hinzu:

  • Klicken Sie oben links auf die Schaltfläche „Office“ und dann auf die Schaltfläche „Word-Optionen“ Dialogfeld „Word-Optionen“

  • Klicken Sie in der Liste links auf „Korrektur“ und dann auf die Schaltfläche für „AutoKorrektur-Optionen“. Word-Optionen - AutoKorrektur

  • Klicken Sie auf die Registerkarte „Mathematische Autokorrektur“ und prüfen Sie, ob der Eintrag bereits vorhanden ist.

  • Falls er nicht bereits in der Liste steht, geben Sie den gewünschten Text in das linke Feld ein, z. B. dort, wo ich im Screenshot „|Y)“ eingegeben habe. Geben Sie die Symbole in das rechte Feld ein und klicken Sie auf die Schaltfläche „Hinzufügen“.

Mathematische AutoKorrektur

  • Mit OK gelangen Sie zurück zum Dokument.

Jetzt wird jedes Mal, wenn Sie den linken Text eingeben, dieser durch den rechten Eintrag ersetzt.

Antwort2

Es ist jetzt (2022)eine Artmöglich. Die „Parametrierung“ erfolgt über eine Dialogbox.

Dies ist ein einfaches Beispiel für ein Dialogfeld „Bra|Ket erstellen“ mit vier Steuerelementen: ein Textfeld zum Eingeben der benutzerdefinierten LaTeX-Zeichenfolge, die Befehlsschaltflächen „Bra“ und „Ket“, um diese in etwas anderes in LaTeX umzuwandeln und an die Auswahl anzuhängen, und eine Befehlsschaltfläche „Gleichung erstellen“, um die Auswahl in ein Gleichungseditor-Objekt umzuwandeln.

Die erste Abbildung zeigt den Dialog und das Dokument nach dem Drücken der Schaltfläche „Bra“.

Abbildung 1

Um weitere Verarbeitung zu ermöglichen, konvertiere ich die Auswahl nicht automatisch in eine Gleichung. Wenn beispielsweise als nächstes ein „Ket“ eingefügt wird, verbindet der zugrunde liegende Code die beiden vertikalen Striche (am Ende des „Bra“ und am Anfang des „Ket“):

Figur 2

Jetzt wandelt die Befehlsschaltfläche „Gleichung erstellen“ dies in ein Gleichungseditor-Objekt um:

Figur 3


Der folgende Code ist nicht hundertprozentig sicher – er stellt lediglich einen Proof of Concept dar.

Die erste Subroutine ist der Schlüssel:Diese beiden Zeilen konvertieren die Auswahl in ein Gleichungseditor-Objekt und analysieren dann die LaTeX-Zeichenfolgen. Diese Subroutine wird aufgerufen, wenn die Schaltfläche „Gleichung erstellen“ (auch bekannt CommandButton1) angeklickt wird:

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

Der Rest ist nur Dialogcode. Hier wird das TeX-Makro mittels String-Verkettung implementiert. Der Click()Ereigniscode zeigt, dass Sie mit dem Text rechnen und ihn nach Bedarf ändern können, um aus dem in das Dialogfeld eingegebenen Material jeden gewünschten LaTeX-String zu erstellen.

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

Dieser Ansatz ist etwas komplizierter – viel komplizierter als das Schreiben eines LaTeX-Befehlsmakros –, aber er ist leicht erweiterbar, wenn Sie erst einmal so weit sind. Erstellen Sie separate kleine Dialoge für bevorzugte Makros oder zum Suchen und Ersetzen von Material (Warnung: Ich habe keine Ahnung, wie man nach Objekten im Formeleditor sucht, und vermute, dass dies nicht möglich ist). Oder erstellen Sie einen riesigen Dialog, in dem Sie aus einer Liste von Optionen auswählen können.

verwandte Informationen