\includegraphics, das innerhalb und außerhalb der Figure-Umgebung unterschiedlich funktioniert

\includegraphics, das innerhalb und außerhalb der Figure-Umgebung unterschiedlich funktioniert

Ich möchte \includegraphicses neu definieren, sodass es innerhalb einer figureUmgebung wie gewohnt funktioniert, außerhalb von Umgebungen jedoch automatisch zentriert wird figure.

Dies ist mein Versuch:

\documentclass{article}
\usepackage{graphicx}
\makeatletter
\let\old@includegraphics\includegraphics
\renewcommand\includegraphics[2][]{
    \ifx\@currenvir\@figureenvname
        \old@includegraphics[#1]{#2}
    \else
        \begin{center}\old@includegraphics[#1]{#2}\end{center}
    \fi}
\newcommand*\@figureenvname{figure}
\makeatother
\begin{document}
\includegraphics[width=0.4\textwidth]{example-image-a}
\begin{figure}[ht]
    \includegraphics[width=0.4\textwidth]{example-image-a}
\end{figure}
\end{document}

Dies funktioniert wie vorgesehen (erste Abbildung zentriert und zweite Abbildung linksbündig).

Aber sobald ich diesen Befehl verwende beamer, funktioniert es nicht mehr:

\documentclass{beamer}
\usepackage{graphicx}
\makeatletter
\let\old@includegraphics\includegraphics
\renewcommand\includegraphics[2][]{
    \ifx\@currenvir\@figureenvname
        \old@includegraphics[#1]{#2}
    \else
        \begin{center}\old@includegraphics[#1]{#2}\end{center}
    \fi}
\newcommand*\@figureenvname{figure}
\makeatother
\begin{document}
\begin{frame}
\includegraphics[width=0.4\textwidth]{example-image-a}
\begin{figure}[ht]
    \includegraphics[width=0.4\textwidth]{example-image-a}
\end{figure}
\end{frame}
\end{document}

Beide Figuren sind zentriert. Was ist das Problem? Wie kann ich es beheben?

verwandte Informationen