Metapost 中的图表比例不同。我该如何改进?

Metapost 中的图表比例不同。我该如何改进?

我对我的元帖子 图形。我的图表在不同

我将附上它在页面上的显示示例。

第二张图,你可以清楚地看到其名称操作系统箭头

然而,在第一张图上, 如你看到的,操作系统箭头和图形名称非常非常小

我还补充.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;

A

答案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 愉快!

相关内容