This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

lỗi trong metapost khi dùng btex ... etex

Added by almost 3 years ago

Tôi đang học cách sử dụng metapost.
Tôi gặp vấn đề như sau

Đây là nội dung file c.mp đầu vào

input metauml;
input TEX;
beginfig(5);
  Note.A("This class implements the formula:", 
          TEX("$\sum_1^n f(x)\cdot dx$"));
  drawObjects(A);
endfig;
end

tôi biên dịch bằng lệnh sau

mpost c.mp

chương trình báo lỗi như sau

>> mptextmp.mp
>> mptextmp.mpx
! Unable to make mpx file.
l.1 btex
         $\sum_1^n f(x)\cdot dx$ etex
Transcript written on c.log.

tôi đã thử rất nhièu đoạn mã khác trong cuốn mpman.pdf

nhưng cứ gặp btex là bị lỗi như đã nêu

rất mong mọi người giúp đỡ


Replies (6)

RE: lỗi trong metapost khi dùng btex ... etex - Added by almost 3 years ago

Bạn thử đoạn mã sau

prologues:=2;
verbatimtex
%&latex
\documentclass{article} 
%\usepackage[utf8]{vietnam}
\begin{document}
etex

input metauml;
% input TEX;

beginfig(5);
  Note.A("This class implements the formula:", 
          TEX("$\sum_1^n f(x)\cdot dx$"));
  drawObjects(A);
endfig;
end

Cách dùng input TEX thì mình không rành, tanphu sẽ giúp bạn sau.

Votes: 1/1

RE: lỗi trong metapost khi dùng btex ... etex - Added by tanphu almost 3 years ago

Theo mình nghĩ thì macro metauml này của MetaPOST chỉ tạm thời hỗ trợ in ra tên node dưới dạng chuỗi (string) đặt trong hai dấu " ". Cái gì đặt trong hai dấu nháy này thì được coi như là string. Khổ nổi thằng metauml nó bắt phải để tên node trong hai dấu nháy đó. Vì vậy nên ta không dùng công thức toán được. Bạn thử sửa lại đoạn mã thành như sau thì không có lỗi (không dùng công thức toán).

input metauml;
%input TEX;
beginfig(5);
  Note.A("This class implements the formula:");
  drawObjects(A);
endfig;
end

Muốn sử dụng được công thức toán chắc phải hack trong tập tin metauml.mp, điều này thì không dễ.

RE: lỗi trong metapost khi dùng btex ... etex - Added by almost 3 years ago

Gửi bạn Z

theo như tôi biết thì
input TEX chỉ là lệnh thay thế cho đoạn mã btex ..... etex ở dưới

tôi sử dụng texlive 2009,

đây là đường link mà tôi đã sử dụng để lấy đoạn code ở trên

http://metauml.sourceforge.net/old/notes.html

RE: lỗi trong metapost khi dùng btex ... etex - Added by almost 3 years ago

gửi bạn tanphu

bạn nói rất đúng ,

nếu chúng ta lược phần công thức toán đi thì sẽ hết lỗi ngay
dưới đây là đường link chứa mã nguồn ví dụ kèm theo hình minh hoạ : http://metauml.sourceforge.net/old/notes.html

trong cuốn mpman.pdf

trang 25
có ví dụ sau

beginfig(18);
numeric u;
u = 1cm;
draw (0,2u)--(0,0)--(4u,0);
pickup pencircle scaled 1pt;
draw (0,0){up}
for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor;
label.lrt(btex $\sqrt x$ etex, (3,sqrt 3)*u);
label.bot(btex $x$ etex, (2u,0));
label.lft(btex $y$ etex, (0,u));
endfig;

khi tôi biên dịch bằng lệnh

mpost c.mp

c.mp là tên file mà tôi lưu đoạn mã nêu trên

kết quả sinh lỗi như sau

This is MetaPost, version 1.208 (kpathsea version 5.0.0)
(./c.mpfatal: Command failed: G:/texlive/2009/bin/win32 --parse-first-line --int
eraction=nonstopmode mpa02456.tex; see mpxerr.log
>> c.mp
>> c.mpx
! Unable to make mpx file.
l.8 label.lrt(btex
                   $\sqrt x$ etex, (3,sqrt 3)*u);
Transcript written on c.log.

liệu có cách nào để có thể biên dịch file có sử dụng btex .... etex hay không? tôi đã google rất nhiều ngày nhưng chưa tìm ra được giải pháp cho việc này

RE: lỗi trong metapost khi dùng btex ... etex - Added by tanphu almost 3 years ago

Với ví dụ ở trang 25 cuốn mpman, mình biên dịch trên MikTeX và Texlive 2009 đều không có lỗi như bạn. Theo mình hiểu thì khi gặp btex etex thì metapost cho hệ thống TeX thực hiện các lệnh trong cặp từ khoá đó và lấy kết quả nhận được cho vào hình metapost. Có lẽ hệ thống texlive của bạn thiếu file nào đó nên gặp trục trặc trong quá trình chuyển giao trên. Mình cài texlive 2009 trên Linux bằng đĩa iso tải từ trang texlive.

RE: lỗi trong metapost khi dùng btex ... etex - Added by almost 3 years ago

Gửi bạn tanphu
tôi đã làm theo như bạn gợi ý, đó là chạy lại
mpost c.mp
ví dụ trang 25 cuốn mpman.pdf trên Linux, kết quả đúng như lời bạn nói, file ảnh được tạo ra và không có lỗi
vậy lỗi này là do metapost trên Windows có vấn đề

rất cảm ơn bạn đã giúp đỡ

(1-6/6)