\newcommand सह तुमच्या स्वतःच्या कमांड
प्रीअँबलमध्ये \newcommand{\name}{replacement} लिहा, आणि #1 ते #n आर्ग्युमेंटसाठी [n] जोडा; तेव्हापासून मजकुरात आणि गणितात \name च्या जागी तिची व्याख्या येते.
आर्ग्युमेंट नसलेली कमांड
कमांडमुळे टायपिंग वाचते आणि नोटेशन एकसारखे राहते. ती प्रीअँबलमध्ये एकदा परिभाषित करा आणि कुठेही वापरा.
संचांसाठी आणि उत्पादनाच्या नावासाठी शॉर्टकट
\documentclass{article}
\usepackage{amssymb}
\newcommand{\R}{\mathbb{R}}
\newcommand{\product}{Scissor LaTeX}
\begin{document}
Every $x \in \R$ has a square $x^2 \ge 0$.
This page was typeset by \product.
\end{document}आर्ग्युमेंट आणि डीफॉल्ट मूल्य
नावानंतरचे [n] सांगते की कमांड किती आर्ग्युमेंट घेते; व्याख्येच्या आत ते #1, #2 इत्यादी असतात. दुसरा चौकोनी कंस पहिल्या आर्ग्युमेंटला डीफॉल्ट मूल्य देतो, ज्यामुळे तो ऐच्छिक होतो.
आर्ग्युमेंट आणि ऐच्छिक पहिला आर्ग्युमेंट
\documentclass{article}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}
\newcommand{\greet}[2][Hello]{#1, #2!}
\begin{document}
The length of $\vect{v}$ is $\norm{\vect{v}}$.
\greet{Erika} \greet[Good morning]{John}
\end{document}अस्तित्वात असलेली कमांड बदलणे
\renewcommand आधीपासून असलेली कमांड बदलते, आणि \providecommand कमांड अजून अस्तित्वात नसेल तरच ती परिभाषित करते. TeX इन्स्टॉलेशनमध्ये आधीच वापरलेल्या नावासाठी \newcommand ही त्रुटी असते; तेव्हा \renewcommand वापरा.
\renewcommand आणि \providecommand
\documentclass{article}
\renewcommand{\emph}[1]{\textbf{#1}}
\providecommand{\R}{\mathbb{R}}
\begin{document}
This is \emph{emphasised} in bold now, and $\R$ is defined.
\end{document}ऑपरेटरची नावे
sin आणि log सारखी फंक्शनची नावे योग्य अंतरासह सरळ अक्षरांत टाइपसेट होतात. \DeclareMathOperator (amsmath) तुमची स्वतःची नावे बनवते; तारा असलेले रूप डिस्प्लेमध्ये \max प्रमाणे मर्यादा खाली ठेवते.
\DeclareMathOperator आणि त्याचे तारा असलेले रूप
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\Var}{Var}
\DeclareMathOperator*{\argmax}{arg\,max}
\begin{document}
\[
\Var(X) = \mathbb{E}\left[(X - \mu)^2\right],
\qquad
\hat{\theta} = \argmax_{\theta} L(\theta)
\]
\end{document}तुमच्या स्वतःच्या एन्व्हायर्नमेंट
\newenvironment{name}[n]{before}{after} एन्व्हायर्नमेंट परिभाषित करते: "before" कोड \begin{name} वर चालतो आणि "after" कोड \end{name} वर. आर्ग्युमेंट "before" भागात वापरता येतात.
आर्ग्युमेंट असलेली एन्व्हायर्नमेंट
\documentclass{article}
\newenvironment{task}[1]
{\par\noindent\textbf{Task #1.}\ }
{\par}
\begin{document}
\begin{task}{44}
Measure the rainfall every morning.
\end{task}
\end{document}काय चालते
| कमांड | Scissor LaTeX मध्ये | टिपा |
|---|---|---|
\newcommand, \renewcommand, \providecommand | चालते | 9 आर्ग्युमेंटपर्यंत, डीफॉल्ट मूल्यासह ऐच्छिक पहिला आर्ग्युमेंट. तारा असलेली रूपेही. |
\DeclareRobustCommand | चालते | \newcommand प्रमाणे. |
\newenvironment, \renewenvironment | चालते | आर्ग्युमेंट आणि डीफॉल्ट मूल्यासह. |
\DeclareMathOperator, \DeclareMathOperator* | चालते | |
\def\name{...}, \gdef, \edef, \xdef | अंशतः | साध्या व्याख्या आणि #1 प्रकारचे आर्ग्युमेंट चालतात; \def\pt(#1,#2){...} सारखे सीमांकित पॅरामीटर जुळवले जात नाहीत आणि गोंधळलेले आउटपुट देतात. |
\let\new\old | चालते | |
\NewDocumentCommand, \RenewDocumentCommand (xparse) | समर्थित नाही | व्याख्या वगळली जाते आणि कमांड जिथे वापरली जाते तिथे ती अज्ञात म्हणून नोंदवली जाते. |
\DeclarePairedDelimiter (mathtools) | चालते | |
\makeatletter, \makeatother | स्वीकारले जाते | नावात @ असलेल्या कमांड चालवल्या जात नाहीत. |
व्याख्या टाइपसेटिंगपूर्वी विस्तारित केल्या जातात, त्यामुळे कमांड मजकुरात, गणितात, कॅप्शनमध्ये आणि विभागांच्या शीर्षकांमध्ये वापरता येते. अंतहीन चक्रांपासून बचावासाठी विस्तार एका सुरक्षित मर्यादेवर थांबतो, आणि समस्या टॅबमध्ये संदेश येतो.
xparse कमांड
xparse मधील \NewDocumentCommand वाचले जात नाही. व्याख्या वगळली जाते, आणि कमांड जिथे वापरली जाते तिथे तिचे नाव संदेशासह वगळले जाते, तर तिचे आर्ग्युमेंट मजकुरात राहतात.
\NewDocumentCommand समर्थित नाही
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\pair}{m m}{(#1, #2)}
\begin{document}
The pair \pair{a}{b} loses its parentheses and comma.
\end{document}समस्या टॅब: Skipped 1 unknown command: \pair
हे दुरुस्त करण्यासाठी तीच कमांड \newcommand{\pair}[2]{(#1, #2)} ने लिहा. ऐच्छिक आर्ग्युमेंटसाठी डीफॉल्ट मूल्यासह \newcommand नेहमीची गरज पूर्ण करते.
TeX इन्स्टॉलेशनपेक्षा काय वेगळे आहे
xparse आणि mathtools ची मॅन्युअल CTAN वर आहेत: xparse, mathtools. ऑपरेटर आणि फंक्शनच्या नावांसाठी बेरीज, इंटिग्रल आणि फंक्शनची नावे हेही पाहा.
प्रश्न आणि उत्तरे
LaTeX मध्ये नवीन कमांड कशी परिभाषित करायची?
प्रीअँबलमध्ये \newcommand{\name}{text} लिहा. दोन आर्ग्युमेंटसाठी नावानंतर [2] जोडा आणि मजकुरात #1 व #2 वापरा.
\newcommand आणि \def मध्ये काय फरक आहे?
\newcommand नाव मोकळे आहे का ते तपासते आणि ऐच्छिक आर्ग्युमेंटला समर्थन देते. \def ही खालच्या पातळीवरची TeX कमांड आहे; ती न विचारता जुनी व्याख्या पुसून टाकते. \newcommand आणि \renewcommand वापरणे चांगले.
Scissor LaTeX मध्ये \NewDocumentCommand चालते का?
नाही. अशा कमांड \newcommand ने पुन्हा लिहा, जी अनिवार्य आर्ग्युमेंट आणि एक ऐच्छिक आर्ग्युमेंट हाताळते.
या पेजवरील प्रत्येक उदाहरण साइट तयार होताना Scissor LaTeX टाइपसेट करते. शेवटचे अपडेट: 2026-11-07.