
저는 Beamer로 프리젠테이션을 하고 있는데 \only<.> 및 \boxed{} 사용과 관련하여 도움이 필요합니다.
다음과 같은 효과를 얻고 싶습니다.
a=b+c
a=b+c
c=d
a=b+d
c=d
a=b+\boxed{d}
c=d
다음 코드를 사용했지만 d 주위에 상자를 놓으면 "c=d"도 움직이기 때문에 효과가 마음에 들지 않습니다. 누군가 다른 코드를 찾는 데 도움을 줄 수 있나요?
\begin{align*}
a=b+\only<1-2>c
\only<3>{d}
\only<4>{\boxed{d}}
\end{align*}
\pause
c=d
그래서 "c=d"를 이동하지 않고 "a=b+d"가 나타난 후에 "d boxed"를 얻고 싶습니다.
누군가 나를 도와줄 수 있나요?
답변1
첫 번째:제대로 사용하지 않습니다 align
. 환경 내부에 "c=d"를 쓰고 align
두 방정식을 &
.
두번째:d
너비 와 너비의 차이에 해당하는 "d"를 정확하게 정렬해야 합니다 \boxed{d}
.
두 가지 해결책이 있습니다(프레임이 중앙 정렬되어 있다고 가정). 둘 다 작동해야 하지만 어떻게 보면 두 번째가 더 좋습니다.
\documentclass{beamer}
% For both solutions
\usepackage{calc}
% Just for the second solution
\newlength{\firslength}
\settowidth{\firslength}{\boxed{d}}
\newlength{\secondlength}
\settowidth{\secondlength}{d}
\begin{document}
\begin{frame}
% First solution
\begin{align*}
a=&b+\only<1-2>{\hspace*{(\widthof{\boxed{d}}-\widthof{d})/2}c\hspace*{(\widthof{\boxed{d}}-\widthof{d})/2}}%
\only<3>{\hspace*{(\widthof{\boxed{d}}-\widthof{d})/2}d\hspace*{(\widthof{\boxed{d}}-\widthof{d})/2}}%
\only<4>{\boxed{d}}\\%
\uncover<2->{c=&d}%
\end{align*}
% Second solution
\begin{align*}
a=&b+\only<1-2>{\hspace*{\dimexpr(\firslength-\secondlength)/2}c\hspace{\dimexpr(\firslength-\secondlength)/2}}%
\only<3>{\hspace*{\dimexpr(\firslength-\secondlength)/2}d\hspace{\dimexpr(\firslength-\secondlength)/2}}%
\only<4>{\boxed{d}}\\%
\uncover<2->{c=&d}%
\end{align*}
\end{frame}
\end{document}
답변2
여기서 문제는 \boxed{d}
너비가 d
. 불행히도 Tom Solid의 솔루션은 추가 공백이 삽입되어 어색해 보입니다.
어디에서 오는지 잘 모르겠지만 \boxed
(비머에 의해 간접적으로 로드되는 것 같습니다) 여러 패키지에서 다음과 같이 정의된 것을 발견했습니다.
\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
(또는 이에 상응하는 것). 정의를 자세히 살펴보면 상자 안에 상자 내용물을 둘러싸는 추가 공간과 선 너비가 \fbox
있습니다 . 이것을 사용 하여 추가된 공백을 제거하여 인쇄할 때 상자가 기존 공백으로 넘치도록 하는 새 명령(또는 원하는 이름으로 부르기)을 만들 수 있습니다 .\fboxsep
\fboxrule
\bxed
d
\newcommand{\bxed}[1]{\mbox{\kern-\fboxsep\kern-fboxrule\boxed{#1}\kern-\fboxsep\kern-fboxrule}}
이렇게 하면 원하는 결과를 얻을 수 있습니다.
또한 &
환경이 align
와야합니다.~ 전에그 =
이후에는 없습니다. Tom의 예에서 사이의 간격이ㅏ=는 =와 사이의 간격보다 큽니다.비. 앰퍼샌드를 이동하면 해당 문제가 해결됩니다.