
Estou usando o acmart
documentclass para enviar um artigo de conferência. Forneci um exemplo simples (código abaixo) que atualmente renderiza a seguinte saída:
Questões:
- Como posso alterar o ambiente de "definição" para que o texto "Definição" tenha a mesma aparência do texto "Teorema" (remova o itálico e a fonte também pareça diferente)?
- Como adiciono um novo ambiente "Remark" que exibe os mesmos (teorema, lema, corolário, ...) que já estão presentes?
- Como posso adicionar um “quadrado qed” do mesmo tamanho ao final de qualquer um desses ambientes (mesmo quando eles não possuem “prova”)?
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}
Responder1
Se você estiver enviando para uma conferência, não tente modificar o padrão. De qualquer forma, veja como você pode fazer.
\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.
- O estilo de teorema padrão é
acmplain
. - Uma prova não pertence ao teorema.
Responder2
Eu entendi que sua pergunta significava que você deseja que teoremas, definições e observações sejamtodostêm o mesmo estilo. Nesse caso, responderei às suas perguntas fora de ordem:
- Como adiciono um novo ambiente "Remark" que exibe os mesmos (teorema, lema, corolário, ...) que já estão presentes?
Editar: com base no seu comentário, acredito que você deseja que todos os três ambientes tenham versalete para os cabeçalhos e fonte sem itálico para o texto principal.
Primeiramente, você precisará definir um novo estilo de teorema, já que nenhum dos acmart
estilos de teorema predefinidos atende às suas necessidades. Oacmart
documentação de classefornece o código-fonte para a definição do acmplain
estilo do teorema (na página 110, acredito), para que você possa copiar e colar essa definição em seu próprio código e modificá-la conforme achar necessário. Então você pode usar \theoremstyle{your-style-name}
para definir o estilo de seus ambientes de teorema personalizados.
- Como posso alterar o ambiente de "definição" para que o texto "Definição" tenha a mesma aparência do texto "Teorema" (remova o itálico e a fonte também pareça diferente)?
Como não há uma maneira direta de modificar a definição de um ambiente de teorema, você mesmo terá que definir o estilo de definition
(e theorem
). Você tem duas opções:
- Defina seus próprios ambientes de definição e teorema com nomes diferentes para que não entrem em conflito com os ambientes existentes. Eu recomendo esta opção porque é a mais direta e não substitui as definições existentes (caso isso possa causar problemas no seu envio).
- Suprima as definições de ambiente existentes com a opção de classe
acmthm=false
. Então você pode definir seu própriodefinition
ambientetheorem
sem entrar em conflito com nenhum ambiente existente. Observe que isso suprimetodos os ambientes de teorema definidos poracmart
, incluindotheorem
,proposition
,definition
,example
, etc. Assim, se você escolher esta opção, você mesmo terá que definir todos os outros ambientes conforme necessário.
- Como posso adicionar um “quadrado qed” do mesmo tamanho ao final de qualquer um desses ambientes (mesmo quando eles não possuem “prova”)?
Eu recomendo usar o thmtools
pacote para suas definições de ambiente personalizado, pois isso facilita muito a configuração do símbolo QED. Esta solução é sugerida ema postagemlinkado por @barbara-beeton nos comentários, mas é o terceiro abaixo. Consulte othmtools
documentação do pacotepara mais detalhes.
MWE novo e aprimorado (com ambientes personalizados com nomes diferentes):
\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}