在LaTeX中,如何定義一個字符串變量,其內容被使用而不是編譯後的PDF中的變量?有什麼辦法可以在LaTeX中定義一個變量?
假設我正在編寫一個軟件上的技術文檔,我想在序言或某個地方定義軟件包名稱,以便如果名稱更改,我不必在很多地方替換它,但是隻在一個地方。
在LaTeX中,如何定義一個字符串變量,其內容被使用而不是編譯後的PDF中的變量?有什麼辦法可以在LaTeX中定義一個變量?
假設我正在編寫一個軟件上的技術文檔,我想在序言或某個地方定義軟件包名稱,以便如果名稱更改,我不必在很多地方替換它,但是隻在一個地方。
以下內容添加到您序言:
\newcommand{\newCommandName}{text to insert}
然後,你可以使用\newCommandName{}
文本
欲瞭解更多信息的\newcommand
,例如見wikibooks
爲了描述的距離變量,你可以使用\newlength
(與\setlength
,\addlength
,\settoheight
,\settolength
和\settodepth
操縱值)。
同樣,您可以訪問\newcounter
,以查看應在文檔中增加的部分和圖號等內容。我過去曾經使用過這個代碼樣本,這些代碼樣本被獨立編號爲其他數字...
另外值得注意的是\makebox
它允許您存儲一些佈局文檔以供以後重新使用並與\settolength
一起使用...)。
使用\def
命令:
\def \variable {Something that's better to use as a variable}
注意\def
覆蓋已有的宏沒有任何警告,並因此可能導致各種細微的錯誤。爲了克服這個問題,可以使用名稱空間變量,如my_var
,或者使用\newcommand
,\renewcommand
命令。
如果要使用\newcommand
,還可以包含\usepackage{xspace}
並通過\newcommand{\newCommandName}{text to insert\xspace}
定義命令。 這可以讓您只使用\newCommandName
而不是\newCommandName{}
。
更多詳細信息,http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html
我想你可能想使用一個令牌列表用於此目的: 設置令牌列表 \newtoks\packagename
指定名稱: \packagename={New Name for the package}
把名字變成你的輸出: \the\packagename
。
對於巨大的內容,值得一提\ savebox(https://en.wikibooks.org/wiki/LaTeX/Boxes#savebox)。 – 2013-07-13 12:44:14