나는 이 책에서 사용된 것과 같은 정리 스타일을 찾고 있습니다.
Ross의 기본 분석
나는 다음과 같은 사용자 정의 정리를 얻고 싶다는 점을 제외하고 이미 대부분의 작업을 수행했습니다.
다음과 같이 입력하면:
\begin{thm}[Rational Zeros Theorem]
...
\end{thm}
내가 원하는 나머지 스타일은 다음과 같습니다.
- 수와 정리를 바꾸는 것
- 정리/정의의 선두 뒤에 개행 문자가 있는 경우
- "증거"를 가지고 있습니다. 이탤릭체 대신 볼드체로, 그 뒤에 줄바꿈 문자를 추가합니다.
- 증명이 목록으로 시작하는 경우 개행 문자도 가짐
저는 이미 1,2,3을 구현하려고 노력해 왔으며 관심이 있으시면 github에서 찾을 수 있습니다.https://github.com/kasperpeulen/Ross-Theorem-Style
아직 4번 문제를 해결하지 못했지만 여기에서 다른 게시물을 찾았으므로 혼자서 해결할 수 있을 것 같지만 이에 대한 도움도 물론 감사하겠습니다.
답변1
좋습니다. 이제 작동하게 되었습니다. 이 웹사이트의 다른 게시물 덕분에 채팅에서 타악기의 도움을 받을 수 있습니다.
다음은 여기에서도 찾을 수 있는 코드입니다. https://github.com/kasperpeulen/Ross-Theorem-Style
\documentclass[12pt]{article}
\usepackage{amsmath, amssymb, amsthm}
\newtheoremstyle{theorem}% name
{}% Space above, empty = `usual value'
{}% Space below
{\itshape}% Body font
{}% Indent amount
{\bfseries}% Head font
{.}% Punctuation after head
{\newline}% Space after head: \newline = linebreak
{\def\temp{#3}\ifx\temp\empty\thmnumber{#2 }\thmname{#1}\else\thmnumber{#2}\thmnote{ #3}\fi}% Head spec
\theoremstyle{theorem}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}[thm]{Proposition}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\swapnumbers
\newtheoremstyle{definition}% name
{}% Space above, empty = `usual value'
{}% Space below
{}% Body font
{}% Indent amount
{\bfseries}% Head font
{.}% Punctuation after thm head
{\newline}% Space after head: \newline = linebreak
{}% Head spec
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{example}[thm]{Example}
\theoremstyle{remark}
\newtheorem{remark}[thm]{Remark}
%Makes "Proof." boldface
\makeatletter
\renewenvironment{proof}[1][\proofname] {\par\pushQED{\qed}\normalfont\topsep6\p@\@plus6\p@\relax\trivlist\item[\hskip\labelsep\bfseries#1\@addpunct{.}]\mbox{}\\*}{\popQED\endtrivlist\@endpefalse}
\makeatother
%Fix if theorem starts with a list
\makeatletter
\def\itemfix{%
\if@inlabel
\noindent \par\nobreak\vskip-\baselineskip\hrule\@height\z@
\fi}
\let\olditemize\itemize
\def\itemize{\itemfix\olditemize}
\makeatother
\makeatletter
\def\enumfix{%
\if@inlabel
\noindent \par\nobreak\vskip-\baselineskip\hrule\@height\z@
\fi}
\let\oldenumerate\enumerate
\def\enumerate{\enumfix\oldenumerate}
\begin{document}
\section{Some examples}
\begin{defn}
Here is a definition of \emph{something}.
\end{defn}
\begin{thm}[Intermediate Value Theorem]
This is a theorem with a name and with a number.
\end{thm}
\begin{thm}
This is a theorem without name and with a number.
\end{thm}
\begin{proof}
Here is the proof.
\end{proof}
\begin{thm}
\begin{enumerate}
\item Theorem that starts with a list.
\item Which seems to work.
\end{enumerate}
\end{thm}
\begin{thm}
\begin{itemize}
\item Theorem that starts with a list.
\item Which seems to work.
\end{itemize}
\end{thm}
\end{document}
답변2
다음 은 증명이 방정식 표시(그룹)로 끝나는 경우에도 ntheorem
자동으로 (사용자 정의 가능한) 기호를 배치하는 이점이 있는 간단한 솔루션입니다 .end-of-proof
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amssymb}
\usepackage{mathtools, nccmath}
\usepackage{enumitem}
\usepackage[thmmarks, thref, amsmath]{ntheorem}
\makeatletter
\renewtheoremstyle{changebreak}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##2\ ##1\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##2\ ##3\theorem@separator}\hbox{\strut}}}]}
\makeatother
\theoremstyle{changebreak}
\theoremseparator{. }
\theoremheaderfont{\upshape\bfseries}
\theorembodyfont{\itshape}
\newtheorem{thm}{Theorem}[section]
\theorembodyfont{\upshape}
\newtheorem{defi}[thm]{Definition}
\theoremstyle{nonumberbreak}
\theoremseparator{}
\theoremsymbol{\ensuremath{\blacksquare}}
\newtheorem{proof}{Proof}
\begin{document}
\section{A First Section}
\begin{thm}
A numbered, unnamed theorem.
\end{thm}
\begin{thm}[Rational Zeros Theorem]
Suppose $ c_0 ,c_1 ,\dots, c_n $ be integers and $ r $ a rational number satisfying the polynomial equation.
\begin{equation}\label{intpol}
c_n xⁿ + c_{n-1} x^{n-1} + ... +c_1 x + c_0 =0
\end{equation}
where $ n ≥ 1$, $ c_{n} \ne 0$ and $ c_0 \ne 0 $. Let $ r = \mfrac{c}{d}$, where $ c, d $ are integers having no common factors and $ d \ne 0 $. Then $ c $ divides $ c_0 $ and $ d $ divides $ c_n $.
\end{thm}
\begin{proof}
\begin{itemize}[wide = 0pt]
\item[\em First proof.]
Left as an exercise.
\item[\em Second proof.] We deduce from the hypothesis that
\begin{align*}
& c_{n}cⁿ + c_{n-1}c^{n-1}d + ... + c_1 cd^{n-1} + c_0 dⁿ = 0, \\
\intertext{which we may rewrite as}
& c(c_{n}c^{n-2} + c_{n-1}c^{n-2}d + ... + c_1 d^{n-1}) = -c_0 dⁿ\\
\shortintertext{or}
& d(c_{n-1}c^{n-1} + ... + c_1 cd^{n-2} + c_0 d^{n-1}) = -c_{n}cⁿ.
\end{align*}
\end{itemize}
\end{proof}
\begin{defi}
A \textbf{rational function} is the quotient of two polynomial functions.
\end{defi}
\end{document}