![如何通过 \newcommand 定义制表符中的多行](https://linux22.com/image/342598/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20%5Cnewcommand%20%E5%AE%9A%E4%B9%89%E5%88%B6%E8%A1%A8%E7%AC%A6%E4%B8%AD%E7%9A%84%E5%A4%9A%E8%A1%8C.png)
如何定义多线tabbing
像\newcommand
这样:
\documentclass{article}
%\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\renewcommand{\not}[2]{
\begin{tabbing}
\hspace{2cm}\=\kill
#1\> #2\\
\end{tabbing}
}
\begin{document}
\not{$\nabla$}{Gradiant}
\not{$\nabla$}{Gradiant}
\not{$\nabla$}{Gradiant}
\end{document}
这是我的命令:
\documentclass{article}
%\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\renewcommand{\not}[2]{
\begin{tabbing}
\hspace{2cm}\=\kill
#1\> #2\\
\end{tabbing}
}
\begin{document}
\not{$\nabla$}{Gradiant}
\end{document}
答案1
错误只是来自\\
第一个示例中每个命令后面的 ,正如错误所述,您无法在制表符环境后结束一行,因为该点没有行。只需删除\\
,虽然这里的使用tabbing
似乎很奇怪,但这不是错误。
答案2
您不能\\
在之后使用tabbing
;将其包装在minipage
可能是一个解决方案,但您可能使用了错误的工具:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\newcommand{\hbnot}[2]{% <--- don't forget this %
\begin{minipage}[t]{\textwidth}
\begin{tabbing}
\hspace{2cm}\=\kill
#1\> #2\\
\end{tabbing}
\end{minipage}% <--- don't forget this %
}
\begin{document}
\noindent
\hbnot{$\nabla$}{Gradient}\\
\hbnot{$\nabla$}{Gradient}\\
\hbnot{$\nabla$}{Gradient}
\end{document}
然而,
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\newcommand{\hbnot}[2]{% <--- don't forget this %
\makebox[2cm][l]{#1}#2% <--- don't forget this %
}
\begin{document}
\noindent
\hbnot{$\nabla$}{Gradient}\\
\hbnot{$\nabla$}{Gradient}\\
\hbnot{$\nabla$}{Gradient}
\end{document}
更简单,更高效。
注意:重新定义绝对\not
不是一个好主意。尝试\not
在设置中使用并添加公式
$1\neq 2$
也许你想要类似的东西
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\newenvironment{foo}% <--- choose a better name
{\par\begin{tabbing}\hspace{2cm}\=\kill}
{\end{tabbing}}
\newcommand{\hbnot}[2]{#1\> #2\\}
\begin{document}
\noindent X\dotfill X\par % just to check the margins
\begin{foo}
\hbnot{$\nabla$}{Gradient}
\hbnot{$\nabla$}{Gradient}
\hbnot{$\nabla$}{Gradient}
\end{foo}
\end{document}