Arahan anda sendiri dengan \newcommand
Tulis \newcommand{\name}{gantian} dalam mukadimah, dengan [n] untuk argumen #1 hingga #n; mulai saat itu \name digantikan dengan takrifannya, dalam teks dan dalam matematik.
Arahan tanpa argumen
Arahan menjimatkan penaipan dan mengekalkan tatatanda yang konsisten. Takrifkannya sekali dalam mukadimah dan gunakannya di mana-mana.
Pintasan untuk set dan nama produk
\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}Argumen dan nilai lalai
[n] selepas nama menyatakan berapa banyak argumen yang diterima arahan itu; di dalam takrifan, argumen itu ialah #1, #2 dan seterusnya. Kurungan kedua memberikan nilai lalai kepada argumen pertama, yang menjadikannya pilihan.
Argumen dan argumen pertama pilihan
\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}Menukar arahan sedia ada
\renewcommand menggantikan arahan yang sudah wujud, dan \providecommand mentakrifkan arahan hanya jika ia belum wujud. \newcommand untuk nama yang sudah digunakan ialah ralat dalam pemasangan TeX; gunakan \renewcommand dalam keadaan itu.
\renewcommand dan \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}Nama operator
Nama fungsi seperti sin dan log diatur tegak dengan jarak yang betul. \DeclareMathOperator (amsmath) membuat operator anda sendiri; bentuk berbintangnya meletakkan had di bawah dalam paparan, seperti \max.
\DeclareMathOperator dan bentuk berbintangnya
\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}Persekitaran anda sendiri
\newenvironment{name}[n]{sebelum}{selepas} mentakrifkan persekitaran: kod "sebelum" dijalankan pada \begin{name} dan kod "selepas" pada \end{name}. Argumen boleh digunakan dalam bahagian "sebelum".
Persekitaran dengan satu argumen
\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}Apa yang berfungsi
| Arahan | Dalam Scissor LaTeX | Catatan |
|---|---|---|
\newcommand, \renewcommand, \providecommand | Berfungsi | Hingga 9 argumen, argumen pertama pilihan dengan nilai lalai. Bentuk berbintang juga. |
\DeclareRobustCommand | Berfungsi | Seperti \newcommand. |
\newenvironment, \renewenvironment | Berfungsi | Dengan argumen dan nilai lalai. |
\DeclareMathOperator, \DeclareMathOperator* | Berfungsi | |
\def\name{...}, \gdef, \edef, \xdef | Sebahagian | Takrifan mudah dan argumen gaya #1 berfungsi; parameter berpembatas seperti \def\pt(#1,#2){...} tidak dipadankan dan memberikan output yang bercelaru. |
\let\new\old | Berfungsi | |
\NewDocumentCommand, \RenewDocumentCommand (xparse) | Tidak disokong | Takrifan digugurkan dan arahan dilaporkan sebagai tidak dikenali di tempat ia digunakan. |
\DeclarePairedDelimiter (mathtools) | Berfungsi | |
\makeatletter, \makeatother | Diterima | Arahan dengan @ dalam namanya tidak dijalankan. |
Takrifan dikembangkan sebelum atur huruf, jadi arahan boleh digunakan dalam teks, dalam matematik, dalam kapsyen dan dalam tajuk bahagian. Untuk mengelakkan gelung, pengembangan berhenti pada had keselamatan, dengan mesej dalam tab Masalah.
Arahan xparse
\NewDocumentCommand daripada xparse tidak dibaca. Takrifannya digugurkan, dan di tempat arahan itu digunakan, namanya dilangkau dengan mesej manakala argumennya kekal dalam teks.
\NewDocumentCommand tidak disokong
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\pair}{m m}{(#1, #2)}
\begin{document}
The pair \pair{a}{b} loses its parentheses and comma.
\end{document}Tab Masalah: Skipped 1 unknown command: \pair
Untuk membaikinya, tulis arahan yang sama dengan \newcommand{\pair}[2]{(#1, #2)}. Untuk argumen pilihan, \newcommand dengan nilai lalai merangkumi kes yang lazim.
Apa yang berbeza daripada pemasangan TeX
Manual xparse dan mathtools terdapat di CTAN: xparse, mathtools. Untuk operator dan nama fungsi, lihat juga Hasil tambah, kamiran dan nama fungsi.
Soalan dan jawapan
Bagaimanakah saya mentakrifkan arahan baharu dalam LaTeX?
Tulis \newcommand{\name}{teks} dalam mukadimah. Tambah [2] selepas nama untuk dua argumen dan gunakan #1 dan #2 dalam teks.
Apakah perbezaan antara \newcommand dan \def?
\newcommand memeriksa bahawa nama itu masih bebas dan menyokong argumen pilihan. \def ialah arahan TeX aras rendah; ia menulis ganti tanpa bertanya. Utamakan \newcommand dan \renewcommand.
Adakah \NewDocumentCommand berfungsi dalam Scissor LaTeX?
Tidak. Tulis semula arahan sedemikian dengan \newcommand, yang merangkumi argumen wajib dan satu argumen pilihan.
Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.