这个问题和答案是相关的,非常有帮助 但是我还需要帮助来创建在模板创建时不接受参数的模板,然后创建一个接受参数的宏?
例子:
\def\myStyleOne#1{\textbf{#1:}}
\def\myStyleTwo#1{\textit{#1:}}
\newcommand{\highlightWord}{ create_command_macro(myStyleOne) }
\newcommand{\highlightSentence}{ create_command_macro(myStyleTwo) }
% usage:
\highlightWord{asdf}
\highlightSentence{foo bar baz}
输出:
梅威瑟:
\documentclass{article}
\def\myStyleOne#1{\textbf{#1:}}
\def\myStyleTwo#1{\textit{#1:}}
% desired outcome for definition:
%\newcommand{\highlightWord}{ create_command_macro(myStyleOne) }
%\newcommand{\highlightSentence}{ create_command_macro(myStyleTwo) }
% current definition:
\def\highlightWord#1{\textbf{#1:}}
\def\highlightSentence#1{\textit{#1:}}
\begin{document}
\highlightWord{asdf}\\
\highlightSentence{foo bar baz}\\
\end{document}
谢谢您的帮助。
答案1
你不需要在外部公布的命令中声明参数,因此
\newcommand{\highlightWord}{\myStyleOne}
\newcommand{\highlightSentence}{\myStyleTwo}
\documentclass{article}
% not \def
\newcommand*\myStyleOne[1]{\textbf{#1:}}
\newcommand*\myStyleTwo[1]{\textit{#1:}}
\newcommand{\highlightWord}{\myStyleOne}
\newcommand{\highlightSentence}{\myStyleTwo}
\begin{document}
\highlightWord{asdf}% no badness 10000!\\
\highlightSentence{foo bar baz}% no badness 10000!\\
\end{document}
是你所需要的全部。