VietTUG.org - old forum - threads' archive

thread_id = 4479, contains 4479, 4480, 4481
id = 4479, parent = 0, thread = 4479, catid = 24, locked = 0, moved = 0,
userid = peter, ip = 118.68.3.177, time = 2008/04/18 (1208512428) ,
subject = Tim loi giup, hits = 819, karma = 0+0-,
Như thế này dịch được
\documentclass{report}
\usepackage[utf8]{vietnam}
\newcommand{\thoigian}{\def \@tg}
\thoigian{2h}%
\begin{document}
Bay gio la: \@tg
\end{document}


Sao cái này lại không
\documentclass{report}
\usepackage[utf8]{vietnam}
\newcommand{\thoigian}{\def \@tg}
\newcommand{\ngay}{\def \@ng}
\thoigian{2h}
\ngay{22}
\begin{document}
Thoi gian: \@tg
Ngay: \@ng
\end{document}
 
id = 4480, parent = 4479, thread = 4479, catid = 24, locked = 0, moved = 0,
userid = viettug, ip = 117.7.50.71, time = 2008/04/18 (1208520295) ,
subject = Re:Tim loi giup, hits = 0, karma = 0+0-,
@ là ký tự đặc biệt, có mã phạm trù (catcode) khác với các ký tự khác (a,b,c). Vì thế, khi định nghĩa \@tg thì thực tế bạn định nghĩa lệnh \@ với hai hậu tố tg. Nếu tiếp tục định nghĩa \@ng thì định nghĩa trước bị bỏ qua, và bây giờ \@ được định nghĩa với hai hậu tố ng. Vì lẽ đó, việc gọi đến \@tg sẽ báo lỗi.

Mọi chuyện sẽ bình thường nếu trong ví dụ của bạn, thay @ bởi ký tự khác, ví dụ \Xtg, \Xng, \XYtg, \XYng,...

Muốn lấy thời gian hoặc ngày tháng hiện tại, thì đã có: \the\date, \the\month, \the\year, \the\time.

Câu hỏi quan trọng là: Mục đích của bạn là gì?
 
id = 4481, parent = 4480, thread = 4479, catid = 24, locked = 0, moved = 0,
userid = peter, ip = 118.68.113.211, time = 2008/04/18 (1208532078) ,
subject = Re:Tim loi giup, hits = 0, karma = 0+0-,
Cám ơn bác, mình làm được rồi