Vấn đề ở đây là ghi đè định nghĩa của \textstring
, thay vì tham chiếu giá trị cũ. Để nối thêm, cách tiêu chuẩn là sử dụng lệnh TeX \edef
, mở rộng định nghĩa trước khi gán một cái gì đó. Vì vậy, nếu bạn có
\def\textstring{Hello} % Or with \newcommand
\edef\textstring{\textstring{} world}
LaTeX sẽ thay đổi ở phía bên tay phải của \edef
vào Hello world
, và sau đó phân công lại đó để \textstring
, đó là những gì bạn muốn. Thay vào đó, trong phiên bản hiện tại của bạn, các \newcommand
không mở rộng phía bên tay phải, vì vậy khi bạn sử dụng \textstring
, nó mở rộng để \textstring world
, mà tự nó mở rộng để \textstring world world
, mà tự mở rộng để ... bạn sẽ có được ý tưởng.
Nguồn
2010-06-27 06:25:45
Phương thức này hoạt động tốt (ngay cả khi văn bản được nối có chứa lệnh). Nhưng bây giờ tôi đã có một vấn đề với nó: khi tôi sử dụng \ textstring trong văn bản của tôi nó cho thấy "Xin chào thế giới" nhưng tôi phải sử dụng nó trong \ endnotetext [\ value {enumi}] {\ textstring} tạo ra một chú thích trống . – flaflamm