有什么方法可以在 LaTeX 中定义变量吗?

发布于 2024-07-30 17:42:10 字数 127 浏览 3 评论 0原文

在LaTeX中,如何定义一个字符串变量,其内容代替编译后的PDF中的变量?

假设我正在编写一个关于软件的技术文档,我想在序言或其他地方定义包名称,这样如果它的名称发生更改,我不必在很多地方替换它,而只需在一个地方替换它。

In LaTeX, how can I define a string variable whose content is used instead of the variable in the compiled PDF?

Let's say I'm writing a tech doc on a software and I want to define the package name in the preamble or somewhere so that if its name changes, I don't have to replace it in a lot of places but only in one place.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

坠似风落 2024-08-06 17:42:10

将以下内容添加到序言中:

\newcommand{\newCommandName}{text to insert}

然后您可以在文本中使用 \newCommandName{}

有关 \newcommand 的更多信息,请参阅 wikibooks

示例:

\documentclass{article}
\newcommand\x{30}
\begin{document}
\x
\end{document}

输出:

30

add the following to you preamble:

\newcommand{\newCommandName}{text to insert}

Then you can just use \newCommandName{} in the text

For more info on \newcommand, see e.g. wikibooks

Example:

\documentclass{article}
\newcommand\x{30}
\begin{document}
\x
\end{document}

Output:

30
十年九夏 2024-08-06 17:42:10

使用 \def 命令:

\def \variable {Something that's better to use as a variable}

请注意,\def 会在没有任何警告的情况下覆盖预先存在的宏,因此可能会导致各种微妙的错误。 要克服这个问题,可以使用命名空间变量,例如 my_var 或回退到 \newcommand\renewcommand 命令。

Use \def command:

\def \variable {Something that's better to use as a variable}

Be aware that \def overrides preexisting macros without any warnings and therefore can cause various subtle errors. To overcome this either use namespaced variables like my_var or fall back to \newcommand, \renewcommand commands instead.

狼性发作 2024-08-06 17:42:10

对于描述距离的变量,您可以使用 \newlength (并使用 \setlength\addlength\settoheight 操作值代码>、<代码>\settolength和<代码>\setto深度)。

同样,您可以访问 \newcounter 来获取诸如章节号和图号之类的信息,这些数字应该在整个文档中递增。 我过去曾使用过这个来提供与其他数字分开编号的代码示例...

另外值得注意的是 \makebox 它允许您存储一些布局文档以供以后使用重用(并与 \settolength 一起使用...)。

For variables describing distances, you would use \newlength (and manipulate the values with \setlength, \addlength, \settoheight, \settolength and \settodepth).

Similarly you have access to \newcounter for things like section and figure numbers which should increment throughout the document. I've used this one in the past to provide code samples that were numbered separatly of other figures...

Also of note is \makebox which allows you to store a bit of laid-out document for later re-use (and for use with \settolength...).

一张白纸 2024-08-06 17:42:10

如果要使用\newcommand,还可以包含\usepackage{xspace}并通过\newcommand{\newCommandName}{要插入的文本\xspace定义命令}
这可以让您只使用 \newCommandName 而不是 \newCommandName{}

有关更多详细信息,http://www.math.tamu.edu/~ harold.boas/courses/math696/why-macros.html

If you want to use \newcommand, you can also include \usepackage{xspace} and define command by \newcommand{\newCommandName}{text to insert\xspace}.
This can allow you to just use \newCommandName rather than \newCommandName{}.

For more detail, http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html

俏︾媚 2024-08-06 17:42:10

我认为您可能想为此目的使用令牌列表:
设置令牌列表
\newtoks\包名
分配名称:
\packagename={包的新名称}
将名称放入输出中:
\the\packagename

I think you probably want to use a token list for this purpose:
to set up the token list
\newtoks\packagename
to assign the name:
\packagename={New Name for the package}
to put the name into your output:
\the\packagename.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文