![Metapost 中的图表比例不同。我该如何改进?](https://linux22.com/image/460248/Metapost%20%E4%B8%AD%E7%9A%84%E5%9B%BE%E8%A1%A8%E6%AF%94%E4%BE%8B%E4%B8%8D%E5%90%8C%E3%80%82%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E6%94%B9%E8%BF%9B%EF%BC%9F.png)
我对我的元帖子 图形。我的图表在不同秤。
我将附上它在页面上的显示示例。
在第二张图,你可以清楚地看到其名称和操作系统箭头。
然而,在第一张图上, 如你看到的,操作系统箭头和图形名称非常非常小。
我还补充.mp文件。也许我必须改变吨?你能给我什么建议?:)
\usepackage{amsmath}
\begin{document}
\includegraphics[width=0.45\textwidth]{example-image-a}
\vspace{\baselineskip}
\includegraphics[width=0.45\textwidth]{example-image-b}
\end{document}
文件1.mp:
prologues:=3;
verbatimtex
%&latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[estonian]{babel}
\begin{document}
etex;
beginfig(1);
numeric u;
u := 1cm;
path kover;
kover:=(0,0)
for t:=0.01 step 0.1 until 6.75:
..((3*t)*(cosd (360*t/3.14))*u, (3*t)*(sind (360*t/3.14))*u)
endfor;
draw kover;
drawarrow (0,0)--(8*3.14*u,0);
draw (0,0)--(10*(3.14/2)*u, 10*(3.14/2)*u);
label.top(btex $\rho = 3\varphi$ etex, ((-3*3.14)*u, (7*3.14/2)*u));
endfig;
end
文件2.mp:
prologues:=3;
verbatimtex
%&latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[estonian]{babel}
\begin{document}
etex;
beginfig(2);
numeric u;
u := 1cm;
path kover;
kover:=(0,0)
for t:=0.01 step 0.01 until 6.31:
..((t/2)*(cosd (360*t/3.14))*u, (t/2)*(sind (360*t/3.14))*u)
endfor;
draw kover;
path koverm;
koverm:=(0,0)
for t:=0.01 step 0.01 until 4.1:
..((-t/2)*(cosd (360*t/3.14))*u, (t/2)*(sind (360*t/3.14))*u)
endfor;
draw koverm dashed evenly;
drawarrow (0,0)--(1.2*3.14*u,0);
label.top(btex $x$ etex, (1.2*3.14*u, 0));
label.top(btex $\rho = \frac{\varphi}{2}$ etex, ((3.14/1.5)*u, (3.14/4)*u));
endfig;
end
答案1
尝试对图 1 执行此代码。
beginfig(1);
numeric u;
u := 1cm;
path kover;
kover:=(0,0)
for t:=0.01 step 0.01 until 6.75:
..((t/2)*(cosd (360*t/3.14))*u, (t/2)*(sind (360*t/3.14))*u)
endfor;
draw kover;
drawarrow (0,0)--(1.2*3.14*u,0);
draw (0,0)--(4*(3.14/5)*u, 5*(3.14/5)*u);
label.top(btex $x$ etex, (1.2*3.14*u, 0));
label.top(btex $\rho = 3\varphi$ etex, ((3.14/1.5)*u, (3.14/4)*u));
endfig;
答案2
不要使用,width=0.45\textwidth
因为这将使用任意比例因子。使用 scale=0.2
或您需要的任何比例,对每个比例使用相同的比例。您还应该删除\vspace
两个图像之间的,因为它无法在该位置添加垂直空间。
答案3
看起来你希望图片大小大致相同。由于你执行了 rho=3phi 和 rho=phi/2,并且对 phi 使用大致相同的域,因此使用不同的比例可能很有意义。下面我展示了使用u:=0.2cm
和得到的结果u:=1.2cm
。
另外,我将代码直接包含在我的 tex 文件中(我使用 ConTeXt,因此看起来有点不同)。您可以在 LaTeX 中执行类似操作,例如使用luamplib包。这样做的另一个好处是,您可以获得与文档中使用的字体相同的字体,而无需缩放。
\starttext
\startplacefloat[figure]
\startcombination[nx=2,ny=1]
{\startMPcode
numeric u;
u := .2cm;
path kover;
kover:=(0,0)
for t:=0.01 step 0.1 until 6.75:
..((3*t)*(cosd (360*t/3.14))*u, (3*t)*(sind (360*t/3.14))*u)
endfor ;
draw kover;
drawarrow (0,0)--(8*3.14*u,0);
draw (0,0)--(10*(3.14/2)*u, 10*(3.14/2)*u);
label.top(btex $\rho = 3\varphi$ etex, ((-3*3.14)*u, (7*3.14/2)*u));
\stopMPcode}{(a)}
{\startMPcode
numeric u;
u := 1.2cm;
path kover;
kover:=(0,0)
for t:=0.01 step 0.01 until 6.31:
..((t/2)*(cosd (360*t/3.14))*u, (t/2)*(sind (360*t/3.14))*u)
endfor ;
draw kover;
path koverm;
koverm:=(0,0)
for t:=0.01 step 0.01 until 4.1:
..((-t/2)*(cosd (360*t/3.14))*u, (t/2)*(sind (360*t/3.14))*u)
endfor ;
draw koverm dashed evenly;
drawarrow (0,0)--(1.2*3.14*u,0);
label.top(btex $x$ etex, (1.2*3.14*u, 0));
label.top(btex $\rho = \frac{\varphi}{2}$ etex, ((3.14/1.5)*u, (3.14/4)*u));
\stopMPcode}{(b)}
\stopcombination
\stopplacefloat
\stoptext
编译后context
得到
祝您 MetaPosting 愉快!