newtheorem の使用に関する問題

newtheorem の使用に関する問題

を使おうとしています\newtheorem

これが私の小さなスタイルファイル mystyle.sty です

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

tex ファイルは次のとおりです:

\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}

これはパッケージ付きですarevmath arevmathで

これはarevmathなしです arevmathなし

では質問です:

  1. 警告シンボルは表示したいのですarevmathが、全体的な見た目は表示されていない方arevmathが良いです。両方を管理するにはどうすればよいでしょうか?
  2. コンテンツはイタリック体で表示されます。しかし、イタリックnewtheorem 体の使用例は通常のローマン体で表示されます。他に何か問題があるのでしょうか?? たとえば...
  3. 私は、 を使用するインライン ソースから eg を取得しました。 漠然とした指示 (ではなく を\makeatletter使用してください) 以外、どのように使用すればよいのかまったくわかりません。.tex.sty

答え1

arevmathを使用するためにすべての数学記号を変更するのではなく、によって提供される記号のみを使用します。

実際、では と がarevmath使われており、ams-mdbchams-mdbch.sty

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

の定義は\bigodot、異なるフォントを使用しているものの、標準的なものです。コマンド\warningは にありarevsymbols.tex、次のように表示されます。

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

OK、ファイルams-mdbch.sty

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

そしてarevmath.sty私たちは

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

かなり追いかけっこです!でも材料は全部揃っています。唯一の問題は です\bigodotが、解決できます。

\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}

ここに画像の説明を入力してください

9.8 m/s 2の単位の表記が間違っていたので修正してください。

答え2

現在のバージョンは egreg の助けによるものです。
[はい、単位は適切ではありません。しかし、それは私にとっては mwe を生成するための誤った手段でした。実際の例では現在必要なものではありません]

\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}

関連情報