垂直對齊小型頁面的內容

垂直對齊小型頁面的內容

使用 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 Xtikzpicture

由於小頁面的使用而導致頂部對齊方式不同

  • 是什麼導致了這種不同的對齊方式?
  • 如何將 B 幀中的對齊方式變更為與 A 幀和 C 幀中的對齊方式相同?

答案1

頂部對齊不是基線對齊

\begin{minipage}[t]將小型頁面與第一個內容行的基線對齊。正如問題中已經使用的那樣,以minipagea 開頭\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

如果您認為答案符合您的要求,請點擊左側的紅色三角形及其下方的勾號來對答案進行投票

相關內容