- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个简单的示例命令,在没有参数的情况下不打印任何内容,但如果有参数,它会用一些东西包围它。
我读到默认值应该是 \@empty
并且简单的 \ifx\@empty#1
条件应该可以完成这项工作:
\newcommand{\optarg}[1][\@empty]{%
\ifx\@empty#1 {} \else {(((#1)))} \fi
}
\optarg % (((empty)))
\optarg{} % (((empty)))
\optarg{test} % (((empty))) test
出于某种原因,后三个命令都打印 empty
单词,我希望前两个命令不打印任何内容,最后一个命令打印 (((test)))
.
我正在使用 TeXLive/Ubuntu。一个想法?
最佳答案
尝试以下测试:
\documentclass{article}
\usepackage{xifthen}% provides \isempty test
\newcommand{\optarg}[1][]{%
\ifthenelse{\isempty{#1}}%
{}% if #1 is empty
{(((#1)))}% if #1 is not empty
}
\begin{document}
Testing \verb|\optarg|: \optarg% prints nothing
Testing \verb|\optarg[]|: \optarg[]% prints nothing
Testing \verb|\optarg[test]|: \optarg[test]% prints (((test)))
\end{document}
xifthen
package提供 \ifthenelse
构造和 \isempty
测试。
另一个选择是使用 ifmtarg
包(请参阅 ifmtarg.sty
file 获取文档)。
关于LaTeX\newcommand 默认参数 : is empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144176/
我正在尝试创建一个 LaTeX 宏,它基本上根据传递给它的参数数量做不同的事情。 基本上它的功能是: \MyMacro{4} % Processes the argument and returns
有人可以告诉我在这里做错了什么吗? \newcommand{\bc}{\small\begin{verbatim}} \newcommand{\ec}{\normalsize\end{verbatim
我正在尝试自己的命令和环境,现在遇到了这些问题: 如何创建命令\foo{parameter}[optional]或称为\begin{bar}{parameter}[optional]的环境? 如何创建
我正在尝试编写一个简单的示例命令,在没有参数的情况下不打印任何内容,但如果有参数,它会用一些东西包围它。 我读到默认值应该是 \@empty 并且简单的 \ifx\@empty#1 条件应该可以完成这
当我使用 LaTeX 宏(例如\newcommand)时,它会占用页面空间。这是一个示例代码,用于演示我面临的问题。 网址:http://jsfiddle.net/Lkeus/ 代码: Math
我想做以下工作 --- title: "Untitled" author: "SQC" date: "21 September 2018" output: html_document --- \new
我是 Latex 新手,问这个问题只是出于好奇。我想知道为什么 Latex 中的 \newcommand 命令与其他命令的语法不同? \newcommand的语法是 \newcommand{}[][]
我是 Latex 新手,问这个问题只是出于好奇。我想知道为什么 Latex 中的 \newcommand 命令与其他命令的语法不同? \newcommand的语法是 \newcommand{}[][]
我试图通过引入一些节省时间的方法使 Latex 可用,但我在定义完全随机终止环境的新命令时遇到了麻烦。 这个有效: \newcommand{\bcv}{\ensuremath{\begin{small
R Markdown 是否具有与 LaTex 的“newcommand”类似的构造?我希望能够定义 \var 之类的东西成为 \mathrm{Var}以避免在数学模式下额外输入。如果不是,人们如何减少
我使用 ipython notebook 输入数学,然后转换为 latex 。让 mathjax 理解 \newcommand ,我必须把它放在里面$...$ .例如,$\newcommand{\cl
我是一名优秀的程序员,十分优秀!