テキストとノード内の最初の項目間の垂直方向の分離が一貫していません

テキストとノード内の最初の項目間の垂直方向の分離が一貫していません

追加されたコードにより、次のスライドが生成されます。

ここに画像の説明を入力してください

4 つの長方形ノードのコードは互いに等しいのですが、長方形内のテキストと最初の項目間の垂直方向の間隔がTestbox 1他のボックスよりも狭くなっています。間違いを突き止めるのに長い時間を費やした後、疲れた目にはついに助けが必要になりました。


\documentclass[
    handout
]{beamer}
\usepackage{tikz}

\tikzset{
   X/.style={rounded corners=5pt, line width=0.75pt, 
             rectangle,text width=4.5cm, align=left, 
             minimum height=3cm,draw},
   T/.style={font=\small,text width=4.5cm,anchor=north west}
}

\newcommand\XBox[1]{%
   \node[X, 
         append after command={
            node[T] at (\tikzlastnode.north west) {%
               #1
            }
         }
   ] {}; 
}

\begin{document}

\begin{frame}{Test slide}
   \begin{center}
      \begin{tikzpicture}

         \matrix[column sep=0.5cm, row sep=0.5cm, ampersand replacement=\&]{%
            \uncover<2->{%
               \XBox{%
                  Testbox 1
                  \begin{itemize}
                     \item Test 1
                  \end{itemize}
               }
            }
            \& 
            \uncover<3->{%
               \XBox{%
                  Testbox 2
                  \begin{itemize}
                     \item Test 2
                  \end{itemize}
               }
            }
            \\
            \uncover<5->{%
               \XBox{%
                  Testbox 4
                  \begin{itemize}
                     \item Test 4
                  \end{itemize}
               }
            }
            \& 
            \uncover<4->{%
               \XBox{%
                  Testbox 3
                  \begin{itemize}
                     \item Test 3
                  \end{itemize}
               }
            }
            \\
         };
      \end{tikzpicture}
   \end{center}
\end{frame}

\end{document}

答え1

疑問がある場合は、\leavevmode:)を使用してください。

\documentclass[
    handout
]{beamer}
\usepackage{tikz}

\tikzset{
   X/.style={rounded corners=5pt, line width=0.75pt, 
             rectangle,text width=4.5cm, align=left, 
             minimum height=3cm,draw},
   T/.style={font=\small,text width=4.5cm,anchor=north west}
}

\newcommand\XBox[1]{%
   \node[X, 
         append after command={
            node[T] at (\tikzlastnode.north west) {%
               #1%
            }%
         }%
   ] {}; 
}

\begin{document}

\begin{frame}{Test slide}
   \begin{center}\leavevmode
      \begin{tikzpicture}

         \matrix[column sep=0.5cm, row sep=0.5cm, ampersand replacement=\&]{%
            \uncover<2->{%
               \XBox{%
                  Testbox 1%
                  \begin{itemize}
                     \item Test 1
                  \end{itemize}
               }
            }
            \& 
            \uncover<3->{%
               \XBox{%
                  Testbox 2
                  \begin{itemize}
                     \item Test 2
                  \end{itemize}
               }
            }
            \\
            \uncover<5->{%
               \XBox{%
                  Testbox 4
                  \begin{itemize}
                     \item Test 4
                  \end{itemize}
               }
            }
            \& 
            \uncover<4->{%
               \XBox{%
                  Testbox 3
                  \begin{itemize}
                     \item Test 3
                  \end{itemize}
               }
            }
            \\
         };
      \end{tikzpicture}
   \end{center}
\end{frame}

\end{document}

ここに画像の説明を入力してください

関連情報