Probleme bei der Verwendung von newtheorem

Probleme bei der Verwendung von newtheorem

Ich versuche, zu verwenden \newtheorem.

Hier ist meine kleine Style-Datei mystyle.sty

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\newtheorem{action}{$\checkmark$ Action}
\newtheorem{law}{$\bigodot$ Law}
\newtheorem{fact}{$\boxdot$ Fact}
\newtheorem{warn}{$\warning$ Caveat}

Hier ist die Tex-Datei:

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
%\usepackage{arevmath}
\usepackage{mystyle}
\begin{document}
\section{Head}
\begin{law}
The world is round
\end{law}
\begin{fact}
\(g =99.8 m/s^2\)
\end{fact}
\begin{action}
Teach co-recursion before recursion
\end{action}
\begin{warn}
 Beware
\end{warn}
\end{document}

Dies ist mit Paketarevmath mit arevmath

Dies ist ohne arevmath ohne arevmath

So nun zu den Fragen:

  1. Ich möchte das Warnsymbol, das drin ist, arevmathaber das allgemeine Erscheinungsbild ohne arevmathist besser. Wie bekomme ich beides unter einen Hut?
  2. Der Inhalt ist kursiv. Aber die Beispiele, die ich für die Verwendung finde, newtheorem sind in normaler Rechtschreibung. Stimmt sonst noch etwas nicht?? zB...
  3. Ich habe das Beispiel aus einer Inline-Quelle entnommen, die verwendet \makeatletter. Ich bin mir nicht ganz sicher, wie ich es verwenden soll, abgesehen von einer vagen Anweisung: Verwenden Sie es in, .texnicht in .sty.

Antwort1

Sie möchten nur die von bereitgestellten Symbole verwenden arevmathund nicht alle mathematischen Symbole ändern, um es zu verwenden.

Tatsächlich arevmathverwendet ams-mdbchund wir sehen, in ams-mdbch.sty,

\xdef\checkmark{\noexpand\mathhexbox{\hexnumber@\symmathdesignA}D8}
\DeclareMathSymbol{\boxdot}{\mathbin}{mathdesignA}{"80}

Die Definition von \bigodotist die Standarddefinition, allerdings in einer anderen Schriftart. Der Befehl \warningfindet sich in arevsymbols.texund wir sehen

\DeclareMathSymbol{\warning}{\mathalpha}{extraup}{125} % uni26A0

OK, die Datei ams-mdbch.styhat

\DeclareSymbolFont{mathdesignA}{MDA}{mdbch}{b}{n}
\SetSymbolFont{largesymbols} {normal}{OMX}{mdbch}{m}{n}

und in arevmath.stysehen wir

\DeclareSymbolFont{extraup}{U}{zavm}{m}{n}

Eine ziemliche Verfolgungsjagd! Aber wir haben alle Zutaten. Das einzige Problem ist \bigodot, aber es kann gelöst werden.

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
%\usepackage{arevmath}

\DeclareFontEncoding{MDA}{}{}
\DeclareFontSubstitution{MDA}{cmr}{m}{n}

\newcommand{\arevcheckmark}{{\usefont{MDA}{mdbch}{b}{n}\symbol{"D8}}}
\newcommand{\arevbigodot}{%
  $\vcenter{\hbox{\usefont{OMX}{mdbch}{m}{n}\symbol{"4A}}}$%
}
\newcommand{\arevboxdot}{{\usefont{MDA}{mdbch}{b}{n}\symbol{"80}}}
\newcommand{\arevwarning}{{\usefont{U}{zavm}{m}{n}\symbol{125}}}

\newtheorem{action}{\arevcheckmark\ Action}
\newtheorem{law}{\arevbigodot\ Law}
\newtheorem{fact}{\arevboxdot\ Fact}
\newtheorem{warn}{\arevwarning\ Caveat}

\begin{document}

\section{Head}

\begin{law}
The world is round
\end{law}

\begin{fact}
\(g =99.8 m/s^2\)
\end{fact}

\begin{action}
Teach co-recursion before recursion
\end{action}

\begin{warn}
Beware
\end{warn}

\end{document}

Bildbeschreibung hier eingeben

Ich habe die Einheiten falsch auf 9,8 m/s 2 gesetzt , bitte beheben Sie das.

Antwort2

Meine aktuelle Version dank egregs Hilfe.
[Ja, die Einheiten stimmen nicht. Aber das war für mich sowieso nur ein Ablenkungsmanöver, um etwas MWE zu erzeugen; nichts, was ich derzeit in meinem tatsächlichen Beispiel brauche.]

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
%\usepackage{arevmath}

\DeclareFontEncoding{MDA}{}{}
\DeclareFontSubstitution{MDA}{cmr}{m}{n}

\newcommand{\arevcheckmark}{{\usefont{MDA}{mdbch}{b}{n}\symbol{"D8}}}
%% \newcommand{\arevbigodot}{%
%%   $\vcenter{\hbox{\usefont{OMX}{mdbch}{m}{n}\symbol{"4A}}}$%
%% }

\newcommand{\arevboxdot}{{\usefont{MDA}{mdbch}{b}{n}\symbol{"80}}}
\newcommand{\arevwarning}{{\usefont{U}{zavm}{m}{n}\symbol{125}}}

\theoremstyle{definition}
\newtheorem{action}{\arevcheckmark\ Action}
\newtheorem{law}{\(\odot\)\ Law}
\newtheorem{fact}{\(\boxdot\)\ Fact}
\newtheorem{warn}{\arevwarning\ Caveat}

\begin{document}

\section{Head}

\begin{law}
The world is round
\end{law}

\begin{fact}
\(g =99.8 m/s^2\)
\end{fact}

\begin{action}
Teach co-recursion before recursion
\end{action}

\begin{warn}
Beware
\end{warn}
\end{document}

verwandte Informationen