환경 끝의 다이아몬드 기호

환경 끝의 다이아몬드 기호

나는 정리, 보조정리, 예 등이 다이아몬드로 끝나길 원합니다. 이와 같이:여기에 이미지 설명을 입력하세요

\hfill\mbox{$\diamond$}를 사용할 수 있다는 것을 알았습니다. 하지만 나는 이미 100개의 예제, 기본형을 포함하는 문서를 작성했습니다... 수동으로 설정하고 싶지 않습니다. 그래서 \theoremstyle로 설정할 수 있을 거라 생각했어요. 이건 어디서 설정해야 하나요? 내 MWE는 다음과 같습니다.

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm,parskip=half-, twoside]{scrartcl}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\newtheoremstyle{definition}{}{}{}{}{\bfseries}{:}{5 pt}{}

\theoremstyle{definition}
\newtheorem{defi}[]{Definition}

\begin{document}
      Here's the example.

\begin{defi}
       Does the diamond appear?
\end{defi}
\end{document}

답변1

\AtEndEnvironment환경이 종료될 때마다 코드(또는 약간 수정된 버전)를 자동으로 추가하는 데 사용할 수 있습니다 defi.

\diamond일부 환경의 끝부분에 s 뿐만 아니라 를 사용하기 때문에 \triangle개인적으로는 (거의) 같은 크기를 가지길 원해서 defiBigrescaled 를 추가하는 환경을 추가했습니다 \diamond. 이 크기 조정에는 scalerel패키지가 포함됩니다. 결과

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm,parskip=half-, twoside]{scrartcl}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{scalerel} % only necessary for the version with big \diamond

\newtheoremstyle{definition}{}{}{}{}{\bfseries}{:}{5 pt}{}

\theoremstyle{definition}
\newtheorem{defi}[]{Definition}
\AtEndEnvironment{defi}{\null\hfill\ensuremath{\diamond}}
% For a bigger \diamond you can use the following:
\newtheorem{defiBig}[defi]{DefinitionBig}
\newlength\myheight  \settoheight\myheight{$\triangle$}
\AtEndEnvironment{defiBig}{\null\hfill\ensuremath{\scaleto{\diamond}{\myheight}}}

\begin{document}
      Here's the example.
      \begin{defi}
             Does the diamond appear?
      \end{defi}
      \begin{defiBig}
             Does the big diamond appear?
      \end{defiBig}
\end{document}

답변2

일관성을 유지하기 위해 여기에 ntheorem. 10년 동안 변경되지 않았으므로 2017년 설치에는 문제가 없어야 합니다. 마커가 정착되려면 여러 번의 편집이 필요하다는 점을 기억하세요.

주의 사항: ntheorem마커가 있는 환경은 부품 앞의 빈 줄을 좋아하지 않습니다 \end{env}.

정의 방법을 포함한 코드 예 proof:

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm,parskip=half-, twoside]{scrartcl}
\usepackage{babel}
\usepackage{amsmath}
%\usepackage{amsthm}
\usepackage{amssymb}
\usepackage[amsmath,thmmarks]{ntheorem}

\theorembodyfont{\normalfont}
\theoremseparator{.}
\theoremsymbol{\enskip\ensuremath{\diamond}}
\newtheorem{defi}{Definition}

% body font is shared from above
\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theoremsymbol{\enskip\ensuremath{\Box}}
\newtheorem{proof}{Proof}


\begin{document}
Here's the example.

\begin{defi}
  Does the diamond appear?
\end{defi}

\begin{proof}
  Test
\end{proof}
     
\end{document}

여기에 이미지 설명을 입력하세요

답변3

보다 우아한 방법은 다음과 같습니다.그런데 엔딩 기호도 qed 기호와 동일하게 선택하는 것이 좋습니다.내 책에서 정리 형식에 대해 말한 것과 마찬가지로 qed 기호는 "증명의 끝"을 나타냅니다. 따라서 우리는 일반적으로 이 기호를 "일부 텍스트의 일시적인 결말"을 나타내기 위해 사용할 수 있으며 증거 없이 모든 종류의 명제, 정의, 설명 등으로 그 사용을 확장할 수 있습니다.

\documentclass{article}

\usepackage{amsthm}
\usepackage{latexsym}%for \Diamond
\renewcommand{\qedsymbol}{$\Diamond$}

\theoremstyle{theorem}
\newtheorem{theorem}{Theorem}
\newenvironment{thm}{\pushQED{\qed}\theorem}{\popQED\endtheorem}

\theoremstyle{definition}
\newtheorem{definition}{Definition}
\newenvironment{defi}{\pushQED{\qed}\definition}{\popQED\enddefinition}

\begin{document}

Here are the examples.

\begin{theorem}
Does the diamond appear? No!
\end{theorem}

\begin{thm}
Does the diamond appear? Yes!
\end{thm}

\begin{definition}
Does the diamond appear? No!
\end{definition}

\begin{defi}
Does the diamond appear? Yes!
\end{defi}

\end{document}

여기에 이미지 설명을 입력하세요

다음 이미지는 개인적으로 qed 기호를 사용하는 방법을 보여줍니다.

여기에 이미지 설명을 입력하세요

답변4

에서 정의한 환경 끝에 다이아몬드를 추가하는 래퍼 환경을 만들 수 있습니다 amsthm. 이 라인 주변의 내용은 다음과 같습니다.

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm,parskip=half-, twoside]{scrartcl}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\newtheoremstyle{definition}{}{}{}{}{\bfseries}{:}{5 pt}{}
\theoremstyle{definition}
\newtheorem{ddefi}[]{Definition}
\NewDocumentEnvironment{defi}{s +b}{%
  \begin{ddefi}
    #2\nolinebreak\IfBooleanT{#1}{\hfill}\enspace$\diamond$
  \end{ddefi}}{}


\begin{document}
Here's the example.
\begin{defi}
  Does the diamond appear
\end{defi}

\begin{defi}*
  Does the diamond appear
\end{defi}
\end{document}

여기에 이미지 설명을 입력하세요


편집하다. 표준을 기반으로 한 코드 \newenvironment:

\documentclass[ngerman, fontsize=11pt, DIV=15, BCOR = 10mm,parskip=half-, twoside]{scrartcl}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}

\newtheoremstyle{definition}{}{}{}{}{\bfseries}{:}{5 pt}{}
\theoremstyle{definition}
\newtheorem{ddefi}[]{Definition}
\newenvironment{defi}{\begin{ddefi}}{\nolinebreak\hfill\enspace$\diamond$\end{ddefi}}


\begin{document}
Here's the example.
\begin{defi}
  Does the diamond appear
\end{defi}
\end{document}

관련 정보