미니페이지 콘텐츠를 수직으로 정렬

미니페이지 콘텐츠를 수직으로 정렬

라텍스 비머를 사용하여 미니페이지나 유사한 환경의 콘텐츠를 마치 미니페이지가 없는 것처럼 동일한 높이로 정렬하고 싶습니다.

최소한의 예:

\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

답변이 귀하의 요구 사항에 부합한다고 생각되면 왼쪽의 빨간색 삼각형과 그 아래의 체크 표시를 클릭하여 답변에 찬성 투표해 주세요.

관련 정보