我正在用 Beamer 做一个演示文稿,我在 TikZ 中画了一些图形,我将它们插入到演示文稿中\input{footikz.tex}
由于某种原因,tikz 图片出现在了它们应该在的位置的右侧。下面是我的部分代码,我想知道是否有人能发现我犯的一个愚蠢的错误?
\begin{frame}
\frametitle{\insertsubsection}
\begin{alertblock}{\insertsubsubsection}
\begin{figure}
\centering
\begin{subfigure}[c]{0.2\textwidth}
{\scalebox{0.4}{\input{Figures/Tikz/Arrows0.tex}}}
\end{subfigure}
~
\begin{subfigure}[c]{0.2\textwidth}
{\scalebox{0.4}{\input{Figures/Tikz/Arrows180.tex}}}
\end{subfigure}
~
\begin{subfigure}[c]{0.2\textwidth}
{\scalebox{0.4}{\input{Figures/Tikz/Arrows360.tex}}}
\end{subfigure}
\caption{caption}
\end{figure}
\end{alertblock}
\end{frame}
在此例中,第一个子图出现在页面的中心,接下来的两个子图位于其右侧。我希望它们位于左侧、中间、右侧。
在演示的后面,我有一个非常相似的布局,并且效果很好。
谢谢。
答案1
请在以后始终发布完整的代码。
这是一种替代方法。由于您不使用单独的标题(在我看来,演示中不需要单独的标题),因此您无需使用subcaption
包。简单minipage
就可以了。此外,如果您可以将图片另存为.tikz
文件(我希望您使用tikz
这些图片,如果不能,我将放弃这个答案),您可以使用tikzscale
包,然后tikz
可以使用常规\includegraphics
命令包含文件,所有键如width
、height
等都可用。
示例代码:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{tikzscale}
\usepackage{filecontents}
\begin{filecontents*}{test1.tikz}
\begin{tikzpicture}
\node {Here};
\draw (0,0) circle (2cm);
\end{tikzpicture}
\end{filecontents*}
\begin{filecontents*}{test2.tikz}
\begin{tikzpicture}
\node {Here};
\draw (0,0) circle (3cm);
\end{tikzpicture}
\end{filecontents*}
\begin{filecontents*}{test3.tikz}
\begin{tikzpicture}
\node {Here};
\draw (0,0) circle (4cm);
\end{tikzpicture}
\end{filecontents*}
\begin{document}
\begin{frame}
\frametitle{\insertsubsection}
\begin{alertblock}{\insertsubsubsection}
\begin{figure}
\centering
\begin{minipage}{0.2\textwidth}
\includegraphics[width=\linewidth]{test1.tikz}
\end{minipage}
\hfill
\begin{minipage}{0.2\textwidth}
\includegraphics[width=\linewidth]{test2.tikz}
\end{minipage}
\hfill
\begin{minipage}{0.2\textwidth}
\includegraphics[width=\linewidth]{test3.tikz}
\end{minipage}
\caption{caption}
\end{figure}
\end{alertblock}
\end{frame}
\end{document}