Logische Operatoren auf Metaebene

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Magenta
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 27. Jan 2016, 11:57

Logische Operatoren auf Metaebene

Beitrag von Magenta »

Hallo zusammen,

ich suche eine Möglichkeit, ausgehen von \Box und \Diamond ein wenig andere Operatoren zusätzlich zu bekommen.
\documentclass[11pt,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}

\begin{document}
Formeln auf der objektsprachlichen Ebene: $\Box p $ und $ \Diamond q$, soweit gut.

Formeln auf der metasprachlichen Ebene: \textsf{I}$\Box \alpha$, nicht schön, aber machbar. 

Hier brauch ich einen Zusatz.$\Diamond \beta$, am liebsten eine Doppellinie auf der linken Seite des Diamanten. 
\end{document}


Schöner wäre, auch für die Meta-Box, eine Lösung über eine \newcommand-Definition, aber TexStudio findet meine Idee
 \newcommand{\Boxi}{\ensuremath{\textfs{I}$\Box$}} 
überhaupt nicht gut. Das gibt nur die Fehlermeldung: "Undefined control sequence. $\Boxi", mit der ich nicht viel anfangen kann. :(


Hat jemand eine Ahnung, was ich da falsch mache? Und insgesamt eine kluge Idee?

Liebe Grüße,

Magenta

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ich würde den Operatoren sinnvolle Namen geben und diese auch als Operatoren definieren.
Andere Operatoren enthalten auch kein \ensuremath. Daher würde ich das auch weglassen.
Bei \textsf waren zwei Buchstaben vertauscht. Deswegen der Undefined control sequence-Fehler.
Wenn schon \ensuremath, müssen auf jeden falls die $ raus. Sonst gehst du je wieder raus aus dem Mathe-Modus.
Wenn du keinen anderen Diamanten findest kannst du entweder mit metafonts (skaliert richtig mit der Schriftgröße) oder mit tikz (Längen dann bitte in ex) ein eigenes Symbol zeichnen.
\documentclass[11pt,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}

\DeclareMathOperator{\foo}{\textsf{I}\Box}
\newcommand{\Boxi}{\ensuremath{\textsf{I}\Box}}
\begin{document}
Der Unterschied zwischen $\Boxi \beta$ und $\foo \beta$ ist der Abstand, da ein Operator einen anderen Abstand zum Operanden hat, als zwei Variablen zueinander.
\end{document}
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Magenta
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 27. Jan 2016, 11:57

Beitrag von Magenta »

Hallo Sudo,

vielen Dank für die Antwort! War ja klar, dass ich da Unsinn habe. :D

(Leider sind das halbwegs sinnvolle Benennungen. Ich brauche sie alle und so ziemliche alle doppelt (\forall, \exists, \Box, \Diamond), denn ich habe in meiner Arbeit ein Kapitel zur modalen Prädikatenlogik. :roll: )

Liebe Grüße,

Magenta

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Mit sinnvoll benennen meine ich vorallem, dass du beschreibst, was der Operator macht und nicht, wie er aussieht. \Box wird den Operanden vermutlich nicht einpacken, oder? Und selbst wenn, würde ich ihn dann eher \Einpacken als \Box nennen.

Hat dir der Rest geholfen, deinen Fehler zu beheben? Dann kannst du auch den Status entsprechend anpassen. Danke für die Rückmeldung.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Magenta
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 27. Jan 2016, 11:57

Beitrag von Magenta »

Nochmal hallo :),

stimmt: Status ändern! Danke für die Erinnerung.

Deinen Kommentar verstehe ich nicht ganz. Ich brauche die Box als Box vor einer Formel, das ist das übliche Zeichen für "Es ist notwendig, dass" in der Modallogik. Nun gibt es zu jeder Sprache auf der Objektebene aber auch eine auf der Metaebene. Übersichtlicher wird eine Argumentation, wenn die unterschiedlichen Sprachebenen durch unterschiedliche Zeichen deutlich werden. Daher das nicht unübliche Vorgehen, auf einer Seite des Operators eine Doppellinie zu setzen.

Inzwischen habe ich mir eine andere Möglichkeit überlegt und kennzeichne die Ebene, wenig kreativ, durch ein hocgestelltes "m".

Da ich aber ein ziemlicher Tex-Neeb bin, war Dein Hinweis auf
 \DeclareMathOperator{} 


echt Gold wert. Dafür vielen Dank!

Magenta

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Wie ich schon mit dem Beispiel \Einpacken deutlich machen wollte: Benenne die Operatoren nach ihrer Aufgabe: \NotwendigObjekt und \NotwendigMeta
\forall und \exists heißt ja auch nicht \UmgedrehtesA und \UmgedrehtesE.

Außerdem gibt es den Befehl \Box ja schon. Das ist zwar die Box, die du möchtest, allerdings nicht mit dem richtigen Abstand zwischen Operator und Operand.

PS: Wenn du Hilfe brauchst den Diamanten mit Strich zu definieren. Poste das ruhig als neue Frage. Dafür sind wir ja ein Hilfeforum. Dadurch, dass du den Operator als eigenen Befehl definierst, kannst du das auch später jederzeit ändern.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Magenta
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 27. Jan 2016, 11:57

Beitrag von Magenta »

Ich glaube, wir reden gerade ein bisschen an einander vorbei.

Die modalaussagenlogische Formel:
 \[\Box p \rightarrow \Diamond p\] 
beispielsweise kann gelesen werden: "Wenn Box p, dann Diamand p.", und der Modallogiker versteht dich. Machen Techniker sehr gern.

Wenn's um die Interpretation geht, dann nutzt man eher die etwas aufgeladenere Lesart "Wenn es notwendig ist, dass p, dann ist es auch möglich, dass p.". Wenn ich jetzt aber über die Operatoren und ihre rechnerischen Eigenschaften spreche, dann scheint das Sprechen von "Box" und "Diamand" irgendwie natürlicher (falls an Diskussionen zum Thema "Modallogik" irgendetwas natürlich sein kann :lol: ).

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Sind \Box und \Diamond dann mit \DeclareMathOperator (um-)definiert?
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Magenta
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 27. Jan 2016, 11:57

Beitrag von Magenta »

Nein. An einer solchen Stelle brauche ich keinen Schnickschnack, sondern die ganz normalen Operatoren auf der Objektebene der formalen Sprache.

Interessiert Dich das wirklich? :)

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ich hatte schon im ersten Post versucht rüberzubringen, dass \DeclareMathOperator oder \operatorname den Abstand zum Operanden verbessern.
sudo hat geschrieben:
\documentclass[11pt,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}

\DeclareMathOperator{\foo}{\textsf{I}\Box}
\newcommand{\Boxi}{\ensuremath{\textsf{I}\Box}}
\begin{document}
Der Unterschied zwischen $\Boxi \beta$ und $\foo \beta$ ist der Abstand, da ein Operator einen anderen Abstand zum Operanden hat, als zwei Variablen zueinander.
\end{document}
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Antworten