
Ich verwende die acmart
Dokumentklasse für die Einreichung eines Konferenzpapiers. Ich habe ein einfaches Beispiel bereitgestellt (Code unten), das derzeit die folgende Ausgabe ergibt:
Fragen:
- Wie kann ich die „Definition“-Umgebung ändern, sodass der Text „Definition“ genauso aussieht wie der Text „Theorem“ (Kursivschrift entfernen, dann sieht auch die Schriftart anders aus)?
- Wie füge ich eine neue „Bemerkungs“-Umgebung hinzu, die dasselbe anzeigt wie die bereits vorhandenen (Theorem, Lemma, Korollar usw.)?
- Wie kann ich am Ende einer dieser Umgebungen ein „qed-Quadrat“ derselben Größe hinzufügen (auch wenn es keinen „Beweis“ gibt)?
Code:
\documentclass[acmtog,anonymous,review]{acmart}
\usepackage{graphicx}
\AtEndPreamble{%
\theoremstyle{acmtheorem}
\newtheorem{remark}[theorem]{Remark}}
\begin{document}
\section{}
\begin{theorem}
A theorem.
\begin{proof}
\end{proof}
\end{theorem}
\begin{definition}
A definition.
\begin{flushright}
$\square$
\end{flushright}
\end{definition}
\begin{remark}
A remark.
\begin{flushright}
$\square$
\end{flushright}
\end{remark}
\end{document}
Antwort1
Wenn Sie einen Beitrag für eine Konferenz einreichen, sollten Sie nicht versuchen, deren Standards zu ändern. So können Sie es jedenfalls machen.
\documentclass[acmtog,anonymous,review]{acmart}
\AtEndPreamble{%
\theoremstyle{acmplain}%
% note to copy editors: remove the following
% two lines if standard ACM style is preferred
\let\definition\relax\let\enddefinition\relax
\newtheorem{definition}[theorem]{Definition}%
% end note to copy editors
\newtheorem{remark}[theorem]{Remark}%
\AtBeginEnvironment{definition}{\pushQED{\qed}}%
\AtEndEnvironment{definition}{\popQED}%
\AtBeginEnvironment{remark}{\pushQED{\qed}}%
\AtEndEnvironment{remark}{\popQED}%
}
\begin{document}
\section{Test}
\begin{theorem}
A theorem.
\end{theorem}
\begin{proof}
And its proof.
\end{proof}
\begin{definition}
A definition.
\end{definition}
\begin{remark}
A remark.
\end{remark}
\end{document}
Anmerkungen.
- Der Standardtheoremstil ist
acmplain
. - Ein Beweis gehört nicht zum Lehrsatz.
Antwort2
Ich habe Ihre Frage so verstanden, dass Sie Theoreme, Definitionen und Bemerkungenallehaben den gleichen Stil. In diesem Fall beantworte ich Ihre Fragen in anderer Reihenfolge:
- Wie füge ich eine neue „Bemerkungs“-Umgebung hinzu, die dasselbe anzeigt wie die bereits vorhandenen (Theorem, Lemma, Korollar usw.)?
Bearbeiten: Ihrem Kommentar zufolge gehe ich davon aus, dass Sie in allen drei Umgebungen Kapitälchen für die Überschriften und nicht kursive Schriftart für den Haupttext wünschen.
Zunächst müssen Sie einen neuen Theoremstil definieren, da keiner der acmart
vordefinierten Theoremstile Ihren Anforderungen entspricht.acmart
Klassendokumentationstellt den Quellcode für die Definition des acmplain
Theoremstils bereit (auf Seite 110, glaube ich), sodass Sie diese Definition in Ihren eigenen Code kopieren und einfügen und nach Belieben ändern können. Anschließend können Sie damit \theoremstyle{your-style-name}
den Stil Ihrer benutzerdefinierten Theoremumgebungen festlegen.
- Wie kann ich die „Definition“-Umgebung ändern, sodass der Text „Definition“ genauso aussieht wie der Text „Theorem“ (Kursivschrift entfernen, dann sieht auch die Schriftart anders aus)?
Da es keine direkte Möglichkeit gibt, die Definition einer Theoremumgebung zu ändern, müssen Sie die Darstellung von definition
(und theorem
) selbst definieren. Sie haben zwei Möglichkeiten:
- Definieren Sie Ihre eigenen Definitions- und Theoremumgebungen mit unterschiedlichen Namen, damit sie nicht mit den vorhandenen Umgebungen kollidieren. Ich empfehle diese Option, da sie am einfachsten ist und die vorhandenen Definitionen nicht überschreibt (falls dies zu Problemen mit Ihrer Übermittlung führen könnte).
- Unterdrücken Sie die bestehenden Umgebungsdefinitionen mit der Klassenoption
acmthm=false
. Anschließend können Sie Ihre eigenendefinition
undtheorem
mit vorhandenen Umgebungen in Konflikt zu geraten. Beachten Sie, dass dadurchalle Theoremumgebungen definiert durchacmart
, einschließlichtheorem
,proposition
,definition
,example
, usw. Wenn Sie diese Option wählen, müssen Sie daher alle anderen Umgebungen nach Bedarf selbst definieren.
- Wie kann ich am Ende einer dieser Umgebungen ein „qed-Quadrat“ derselben Größe hinzufügen (auch wenn es keinen „Beweis“ gibt)?
Ich empfehle die Verwendung vonthmtools
Paket für Ihre benutzerdefinierten Umgebungsdefinitionen zu verwenden, da dies das Festlegen des QED-Symbols sehr einfach macht. Diese Lösung wird in vorgeschlagendie Postvon @barbara-beeton in den Kommentaren verlinkt, aber es ist das dritte von oben. Siehe diethmtools
Paketdokumentationfür mehr Details.
Neues und verbessertes MWE (mit benutzerdefinierten Umgebungen unter anderen Namen):
\documentclass[acmtog, anonymous, review]{acmart}
\usepackage{thmtools}
\makeatletter
\AtEndPreamble{
% Modified from definition of acmplain
% acmart documentation, page 110
% https://mirror.las.iastate.edu/tex-archive/macros/latex/contrib/acmart/acmart.pdf
\newtheoremstyle{mystyle}%
{.5\baselineskip\@plus.2\baselineskip
\@minus.2\baselineskip}% space above
{.5\baselineskip\@plus.2\baselineskip
\@minus.2\baselineskip}% space below
{\normalfont}% body font
{\@acmplainindent}% indent amount
{\scshape}% head font
{.}% punctuation after head
{.5em}% spacing after head
{\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
\theoremstyle{mystyle}
\declaretheorem[name=Theorem, parent=section]{thm}
\declaretheorem[name=Definition, qed=$\square$, sibling=thm]{defn}
\declaretheorem[name=Remark, qed=$\square$, sibling=thm]{remark}
}
\makeatother
\begin{document}
\section{}
\begin{thm}
A theorem.
\begin{proof}
\end{proof}
\end{thm}
\begin{defn}
A definition.
\end{defn}
\begin{remark}
A remark.
\end{remark}
\end{document}