
Simplemente estoy tratando de poner un marco alrededor de las ecuaciones en las diapositivas de mi proyector.
Para ello utilizo el paquete tcolorbox.
El MWE a continuación produce cuadros donde las ecuaciones están casi alineadas en la base del cuadro. Me gustaría que estuvieran centrados verticalmente.
Sin embargo, usar "valign=center" no tiene ningún efecto.
(Ya tengo una solución para el problema horizontal en la segunda ecuación y simplemente no la incluí por razones 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:
Si uso el preámbulo
\documentclass{beamer}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage[most]{tcolorbox}
\tcbuselibrary{theorems}
\newtcolorbox{equationframe}{
ams nodisplayskip
}
entonces entiendo
Falta $ insertado. \end{marco}
Esto no es problemático, ya que me di cuenta de que usar ams align*
en lugar de ams nodisplayskip
hacer la alineación vertical como quiero, y mi MWE inicial se compila bien. Solo hay un problema con algo que no incluí en el MWE: para ajustar horizontalmente ecuaciones demasiado largas, usé la macro
\newcommand\fiteq[1]{%
\sbox{\mybox}{$\displaystyle#1$}%
\ifdim\wd\mybox>.85\textwidth\resizebox{.85\textwidth}{!}{\usebox{\mybox}}%
\else\usebox{\mybox}\fi%
}
\newsavebox{\mybox}
y luego
\begin{equationframe}
\fiteq{A=......=B}
\end{equationframe}
Desafortunadamente, los comandos de alineación \\
y &
no funcionan dentro de esta macro.
Sólo quiero una caja que contenga ecuaciones. En látex normal, una ecuación horizontal a larga no es tan problemática, pero cuando hay un cuadro alrededor de las ecuaciones y la ecuación atraviesa el límite, parece realmente estúpido.
Hay dos opciones: (1) ajustar el tamaño del cuadro o (2) ajustar el tamaño de la ecuación.
La macro \fiteq{} hace (2), y realmente me gusta su apariencia. Sería bueno si alguien pudiera adaptar la macro para que funcione con comandos de alineación (funciona con la solución anterior, siempre que no se utilicen nuevas líneas ni signos). Si eso no es posible, también sería bienvenida una solución que vaya en la dirección de (1).
Respuesta1
Cargue theorems
la biblioteca (lo hago con la opción de clase most
) y use ams
cualquier otra opción matemática.
ams
configure las partes superior e inferior en modo matemático con \displaystyle
. No necesitas equation
entornos en estas cajas. Y no necesitas 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}
Actualizar: ams equation*
, ams align*
:
En lugar de math
, tcolorbox
también ofrece algunas otras casillas 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}