
使用 Latex Beamer,我想將小型頁面或類似環境中的內容頂部對齊到相同的高度,就好像沒有小型頁面一樣。
最小範例:
\documentclass[t]{beamer}
\usepackage{tikz}
\begin{document}
\setlength\pdfpageheight{1.60cm}%
\setlength\pdfpagewidth{6cm}%
\begin{frame}{A\strut}
\begin{itemize}
\item X
\end{itemize}
\end{frame}
\begin{frame}{B\strut}
\begin{minipage}[t]{2cm}
\vskip 0pt%
\begin{itemize}
\item X
\end{itemize}
\end{minipage}%
\nolinebreak%
\begin{minipage}[t]{2cm}
\vskip 0pt%
\begin{tikzpicture}
\node[fill=gray,minimum width=2cm,minimum height=1cm] {};
\end{tikzpicture}
\end{minipage}%
\end{frame}
\begin{frame}{C\strut}
\begin{tikzpicture}
\node[fill=gray,minimum width=4cm,minimum height=1cm] {};
\end{tikzpicture}
\end{frame}
\end{document}
可以看出, 的\item X
頂部對齊方式在幀 A 和 B 中不同, 的頂部對齊方式在幀 B 和 C 中也不同,最令人困惑的是, 和tikzpicture
之間的對齊方式也不同。\item X
tikzpicture
- 是什麼導致了這種不同的對齊方式?
- 如何將 B 幀中的對齊方式變更為與 A 幀和 C 幀中的對齊方式相同?
答案1
頂部對齊不是基線對齊
\begin{minipage}[t]
將小型頁面與第一個內容行的基線對齊。正如問題中已經使用的那樣,以minipage
a 開頭\vskip 0pt%
會導致基線位於小型頁面的頂部,從而產生真正的頂部對齊。
將其minipage
置於水平模式
若要在小型頁面中獲得與外部相同的行為,必須使用 將該小型頁面置於水平模式\leavemode%
,然後使用\vskip -\baselineskip%
來修正垂直偏移。
把它們放在一起
可以透過啟動每個小頁面來創建所需的效果,如下所示:
\begin{minipage}[t]{2cm}
\leavevmode%
\vskip 0pt%
\vskip -\baselineskip%
完整的最小範例:
\documentclass[t]{beamer}
\usepackage{tikz}
\begin{document}
\setlength\pdfpageheight{1.6cm}%
\setlength\pdfpagewidth{6cm}%
\begin{frame}{A\strut}
\begin{itemize}
\item X
\end{itemize}
\end{frame}
\begin{frame}{B\strut}
\begin{minipage}[t]{2cm}%
\leavevmode%
\vskip 0pt%
\vskip -\baselineskip%
\begin{itemize}
\item X
\end{itemize}
\end{minipage}%
\nolinebreak%
\begin{minipage}[t]{2cm}%
\leavevmode%
\vskip 0pt%
\vskip -\baselineskip%
\begin{tikzpicture}
\node[fill=gray,minimum width=2cm,minimum height=0.55cm] {};
\end{tikzpicture}
\end{minipage}%
\end{frame}
\begin{frame}{C\strut}
\begin{tikzpicture}
\node[fill=gray,minimum width=4cm,minimum height=0.55cm] {};
\end{tikzpicture}
\end{frame}
-\end{document}
答案2
這就是你要找的嗎
\documentclass[t]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{minipage}[t]{.1\textwidth}
A
\end{minipage}
\begin{minipage}[t]{.2\textwidth}
\begin{itemize}
\item X
\item Y
\item Z
\end{itemize}
\end{minipage}
\begin{minipage}[t]{.3\textwidth}
\begin{tikzpicture}
\node[fill=gray,minimum width=2cm,minimum height=1cm] {tikz};
\end{tikzpicture}
\end{minipage}
\end{frame}
\end{document}
另請參閱——https://tex.stackexchange.com/a/272260/197451對於問題\itemize
如果您認為答案符合您的要求,請點擊左側的紅色三角形及其下方的勾號來對答案進行投票