我尝试在 LaTeX 中使用 metapost 代码,但只收到 MP 图标而不是专用图片:
我想要生成的代码示例:
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\selectlanguage{polish}
\usepackage{indentfirst}
\usepackage[shellescape, latex]{gmp}
\gmpoptions{everymp={input expressg;}}
\usepackage{amsmath}
\usepackage[top = 2.50cm, bottom = 2.50cm, left = 2.50cm, right = 2.50cm]{geometry}
%opening
\title{Pole wielokąta. (nr 69, str. 30)}
\author{Adam Kasprzak}
\begin{document}
%\maketitle
\section{Treść}
Dane są dwa współśrodkowe okręgi o promieniach $r=/sgrt{3}$ cm i $R=2$ cm. Pewien wielokąt jest opisany na okręgu o promieniu $r$ i jest wpisany w okrąg o promieniu $R$. Znajdź pole tego wielokąta.
\begin{figure}[htp]
\centering
\begin{mpost}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)();
\end{mpost}
\end{figure}
blablabla
\end{document}
答案1
你需要
pdflatex
使用命令行选项运行-shell-escape
;在盒子里面放点东西,即使什么都不打印,但
btex...etex
也是必要的。
\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\selectlanguage{polish}
\usepackage{indentfirst}
\usepackage[shellescape, latex]{gmp}
\gmpoptions{everymp={input expressg;}}
\usepackage{amsmath}
\usepackage[top = 2.50cm, bottom = 2.50cm, left = 2.50cm, right = 2.50cm]{geometry}
%opening
\title{Pole wielokąta. (nr 69, str. 30)}
\author{Adam Kasprzak}
\begin{document}
%\maketitle
\section{Treść}
Dane są dwa współśrodkowe okręgi o promieniach $r=\sqrt{3}$ cm i $R=2$ cm.
Pewien wielokąt jest opisany na okręgu o promieniu $r$ i jest wpisany w okrąg
o promieniu $R$. Znajdź pole tego wielokąta.
\begin{figure}[htp]
\centering
\begin{mpost}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)(btex etex);
\end{mpost}
\end{figure}
blablabla
\end{document}
答案2
或者,你可以lualatex
使用luamplib
包,它更现代一些,并且避免了混乱的 shell 转义。
以下是更新后的 OP 脚本luamplib
:
\documentclass{article}
\usepackage[polish]{babel}
\selectlanguage{polish}
\usepackage{indentfirst}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\everymplib{input expressg beginfig(0);}\everyendmplib{endfig;}
\usepackage{amsmath}
\usepackage[top = 2.50cm, bottom = 2.50cm, left = 2.50cm, right = 2.50cm]{geometry}
%opening
\title{Pole wielokąta. (nr 69, str. 30)}
\author{Adam Kasprzak}
\begin{document}
%\maketitle
\section{Treść}
Dane są dwa współśrodkowe okręgi o promieniach $r=\sqrt{3}$ cm i $R=2$ cm.
Pewien wielokąt jest opisany na okręgu o promieniu $r$ i jest wpisany w okrąg o
promieniu $R$. Znajdź pole tego wielokąta.
\begin{figure}[htp]
\centering
\begin{mplibcode}
z0 = origin;
drawroundedbox(0, 2.5cm, 3cm, 5mm)("Witaj $e=mc^2$")
\end{mplibcode}
\end{figure}
blablabla
\end{document}
编译它lualatex
得到以下内容: