
Estou simplesmente tentando enquadrar as equações em meus slides do projetor.
Para isso, utilizo o pacote tcolorbox.
O MWE abaixo produz caixas onde as equações estão quase alinhadas na base da caixa. Eu gostaria que eles fossem centralizados verticalmente.
No entanto, usar "valign=center" não tem efeito.
(Já tenho uma solução para o problema horizontal na segunda equação e só não a incluí por motivos de MWE)
\documentclass{beamer}
\usepackage{tcolorbox}
\newtcolorbox{equationframe}{
valign=center,
}
\begin{document}
\begin{frame}
\begin{itemize}
\item[]
\begin{equationframe}
\begin{equation*}
p(x,y)=\begin{cases}
\min\{q(x,y),\frac{\pi({y})q(y,{x})}{\pi(x)}\}, \quad x\neq y\\
1-\int_{x\neq y} p(x,y)
\end{cases}
\end{equation*}
\end{equationframe}
\begin{equationframe}
\begin{equation*}
\pi(x)p(x,y)=\min\{\pi(x)q(x,y),\pi(y)q(y,x)\}=\pi(y)p(y,x)%
\end{equation*}
\end{equationframe}
\end{itemize}
\end{frame}
\end{document}
EDITAR:
Se eu usar o preâmbulo
\documentclass{beamer}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage[most]{tcolorbox}
\tcbuselibrary{theorems}
\newtcolorbox{equationframe}{
ams nodisplayskip
}
então eu recebo
Faltando $ inserido. \end{quadro}
Isso não é problemático, pois percebi que usar ams align*
em vez de ams nodisplayskip
fazer o alinhamento vertical como desejo, e meu MWE inicial compila bem. Há apenas um problema com algo que não incluí no MWE: para ajustar equações horizontalmente longas, usei a macro
\newcommand\fiteq[1]{%
\sbox{\mybox}{$\displaystyle#1$}%
\ifdim\wd\mybox>.85\textwidth\resizebox{.85\textwidth}{!}{\usebox{\mybox}}%
\else\usebox{\mybox}\fi%
}
\newsavebox{\mybox}
e então
\begin{equationframe}
\fiteq{A=......=B}
\end{equationframe}
Infelizmente, os comandos de alinhamento não \\
funcionam &
nesta macro.
Eu só quero uma caixa que contenha equações. No látex normal, uma equação horizontal a longa não é tão problemática, mas quando há uma caixa em torno das equações e a equação atravessa o limite, parece realmente estúpido.
Existem duas opções: (1) ajustar o tamanho da caixa ou (2) ajustar o tamanho da equação.
A macro \fiteq{} faz (2), e eu realmente gosto de sua aparência. Seria bom se alguém pudesse adaptar a macro para funcionar com comandos de alinhamento (ela funciona com a solução acima, desde que nenhuma nova linha ou "e" comercial seja usado). Se isso não for possível, uma solução que vá na direção de (1) também seria bem-vinda
Responder1
Carregue theorems
a biblioteca (eu faço isso com a opção de classe most
) e use ams
ou qualquer outra opção matemática.
ams
defina as partes superior e inferior para o modo matemático com \displaystyle
. Você não precisa equation
de ambientes são essas caixas. E você não precisa valign
.
\documentclass{beamer}
\usepackage[most]{tcolorbox}
\newtcolorbox{equationframe}{
math
}
\begin{document}
\begin{frame}
\begin{itemize}
\item[]
\begin{equationframe}
p(x,y)=\begin{cases}
\min\{q(x,y),\frac{\pi({y})q(y,{x})}{\pi(x)}\}, \quad x\neq y\\
1-\int_{x\neq y} p(x,y)
\end{cases}
\end{equationframe}
\begin{equationframe}
\pi(x)p(x,y)=\min\{\pi(x)q(x,y),\pi(y)q(y,x)\}=\pi(y)p(y,x)%
\end{equationframe}
\end{itemize}
\end{frame}
\end{document}
Atualizar: ams equation*
, ams align*
:
Em vez de math
, tcolorbox
também oferece algumas outras caixas matemáticas: ams equation
, ams align
, ams gather
, ...
\documentclass{beamer}
\usepackage[most]{tcolorbox}
\begin{document}
\begin{frame}
\begin{tcolorbox}[ams equation*]
p(x,y)=\begin{cases}
\min\{q(x,y),\frac{\pi({y})q(y,{x})}{\pi(x)}\}, \quad x\neq y\\
1-\int_{x\neq y} p(x,y)
\end{cases}
\end{tcolorbox}
\begin{tcolorbox}[ams nodisplayskip, ams align*]
\pi(x)p(x,y) & =\min\{\pi(x)q(x,y),\pi(y)q(y,x)\}\\
& =\pi(y)p(y,x)%
\end{tcolorbox}
\end{frame}
\end{document}