Wie setzt man ein kleines schwarzes Quadrat als binären Operator?

Wie setzt man ein kleines schwarzes Quadrat als binären Operator?

Dies ist mein erster Beitrag auf dieser SE, daher entschuldige ich mich, falls meine Formatierung schlecht ist.

Im Wesentlichen versuche ich, das kleine schwarze Symbol aus der folgenden Definition in Allen HatchersAlgebraische Topologie:

Bildbeschreibung hier eingeben

(Dieses Buch ist auch kostenlos von seiner Website erhältlich, und dieses spezielle Bild ist von Seite 26.)

Ich versuche herauszufinden, wie ich das kleine schwarze Quadrat zwischen dem f und dem g(s) setzen kann. Folgendes habe ich in meiner Präambel versucht

\renewcommand{\bullet}{\tiny$\blacksquare$}

Der erzeugte quadratische Punkt sieht jedoch seltsam aus und ähnelt nicht einem binären Operator, d. h. er ist nicht zentriert und weist keinen gleichmäßigen Abstand zwischen f und g(s) auf.

Hat jemand von Ihnen Vorschläge, wie man dieses spezielle Symbol erstellen könnte?

Antwort1

\cdotDabei handelt es sich eigentlich nicht um ein Quadrat, sondern nur um die im Bild verwendete Form der Familie Lucida.

\documentclass{article}
\usepackage{lucidabr}
\begin{document}
$f \cdot g$
\end{document}

Lucida ist eine kommerzielle Schriftart. Sie können sie erwerben beiSCHLEPPER.


Sie können das Symbol auch mit einem fälschen \rule.

\documentclass{article}
\renewcommand\bullet{%
  \mathbin{\mskip1mu
    \mathchoice
      {\squarebullet{.25ex}{.25ex}}%
      {\squarebullet{.25ex}{.25ex}}%
      {\squarebullet{.18ex}{.18ex}}%
      {\squarebullet{.15ex}{.15ex}}
    \mskip1mu}
}
\newcommand\squarebullet[2]{\vcenter{\hbox{\rule{#1}{#2}}}}
\begin{document}
$f \cdot g_{f \cdot g_{f \cdot g}}$

$f \bullet g_{f \bullet g_{f \bullet g}}$
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Dieses Symbol ist im mathabxSchriftartpaket vorhanden. So können Sie dieses Symbol verwenden, ohne das Paket laden zu müssen:

\documentclass{article}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}%
{<-6> mathb5 %
 <6-7> mathb6
 <7-8> mathb7 %
 <8-9> mathb8 %
 <9-10> mathb9 %
 <10-12> mathb10 %
 <12-> mathb12 }%
 {}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\sqbullet}{\mathbin}{mathb}{"0D}

\begin{document}

\[ f \sqbullet g\]%

\end{document} 

Bildbeschreibung hier eingeben

Antwort3

Legen Sie die Größe des schwarzen Punkts fest. Hier ist er doppelt so groß wie (der Begrenzungsrahmen) eines Punkts und weist einen kleinen Seitenrand auf.

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\pp}{}% check it's not defined
\DeclareRobustCommand{\pp}{\mathbin{\mathpalette\pp@\relax}}
\newcommand\pp@[2]{%
  \mspace{0.5mu}%
  \vcenter{\hbox{\sbox\z@{$#1.$}\rule{2\ht\z@}{2\ht\z@}}}%
  \mspace{0.5mu}%
}
\makeatother

\begin{document}

$f\pp g$

$\scriptstyle f\pp g$

\end{document}

Bildbeschreibung hier eingeben

Antwort4

Dieses Glyph ist in mehreren Paketen verfügbar \smblksquare, darunter unicode-math(was ich empfehle) stixund stix2. Sein Unicode-Codepunkt ist ▪ (U+25AA). Definieren Sie einfach einen Operator mit Leerzeichen \mathbin.

\documentclass[varwidth]{standalone}
\usepackage{unicode-math}

\newcommand\csquare{\mathbin{\smblksquare}}

\begin{document}
\( f \csquare g \)
\end{document}

Probe

Es gibt mehrere ähnliche Symbole, beispielsweise \vysmblksquarefür eine kleinere Version (⬝) oder \mdlblksquarefür eine größere (◼). Zum Beispiel:

\documentclass[varwidth]{standalone}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchLowercase, Ligatures = TeX }
\setmainfont{STIX Two Text}[Scale = 1.0]
\setmathfont[StylisticSet = 2]{STIX Two Math}

\newcommand\csquare{\mathbin{\vysmblksquare}}

\begin{document}
\( f \csquare g \)
\end{document}

Schriftbeispiel STIX Two

Wenn Sie eine Mathematikschriftart verwenden möchten, die dieses Symbol nicht oder nur hässlich hat, können Sie das Quadrat einer beliebigen anderen Schriftart Ihrer Wahl beispielsweise durch ersetzen \setmathfont[range=\smblksquare]{Latin Modern Math}.

Wenn dies tatsächlich das \cdotSymbol von Lucida ist, können Sie es stattdessen \csquaredurch Umschließen eines \mboxinnerhalb \mathbinoder mit definieren \DeclareMathSymbol.

verwandte Informationen