我已经创建了一个浮点数newfloat 包用于图形和图表。这样,我可以使用与图形浮动环境不同的标题标签和计数器:
图 1 - Tresca 应力与频率的关系,
而不是
图 1 - Tresca 应力与频率的关系
它在文章文档类中运行得很好。
问题是,我正在制作一个 beamer 演示文稿,我想在其中使用我的自定义浮动环境。然而,它似乎在
\begin{frame}
[...]
\end{frame}
这是我的 MWE:
\documentclass{beamer}
\usepackage{newfloat}
\usepackage{pgfplots}
\DeclareFloatingEnvironment[fileext=frm,name=Graphe]{graph}
\pgfplotsset{compat=1.13}
\begin{document}
%\begin{frame}
\begin{graph}
\centering
\begin{tikzpicture}
\begin{axis}
[
height=5cm,
width=10cm,
grid=major,
grid style={thin},
xlabel=Fréquence (Hz),
ylabel=Contrainte de Tresca (MPa),
xmin=25,
ymin=0,
xmax=55,
ymax=100
]
\addplot [mark=*,line width=1pt]
table [x=f, y=t, col sep=space] {TrescaVsFrequency.csv};
\end{axis}
\end{tikzpicture}
\caption{Contrainte maximale de Tresca calculée en fonction de la fréquence \label{TrescaVsFreq}}
\end{graph}
%\end{frame}
\end{document}
如果我取消注释
%\begin{frame}
和
%\end{frame}
图表没有显示,我得到了一个可怕的
“LaTeX 错误:不在外部 par 模式中。
未定义控制序列
缺失数字,视为零”
任何帮助都感激不尽。
答案1
您可以定义一个普通的新环境来改变标题的行为。可能有更简洁的方法来实现这一点,但快速破解可能是:
\documentclass{beamer}
%\usepackage{newfloat}
\usepackage{pgfplots}
%\DeclareFloatingEnvironment[fileext=frm,name=Graphe]{graph}
\newenvironment{graph}{%
\setbeamertemplate{caption}{%
\raggedright
{%
\usebeamercolor[fg]{caption name}%
\usebeamerfont*{caption name}%
Graph%
\usebeamertemplate{caption label separator}%
}%
\insertcaption\par
}
\begin{figure}%
}{%
\end{figure}%
}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{frame}
\begin{graph}
\centering
\begin{tikzpicture}
\path[fill=red] (90,100) ellipse (1.4cm and 1.75cm);
\end{tikzpicture}
\caption{Contrainte maximale de Tresca calculée en fonction de la fréquence \label{TrescaVsFreq}}
\end{graph}
\end{frame}
\end{document}