Tex의\newtheoremstyle 캄페와 둘러싸인 정리 환경을 만들고 싶다

upLaTex에서 정리 환경에는 둘러싸지 않음



최근 LaTex에서 논문을 쓰고 있습니다만, amsthm.sty 로 정리 환경을 정의했습니다. 이것에 둘러싸고 싶었지만, 사용하는 패키지의 수를 늘리고 싶지 않았기 때문에, 스스로 \newtheoremstyle에 가까운 형태로 매크로를 짜서 본 이야기입니다.

우선 \newtheoremstyle이 어떻게 되어 있는가


\documentclass{jsarticle}
\usepackage{amsthm}
%%%%%%%%%%%%%%%%%%%%%%定理環境の設定%%%%%%%%%%%%%%%%%%%%%%
\newtheoremstyle{hoge}% スタイルの名前
{5pt}% 環境の上のスペース
{5pt}% 環境の下のスペース
{\normalfont}% 環境内のフォント
{0pt}% 題名前のスペースするか
{\bfseries}% 題名のフォント
{\\}% 題名の後の操作など
{4pt}% 題名の後にどの程度スペースを挿入するか↑のように改行すると意味がなくなります
{\thmname{#1}~\thmnumber{#2}\thmnote{\hspace{4pt}#3}}% 題名の書式
%#1:共通の表題:「定理」など%#2 カウンタの値が入る%#3 表題
%%%%%%%%%%%%%%%%%%%%%%定理環境を作る%%%%%%%%%%%%%%%%%%%%%%
\theoremstyle{hoge} %使うスタイルの名前を指定
\newtheorem{hhong}{\#1(共通の表題:「定理」など)}
\begin{document}
あああああああああああああああああああああああああああ
あああああああああああああああああああああああああああ
\begin{hhong}[\#3(表題)]
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\end{hhong}
いいいいいいいいいいいいいいいいいいいいいいいいいいい
いいいいいいいいいいいいいいいいいいいいいいいいいいい
\end{document}

등으로 파일을 만들 때의 출력. ↓


어디에서 정리 환경이 끝났는지 더 쉽게 이해하고 싶습니다.

이것과 가까운 형태로 둘러싸인 환경을 만들고 싶습니다.



그래서 다음과 같이 자신의 정리 환경을 만들었습니다.
  • 자동으로 공통의 표제가 붙는다 ( #1 부분).
  • 자동으로 그 환경이 몇 개수 준다.
  • 새로운 환경을 쉽게 정의하고 어느 정도 사용자 정의 할 수 있습니다.
  • \documentclass{jsarticle}
    \usepackage{ascmac}
    %%%%%%%%%%%%%%%%%%%%%%自分の定理環境を作る%%%%%%%%%%%%%%%%%%%%
    \makeatletter
    %%%%%%%%%%%%%%%%%%%%%%%%mynewtheoremstyle%%%%%%%%%%%%%%%%%%%%
    \newcommand{\mynewtheoremstyle}[7]{
      \global\@namedef{@#1/1}{#1}
      \global\@namedef{@#1/2}{#2}
      \global\@namedef{@#1/3}{#3}
      \global\@namedef{@#1/4}{#4}
      \global\@namedef{@#1/5}{#5}
      \global\@namedef{@#1/6}{#6}
      %\global\@namedef{@#1/7}{#7} 
      \global\@namedef{@#1/8}{#7}
    }
    %%%mytheoremstyleで指定した値は疑似配列をつかって保存する
    %%%%%%%%%%%%%%%%%%%%%%%%%%環境定義%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \newcommand{\mytheoremstyle}[1]{
    \@namedef{@mystyle}{\@nameuse{@#1/1}}
    }
    %%%%%%%%%%%%%%mytheoremstyleで作ったスタイルを設定する
    %%%%%%%%%%%%%%%%%%%%%デフォルトの設定を決定%%%%%%%%%%%%%%%%%%%%%
    \@namedef{@mydefo/1}{mydefo}
    \@namedef{@mydefo/2}{5pt}
    \@namedef{@mydefo/3}{5pt}
    \@namedef{@mydefo/4}{\normalfont}
    \@namedef{@mydefo/5}{0pt}
    \@namedef{@mydefo/6}{\bfseries}
    %\@namedef{@mystyle/7}{}
    \@namedef{@mydefo/8}{0pt}
    %%%%%%%%%%%%%%%%%%%%%デフォルトの値を指定する
    \mytheoremstyle{mydefo}
    %%%%%%%%%%%%%%%%%%%%%%thoremstyleを設定%%%%%%%%%%%%%%%%%%%%%%%%
    \newcommand{\mynewtheorem}[3][mydefo]{
    \newcounter{@#2/cnt}
    \setcounter{@#2/cnt}{0}
    \global\newenvironment{#2}[1][\relax]{
    \refstepcounter{@#2/cnt}
    \vspace{\@nameuse{@#1/2}}
    \@nameuse{@#1/4}
    \begin{itembox}[l]{
    \hspace{\@nameuse{@#1/5}}
    \@nameuse{@#1/6} {#3 \arabic{@#2/cnt}}  
    ##1
    %\@nameuse {@#1/7}
     \hspace{\@nameuse{@#1/8}}}
    }
    {\end{itembox}\vspace{\@nameuse{@#1/3}}}
    }
    %%%%%%%%%%%%%%itemboxを使って囲みのmythorem環境を作る新しいコマンド
    \makeatother
    %%%%%%%%%%%%%%%%%%%定理環境を作る%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \mynewtheoremstyle{hoge}{%スタイルの名前
    20pt}{%環境の上のスペース
    20pt}{%環境の下のスペース
    \normalfont}{%定理環境内のフォント
    100pt}{%題名前のスペース
    \bfseries}{%題名のフォント
    100pt}%題名の後のスペース
    \mytheoremstyle{hoge}
    \mynewtheorem[hoge]{hhhong}{問題}%オプションでスタイルを指定する必要がある
    \mynewtheorem{hhhhong}{論争}%デフォルトを使う場合は必要ない
    

    아래 문서 내용
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \begin{document}
    いいいいいいいいいいいいいいいいいいいいいいいい
    いいいいいいいいいいいいいいいいいいいいいいいい
    \begin{hhhong}[大事件]
    hhhong環境\\
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    \end{hhhong}
    うううううううううううううううううううううううう
    うううううううううううううううううううううううう
    \begin{hhhhong}[重大事件]
    hhhhong環境\\
    uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
    \end{hhhhong}
    ええええええええええええええええええええええええ
    ええええええええええええええええええええええええ
    \begin{hhhong}[橙事件]
    hhhong環境\\
    きちんとカウンタが増えている
    表題の書式も引き継がれている
    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    \end{hhhong}
    おおおおおおおおおおおおおおおおおおおおおおおお
    おおおおおおおおおおおおおおおおおおおおおおおお
    \begin{hhhhong}[紅事件]
    hhhhong環境\\
    きちんとカウンタが増えている
    表題の書式も引き継がれている
    ooooooooooooooooooooooooooooooooooooooooooooooooo
    \end{hhhhong}
    かかかかかかかかかかかかかかかかかかかかかかかか
    かかかかかかかかかかかかかかかかかかかかかかかか
    \end{document}
    
    

    좀 더 가까이 하고 싶은 생각도 하지만(표제 부분의 커스터마이즈 #9 부분) 몰랐기 때문에 일단 이것으로 만족하기로 했다. 가르쳐주세요.
    글쎄, 이것으로 논문을 쓰려고 생각한다면 둘러싸지 않는 것이 낫다고 말했기 때문에 이것은 창고에 들어갔다.
    출력↓

    좋은 웹페이지 즐겨찾기