{"id":3720,"date":"2013-08-31T08:44:36","date_gmt":"2013-08-31T00:44:36","guid":{"rendered":"http:\/\/lttt.blog.ustc.edu.cn\/?p=3720"},"modified":"2013-08-31T08:44:36","modified_gmt":"2013-08-31T00:44:36","slug":"metapost%e4%bd%9c%e5%9b%be%e5%ae%8f%e5%8c%85mpgraphics%e7%9a%84%e4%b8%80%e7%82%b9%e7%bb%8f%e9%aa%8c","status":"publish","type":"post","link":"https:\/\/lttt.vanabel.cn\/?p=3720","title":{"rendered":"MetaPost\u4f5c\u56fe\u5b8f\u5305mpgraphics\u7684\u4e00\u70b9\u7ecf\u9a8c"},"content":{"rendered":"<p>MetaPost\u662f\u5e38\u89c1\u7684\u4f5c\u56fe\u5b8f\u5305, \u5bf9\u4f5c2\u7ef4\u56fe\u5f62\u662f\u6bd4\u8f83\u65b9\u4fbf\u7684. \u800c\u4e14\u4ed6\u8fd8\u80fd\u751f\u6210\u5404\u79cd\u56fe\u7247\u683c\u5f0f. \u4f46\u662fWinEdt\u81ea\u5e26\u7684Metapost\u7f16\u8bd1\u529f\u80fd\u8fd8\u4e0d\u591f\u5f3a\u5927, \u7a0d\u663e\u9ebb\u70e6, \u6211\u540e\u6765\u90fd\u6539\u7528\u4f5c\u56fe\u5b8f\u5305mpgraphics\u6765\u5c06\u4f5c\u56fe\u4ee3\u7801\u548clatex\u4ee3\u7801\u6574\u5408\u5230\u4e00\u8d77.<\/p>\n<h4 class=\"wmd-title\" id=\"\">\u57fa\u672c\u7684\u4f8b\u5b50<\/h4>\n<h5 class=\"wmd-title\" id=\"mpgraphics\">mpgraphics\u7684\u5b89\u88c5<\/h5>\n<p>\u9996\u5148\u4e0b\u8f7d<a href=\"https:\/\/lttt.vanabel.cn\/wp-content\/uploads\/2013\/08\/mpgraphics.zip\">mpgraphics.zip<\/a>\u5e76\u89e3\u538b\u51fampgraphics.sty. \u4f60\u53ef\u4ee5\u5c06\u5b83\u653e\u5230\u5f53\u524dtex\u6587\u6863\u6240\u5728\u76ee\u5f55(\u540c\u4e00\u76ee\u5f55). \u8fd9\u6837\u5c31\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528\u4e86. \u4e5f\u53ef\u4ee5\u5c06\u5176\u653e\u5230\u7c7b\u4f3c<code>F:\\CTEX\\UserData\\tex\\latex\\mpgraphics<\/code>\u7684\u76ee\u5f55\u4e2d, \u5e76\u5237\u65b0miktex\u7684database: \u5728WinEdt\u4e2d\u627e\u5230<strong>MikTex options<\/strong>-&gt;\u5728General\u9762\u677f\u4e0b\u627e\u5230\u90a3\u4e2a<strong>Refresh FNDB<\/strong>, \u5355\u51fb\u5373\u53ef.<\/p>\n<p><!--more--><\/p>\n<h5 class=\"wmd-title\" id=\"mpgraphics-1\">mpgraphics\u7684\u6d4b\u8bd5<\/h5>\n<p>\u4f5c\u4e3a\u6d4b\u8bd5, \u8bd5\u7740\u8fd0\u884c\u5982\u4e0b\u7684latex\u6587\u4ef6.<\/p>\n<pre>\n\\documentclass{amsart}\n\\usepackage{mpgraphics}\n\n\\title{Test of MetaPost}\n\\author{Van Abel}\n\\date{}\n\\begin{document}\n  \\maketitle\n  \\begin{mpdisplay}\n    draw fullcircle scaled 100pt withpen pencircle scaled 1pt;\n    draw origin withpen pencircle scaled 3pt;\n    label.rt(btex $O$ etex, origin);\n  \\end{mpdisplay}\n\\end{document}\n<\/pre>\n<p>\u4e8b\u5b9e\u4e0a, \u9053\u7406\u5f88\u7b80\u5355, \u5c31\u662f\u628a\u539f\u6765\u7684<code>beginfig(1)<\/code>\u4e0e<code>endfig;<\/code>\u4e4b\u95f4\u7684\u4ee3\u7801\u653e\u5230\u73b0\u5728\u7684<code>mpdisplay<\/code>\u73af\u5883\u4e2d.<\/p>\n<p>\u8fd0\u884c\u65f6\u9700\u8981\u8bbe\u7f6e<code>--shell-escape<\/code>. \u4f8b\u5982\u4f60\u7528latex\u7f16\u8bd1\u4e0a\u9762\u7684\u6587\u4ef6\u7684\u8bdd, \u90a3\u4e48\u8981\u5728Winedt\u7684<strong>Options<\/strong>-&gt;<strong>Execution Modes<\/strong>\u9762\u677f\u4e0b-&gt;\u627e\u5230<strong>LaTeX<\/strong>(\u4f4d\u4e8eAccessories\u5217\u8868\u4e0b), \u8bbe\u7f6e\u5176\u8fd0\u884c\u9644\u52a0\u5f00\u5173(Switches)\u4e3a<code>%0 --shell-escape<\/code>, \u539f\u6765\u9ed8\u8ba4\u7684\u662f<code>%0<\/code>. \u5176\u4ed6\u7f16\u8bd1\u65b9\u5f0f\u7c7b\u4f3c\u4fee\u6539\u5373\u53ef.<\/p>\n<p>\u66f4\u52a0\u9ad8\u7ea7\u7684\u7528\u6cd5\u53ef\u4ee5\u53c2\u8003<a href=\"https:\/\/lttt.vanabel.cn\/wp-content\/uploads\/2013\/08\/mpgraphics.pdf\">mpgraphics\u7684\u8bf4\u660e\u6587\u6863<\/a>.<\/p>\n<h4 class=\"wmd-title\" id=\"-1\">\u9ad8\u7ea7\u7528\u6cd5\u793a\u4f8b<\/h4>\n<h5 class=\"wmd-title\" id=\"latextesttex\">LaTeX\u4e3b\u6587\u4ef6<code>test.tex<\/code>\u5185\u5bb9\u5982\u4e0b<\/h5>\n<pre>\n\\documentclass{amsart}\n\\usepackage{mpgraphics}\n%\\NoProcess[2]\n\\input figs\/mymetafun.mp\n\n\\title{Test of MetaPost}\n\\author{Van Abel}\n\\date{}\n\\begin{document}\n  \\maketitle\n  \\begin{figure}[htbp]\n    \\centering\n    \\input figs\/fig1.mp\n    %\\includegraphics{figs\/test-fig1}\n  \\end{figure}\n\\end{document}\n<\/pre>\n<p>\u800c\u5728<code>test.tex<\/code>\u540c\u4e00\u76ee\u5f55\u4e0b\u65b0\u5efa\u56fe\u7247\u6587\u4ef6\u5939<code>figs<\/code>, \u5176\u4e2d\u5305\u542b\u4e24\u4e2a\u6587\u4ef6:<code>mymetafun.mp<\/code>\u4e0e<code>fig1.mp<\/code>, \u4ed6\u4eec\u5206\u522b\u5305\u542b\u4e86\u4e00\u4e9b\u81ea\u5b9a\u4e49\u51fd\u6570\u4e0e\u4f5c\u56fe\u7684\u6e90\u4ee3\u7801.<\/p>\n<h5 class=\"wmd-title\" id=\"mymetafunmp\"><code>mymetafun.mp<\/code>\u7684\u793a\u4f8b<\/h5>\n<pre>\n\\begin{ltxpreamble}\n \\usepackage{bm}\n\\end{ltxpreamble}\n\n\\begin{mpdefs}\nu:=10pt;\n%%\u753b\u7f51\u683c\u4ee5\u65b9\u4fbf\u5b9a\u4f4d\ndef draw_grid =\nbegingroup\n save p, pat, lenx, leny, N;\n pair p[]; path pat[];\n numeric lenx, leny, N;\n lenx:=25u; leny:=25u; N:=lenx\/u;\n for i=0 upto (2N):\n   p0:=(-lenx+i*lenx\/N,leny);\n   p1:=(-lenx+i*lenx\/N,-leny);\n   p2:=(-lenx,leny-i*leny\/N);\n   p3:=(lenx,leny-i*leny\/N);\n   if (i-5*floor(i\/5)=0) :\n   pickup pencircle scaled 1.5pt;\n   else :\n   pickup pencircle scaled .7pt;\n   fi;\n   draw p0--p1 withcolor 0.8*white;\n   draw p2--p3 withcolor 0.8*white;\n endfor;\n   drawdot(origin);\nendgroup;\nenddef;\n\n%%\u753b\u5e73\u884c\u56db\u8fb9\u5f62\ndef draw_parallelfour(expr A, drr, drl, lr, ll) =\nbegingroup\n  save p;\n  pair p[];\n  p0:=A; p1:=A+unitvector(drr)*lr;\n  p3:=A+unitvector(drl)*ll;\n  p2:=p1+p3-p0;\n  pickup pencircle scaled 1pt;\n  draw p0--p1--p2--p3--cycle;\nendgroup;\nenddef;\n\n%%\u753b\u6d41\u5f62\ndef draw_manifold(expr A, B, deg) =\nbegingroup\n  save dr, p;\n  pair dr[], p[];\n  dr0:=unitvector(1,2);\n  dr1:=unitvector(5,1);\n\n  p0=A;\n  p3=A+dr0*6u;\n  p1=A+dr1*10u;\n  p2=p3+p1-p0+B;\n  pickup pencircle scaled 1pt;\n  draw p0{dr1 rotated deg}..p1;\n  draw p1{dr0 rotated deg}..p2;\n  draw p3{dr1 rotated deg}..p2;\n  draw p0{dr0 rotated (1.2deg)}..p3;\nendgroup;\nenddef;\n\n%%\u753b\u76f4\u89d2\u7b26\u53f7\ndef draw_prep_angle(expr O, drec, len) =\nbegingroup\n  save p, dr;\n  pair p[], dr[];\n\n  dr0:=unitvector(drec);\n  dr1:=dr0 rotated 90;\n  p1:=dr0*len;\n  p3:=dr1*len;\n  p2:=p1+p3;\n  pickup defaultpen;\n  draw (p1--p2--p3) shifted O;\nendgroup;\nenddef;\n\n%%\u753b\u4e8c\u7ef4\u6807\u67b6\ndef draw_coordtwo(expr O, dr, len, nolab) =\nbegingroup\n save p, pat;\n pair p[]; path pat[];\n p0:=O-.3*len*dr;\n p1:=O+.7*len*dr;\n p2:=p1 rotatedaround(O,90);\n pat0:=p0--p1;\n drawarrow pat0;\n drawarrow pat0 rotatedaround(O,90);\n if nolab=1:\n else :\n label.bot(btex $x$ etex, p1);\n label.rt(btex $y$ etex, p2);\n fi;\nendgroup;\nenddef;\n\n%%\u7528\u659c\u7ebf\u586b\u5145\ndef draw_clip(expr pat) =\nbegingroup\n    for i=0 upto 30:\n        draw (-30u*dir(40)--30u*dir(40)) shifted (0,i*.3u);\n        draw (-30u*dir(40)--30u*dir(40)) shifted (0,-i*.3u);\n    endfor;\n    clip currentpicture to pat;\nendgroup;\nenddef;\n\\end{mpdefs}<\/pre>\n<h5 class=\"wmd-title\" id=\"fig1mp\"><code>fig1.mp<\/code>\u7684\u793a\u4f8b<\/h5>\n<pre>\n\\begin{mpdisplay}\n    draw fullcircle scaled 100pt withpen pencircle scaled 1pt;\n    draw origin withpen pencircle scaled 3pt;\n    label.rt(btex $O$ etex, origin);\n\\end{mpdisplay}<\/pre>\n<p>\u8fd0\u884c\u65f6\u9996\u5148\u76f4\u63a5\u8fd0\u884c<code>test.tex<\/code>, \u5982\u679c\u4f60\u60f3\u5f97\u5230pdf\u7684\u56fe\u7247, \u8fd9\u7528pdflatex\u7f16\u8bd1\u5373\u53ef, \u5982\u679c\u4f60\u60f3\u5f97\u5230eps\u7684\u56fe\u7247\u76f4\u63a5\u7528latex\u7f16\u8bd1\u5373\u53ef. \u628a\u7f16\u8bd1\u540e\u5f97\u5230\u7684\u56fe\u7247\u590d\u5236\u5230figs\u56fe\u7247\u6587\u4ef6\u5939\u4e0b. \u8fd9\u65f6\u4f60\u53ef\u4ee5\u542f\u7528\u540e\u9762\u7684\u63d2\u56fe\u547d\u4ee4(test.tex\u768414\u884c), \u800c\u6ce8\u91ca\u6389\u524d\u9762\u7684mpgraphics\u4f5c\u56fe\u547d\u4ee4(test.tex\u768413\u884c). \u8fd9\u6837\u522b\u4eba\u5c31\u4e0d\u9700\u8981\u4efb\u4f55\u8bbe\u7f6e\u5c31\u53ef\u4ee5\u76f4\u63a5\u7f16\u8bd1\u4e86, \u6362\u8a00\u4e4b, \u6211\u4eec\u53ea\u662f\u628ampgraphics\u62ff\u6765\u505a\u751f\u6210pdf\u6216\u8005eps\u56fe\u7247\u7684\u4e2d\u73af\u8282.<\/p>\n<p>\u6700\u7ec8\u7684\u6587\u4ef6<a href=\"https:\/\/lttt.vanabel.cn\/wp-content\/uploads\/2013\/08\/test.zip\">\u4e0b\u8f7d<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MetaPost\u662f\u5e38\u89c1\u7684\u4f5c\u56fe\u5b8f\u5305, \u5bf9\u4f5c2\u7ef4\u56fe\u5f62\u662f\u6bd4\u8f83\u65b9\u4fbf\u7684. \u800c\u4e14\u4ed6\u8fd8\u80fd\u751f\u6210\u5404 &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/lttt.vanabel.cn\/?p=3720\"> <span class=\"screen-reader-text\">MetaPost\u4f5c\u56fe\u5b8f\u5305mpgraphics\u7684\u4e00\u70b9\u7ecf\u9a8c<\/span> \u9605\u8bfb\u66f4\u591a &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[555,568,176],"class_list":["post-3720","post","type-post","status-publish","format-standard","hentry","category-latex","tag-metapost","tag-mpgraphics","tag-176"],"_links":{"self":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/3720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3720"}],"version-history":[{"count":0,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/3720\/revisions"}],"wp:attachment":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}