newtheorem 사용 관련 문제

newtheorem 사용 관련 문제

을 사용하려고합니다 \newtheorem.

여기 내 작은 sty 파일인 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가 없습니다. 아레브매쓰 없이

이제 질문은 다음과 같습니다.

  1. 나는 안에 있는 경고 기호를 원 arevmath하지만 없는 일반적인 모양이 arevmath더 좋습니다. 둘 다 어떻게 관리하나요?
  2. 내용은 이탤릭체로 나옵니다. 그러나 그것을 사용하기 위해 내가 찾은 예는 newtheorem 일반적인 로마자입니다. 또 다른 문제가 있나요?? 예를 들어...
  3. 나는 \makeatletter. 나는 모호한 지시문인 use in .texnot in 을 제외하고는 어떻게 사용하는지 전혀 모르겠습니다 .sty.

답변1

arevmath모든 수학 기호를 사용하도록 변경하지 않고 에서 제공하는 기호만 사용하려고 합니다 .

실제로 arevmath는 사용 ams-mdbch하고 우리는 에서 볼 수 있습니다 ams-mdbch.sty.

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

\bigodot다른 글꼴을 사용하더라도 의 정의는 표준 정의입니다. 명령 은 다음 \warning에서 찾을 수 있습니다.arevsymbols.tex

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

알겠습니다. 파일에는 다음이 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}

관련 정보