Estou tentando escrever um comando que abrevie um comando para escrever prova. No momento eu costumava usar
\newenvironment{proof}%
{\textbf{Proof:}}%
{\begin{flushright} $\blacksquare$ \end{flushright}}
Agora estou cansado de escrever \begin{proof}
o tempo todo, então quero mudar para \pf{ ...content... }
ou \pf[ ...content... ]
.
Eu tentei fazer
\def\pf[#2\]{\begin{proof} #2 \end{proof}}
Não gostou disso. Devo mencionar que já tenho
\def\[#1\]{\begin{align}#1\end{align}}
for align
, é por isso que não usei isso for proof
.
Responder1
Eu recomendo fortementenãoFazendo isso. No entanto, provavelmente não é tão ruim quanto o que você fez align
, se for necessário:
\documentclass{article}
\usepackage{xparse,amssymb}
\NewDocumentCommand \pf { +r[] } {%
\noindent\textbf{Proof:}
#1\hspace*{\fill}\nolinebreak$\blacksquare$}
\begin{document}
\pf[
Alice saw Nobody on the road, whereas the King did not.\\
So, Alice has sharper eyes than the King and Nobody is travelling on the road.]
\pf[
Alice saw Nobody on the road, whereas the King did not.\\
Hence, Alice has sharper eyes than the King.]
\end{document}
EDITAR:Lide um pouco melhor com quebras de linha/página. [Mas, como eu disse acima, esta não é realmente uma boa maneira de fazer isso. Existem pacotes e ambientes projetados para acertar essas coisas e, ao mesmo tempo, manter seu código inteligível!]
Responder2
Eu não aconselharia isso, mas funciona (sem qualquer garantia)
\documentclass{article}
\usepackage{amsmath,amssymb}
\newenvironment{proof}%
{\textbf{Proof:}}%
{\hfill$\blacksquare$}
\def\pf#1{\begin{proof} #1 \end{proof}}
\begin{document}
\pf{some proof here}
\end{document}
É melhor
- usar o amsthm e seus ambientes para
proof
etc. - usar
\newcommand
em vez\def
do anterior é a maneira do LaTeX de definir novas macros que verifica a existência da macro.