有些命令看起来就像在 MS Word 中按下按钮一样(我有 Windows...)。例如\textbf{small bold text}
与{\bf lengthly bold text }
我的问题是:是否可以以声明的方式定义新命令,或者\bf
以这种风格重新定义旧命令?
答案1
是的,你可以,你只需要不定义参数。虽然根据命令的不同,方法可能有所不同。为了回答这个问题,这里有一个命令,它将文本大胆的和斜体, 一起。
请注意{}
命令和文本周围的。如果没有这些,粗体和斜体将一直持续到文档结束。
此外,\bf
已弃用。在新的 Latex 文档中,您必须使用\bfseries
。
\documentclass{article}
\newcommand\bfandit{%
\itshape\bfseries%
}
\begin{document}
Text as it should be.\medskip
{\bfandit No, wait, not bold and italics together!}\medskip
Ok, now it's better.
\end{document}
答案2
想象一下,你有一些命令\mycommand{...}
,并且你坚持使用语法{\mybutton ...}
。您可以尝试一下。并不总是有效(例如,对于逐字命令)。外括号是强制的,并且\foo{\mybutton ...}
不起作用,使用\foo{{\mybutton...}}
(并祈祷好运)。
\documentclass{article}
\usepackage{color}
\makeatletter
\newcommand\mybf {\iftrue\expandafter\mybf@\expandafter{\else}\fi}
\newcommand\mybf@ [1]{\textbf{{#1}}\egroup}
\newcommand\myunderline {\iftrue\expandafter\myunderline@\expandafter{\else}\fi}
\newcommand\myunderline@ [1]{\underline{{#1}}\egroup}
\newcommand\myred {\iftrue\expandafter\myred@\expandafter{\else}\fi}
\newcommand\myred@ [1]{\textcolor{red}{{#1}}\egroup}
\makeatother
\begin{document}
{\myunderline Hello Beautiful} World
{\mybf Hello Beautiful} World
{\mybf\myunderline Hello Beautiful} World
{\mybf\myunderline\myred Hello Beautiful} World
{\myred\myunderline\mybf Hello Beautiful} World
\end{document}