
Estoy usando acmart
documentclass para el envío de un artículo a una conferencia. Proporcioné un ejemplo simple (código a continuación) que actualmente genera el siguiente resultado:
Preguntas:
- ¿Cómo puedo cambiar el entorno de "definición" para que el texto "Definición" tenga el mismo aspecto que el texto "Teorema" (elimine la cursiva y la fuente también parezca diferente)?
- ¿Cómo agrego un nuevo entorno de "Observación" que muestra lo mismo que los (teorema, lema, corolario, ...) que ya están presentes?
- ¿Cómo puedo agregar un "cuadrado qed" del mismo tamaño al final de cualquiera de estos entornos (incluso cuando no tienen "prueba")?
Código:
\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}
Respuesta1
Si se presenta a una conferencia, no debe intentar modificar su estándar. De todos modos, así es como puedes hacerlo.
\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}
Notas.
- El estilo de teorema estándar es
acmplain
. - Una demostración no pertenece al teorema.
Respuesta2
Entendí que tu pregunta significa que quieres teoremas, definiciones y comentarios.todotienen del mismo estilo. En ese caso, responderé tus preguntas fuera de orden:
- ¿Cómo agrego un nuevo entorno de "Observación" que muestra lo mismo que los (teorema, lema, corolario, ...) que ya están presentes?
Editar: según su comentario, creo que desea que los tres entornos tengan versalitas para los encabezados y una fuente sin cursiva para el texto principal.
En primer lugar, deberá definir un nuevo estilo de teorema, ya que ninguno de acmart
los estilos de teorema predefinidos se adapta a sus necesidades. Elacmart
documentación de claseproporciona el código fuente para la definición del acmplain
estilo del teorema (en la página 110, creo), por lo que puedes copiar y pegar esa definición en tu propio código y modificarla como mejor te parezca. Luego puede utilizar \theoremstyle{your-style-name}
para configurar el estilo de sus entornos de teoremas personalizados.
- ¿Cómo puedo cambiar el entorno de "definición" para que el texto "Definición" tenga el mismo aspecto que el texto "Teorema" (elimine la cursiva y la fuente también parezca diferente)?
Dado que no existe una forma sencilla de modificar la definición de un entorno de teorema, tendrás que definir el estilo de definition
(y theorem
) tú mismo. Tienes dos opciones:
- Defina su propia definición y entornos de teoremas con diferentes nombres para que no entren en conflicto con los entornos existentes. Recomiendo esta opción ya que es la más sencilla y no sobrescribe las definiciones existentes (en caso de que eso pueda causar problemas con su envío).
- Suprima las definiciones de entorno existentes con la opción de clase
acmthm=false
. Luego podrá definir su propiodefinition
entornotheorem
sin chocar con ningún entorno existente. Tenga en cuenta que esto suprimetodos los entornos de teoremas definidos poracmart
, incluidostheorem
,proposition
,definition
,example
, etc. Por lo tanto, si elige esta opción, tendrá que definir todos los demás entornos usted mismo según sea necesario.
- ¿Cómo puedo agregar un "cuadrado qed" del mismo tamaño al final de cualquiera de estos entornos (incluso cuando no tienen "prueba")?
Recomiendo usar el thmtools
paquete para las definiciones de su entorno personalizado, ya que esto hace que configurar el símbolo QED sea muy fácil. Esta solución se sugiere enel cargovinculado por @ barbara-beeton en los comentarios, pero es el tercero menos. Referirse athmtools
documentación del paquetepara más detalles.
MWE nuevo y mejorado (con entornos personalizados con diferentes nombres):
\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}