Beamer と MetaUML - 図が表示されない

Beamer と MetaUML - 図が表示されない

コンパイルすると、

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

クラスが表示されないのはなぜでしょうか? コードは次のとおりです:

\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}

答え1

gmpのドキュメントのセクション5で

\usempxclass [⟨options⟩] {⟨class⟩}
これは と同じ構文です\documentclass。その目的は、METAPOST がテキスト ラベルを描画するために必要なファイルを準備するために、TeX または LaTeX の実行に使用するクラスを宣言することですmpx。デフォルト (article) から変更する必要はありません。ただし、非標準のクラスを非標準の書体サイズ (つまり、10、11、または 12 ポイント サイズ以外) で使用する場合は、クラスを宣言する必要があります。そうしないと、ラベルは 10 ポイント書体でタイプセットされます。

実際には、パッケージを でテストしたわけではありませんbeamer。しかし、このカテゴリに該当するので、次のように記述することで問題を解決できます。

\usempxclass{article}

前文に。

\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}

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

答え2

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

使用する必要がある

pdflatex -shell-escape   yourfile

mp バックエンドを許可します。

また、どうやらbeamerポイントサイズを設定する必要があるようです:

\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}

関連情報