Beamer y MetaUML: no puedo ver ningún diagrama

Beamer y MetaUML: no puedo ver ningún diagrama

En la compilación, solo veo

ingrese la descripción de la imagen aquí

¿Por qué no es visible la clase? Aquí está el código:

\documentclass{beamer}
\usepackage[shellescape,latex]{gmp}
\usetheme{Montpellier}
\title{Something}
\date{\today}

\begin{document}

\frame{\titlepage}

\section[Outline]{}
\frame{\tableofcontents}

\section{something}
\subsection{Class Diagram}
\frame
{
\frametitle{Frame 1}
    \begin{figure}
        \centering
        \begin{mpost}[mpsettings=input metauml;]
            Usecase.U("Authenticate user",
            "by name, password");
            drawObject(U);        
        \end{mpost}
        \caption{Something}
    \end{figure}
}
\end{document}

Respuesta1

En el apartado 5 de la documentación de gmpencontrará

\usempxclass [⟨options⟩] {⟨class⟩}
Tiene la misma sintaxis que \documentclass. Su propósito es declarar la clase utilizada para las ejecuciones de TeX o LaTeX para preparar los mpxarchivos que METAPOST necesita para dibujar las etiquetas de texto. No debería ser necesario cambiarlo del valor predeterminado (que es el artículo). Pero si está utilizando una clase no estándar con un tamaño de letra no estándar (es decir, no de 10, 11 o 12 puntos), entonces necesitará declarar una clase; de ​​lo contrario, sus etiquetas se escribirán en letra de 10 puntos.

En realidad , no probé el paquete con beamer. Pero cae en esta categoría, por lo que puedes resolver el problema indicando

\usempxclass{article}

en el preámbulo.

\documentclass{beamer}
\usepackage[shellescape,latex]{gmp}
\usempxclass{article}

\usetheme{Montpellier}
\title{Something}
\date{\today}

\begin{document}

\frame{\titlepage}

\section[Outline]{}
\frame{\tableofcontents}

\section{something}
\subsection{Class Diagram}
\begin{frame}
\frametitle{Frame 1}
\begin{figure}
\centering
\begin{mpost}[mpsettings=input metauml]
  Usecase.U("Authenticate user",
   "by name, password");
   drawObject(U);        
\end{mpost}
\caption{Something}
\end{figure}
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

ingrese la descripción de la imagen aquí

Necesitas usar

pdflatex -shell-escape   yourfile

para permitir el back-end de mp.

Aparentemente también beamernecesitas establecer el tamaño de punta:

\documentclass{beamer}
\makeatletter
\def\@ptsize{10}
\makeatother
\usepackage[shellescape,latex]{gmp}
\usetheme{Montpellier}
\title{Something}
\date{\today}

\begin{document}

\frame{\titlepage}

\section[Outline]{}
\frame{\tableofcontents}

\section{something}
\subsection{Class Diagram}
\frame
{
\frametitle{Frame 1}
    \begin{figure}
        \centering
        \begin{mpost}[mpsettings=input metauml;]
            Usecase.U("Authenticate user",
            "by name, password");
            drawObject(U);        
        \end{mpost}
        \caption{Something}
    \end{figure}
}
\end{document}

información relacionada