\newcommand ile kendi komutlarınız
Önsöze \newcommand{\name}{replacement} yazın; #1 ile #n arasındaki argümanlar için [n] ekleyin. Bundan sonra \name, metinde de matematikte de tanımıyla değiştirilir.
Argümansız bir komut
Bir komut yazma zahmetini azaltır ve gösterimi tutarlı tutar. Onu önsözde bir kez tanımlayın ve her yerde kullanın.
Kümeler ve bir ürün adı için kısayollar
\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}Argümanlar ve varsayılan değer
Addan sonraki [n], komutun kaç argüman aldığını söyler; tanımın içinde bunlar #1, #2 vb. olarak geçer. İkinci bir köşeli parantez ilk argümana bir varsayılan değer verir ve onu isteğe bağlı yapar.
Argümanlar ve isteğe bağlı bir ilk argüman
\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}Var olan bir komutu değiştirmek
\renewcommand zaten var olan bir komutun yerini alır, \providecommand ise bir komutu yalnızca henüz yoksa tanımlar. Kullanılmakta olan bir ad için \newcommand bir TeX kurulumunda hatadır; o durumda \renewcommand kullanın.
\renewcommand ve \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}İşleç adları
sin ve log gibi fonksiyon adları dik ve doğru aralıkla dizilir. \DeclareMathOperator (amsmath) kendi işleçlerinizi oluşturur; yıldızlı biçim, \max gibi, ayrık formüllerde sınırları alta koyar.
\DeclareMathOperator ve yıldızlı biçimi
\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}Kendi ortamlarınız
\newenvironment{name}[n]{before}{after} bir ortam tanımlar: "before" kodu \begin{name} noktasında, "after" kodu \end{name} noktasında çalışır. Argümanlar "before" kısmında kullanılabilir.
Argümanlı bir ortam
\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}Neler çalışır
| Komut | Scissor LaTeX'te | Notlar |
|---|---|---|
\newcommand, \renewcommand, \providecommand | Çalışır | En fazla 9 argüman, varsayılan değerli isteğe bağlı bir ilk argüman. Yıldızlı biçimler de. |
\DeclareRobustCommand | Çalışır | \newcommand gibi. |
\newenvironment, \renewenvironment | Çalışır | Argümanlarla ve varsayılan değerle. |
\DeclareMathOperator, \DeclareMathOperator* | Çalışır | |
\def\name{...}, \gdef, \edef, \xdef | Kısmen | Basit tanımlar ve #1 tarzı argümanlar çalışır; \def\pt(#1,#2){...} gibi sınırlandırılmış parametreler eşleştirilmez ve bozuk çıktı verir. |
\let\new\old | Çalışır | |
\NewDocumentCommand, \RenewDocumentCommand (xparse) | Desteklenmez | Tanım atlanır ve komut kullanıldığı yerde bilinmeyen komut olarak bildirilir. |
\DeclarePairedDelimiter (mathtools) | Çalışır | |
\makeatletter, \makeatother | Kabul edilir | Adında @ bulunan komutlar çalıştırılmaz. |
Tanımlar dizgiden önce genişletilir; bu yüzden bir komut metinde, matematikte, başlık yazılarında ve bölüm başlıklarında kullanılabilir. Döngülere karşı korunmak için genişletme bir güvenlik sınırında durur ve Sorunlar sekmesinde bir mesaj gösterilir.
xparse komutları
xparse paketindeki \NewDocumentCommand okunmaz. Tanım atlanır; komutun kullanıldığı yerde adı bir mesajla atlanır, argümanları ise metinde kalır.
\NewDocumentCommand desteklenmez
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\pair}{m m}{(#1, #2)}
\begin{document}
The pair \pair{a}{b} loses its parentheses and comma.
\end{document}Sorunlar sekmesi: Skipped 1 unknown command: \pair
Düzeltmek için aynı komutu \newcommand{\pair}[2]{(#1, #2)} ile yazın. İsteğe bağlı argümanlar için varsayılan değerli \newcommand yaygın durumu karşılar.
Bir TeX kurulumundan farkları
xparse ve mathtools kılavuzları CTAN'dadır: xparse, mathtools. İşleçler ve fonksiyon adları için ayrıca bkz. Toplamlar, integraller ve fonksiyon adları.
Sorular ve yanıtlar
LaTeX'te yeni bir komut nasıl tanımlanır?
Önsöze \newcommand{\name}{text} yazın. İki argüman için addan sonra [2] ekleyin ve metinde #1 ile #2 kullanın.
\newcommand ile \def arasındaki fark nedir?
\newcommand adın boş olup olmadığını denetler ve isteğe bağlı bir argümanı destekler. \def düşük düzeyli TeX komutudur; sormadan üzerine yazar. \newcommand ve \renewcommand komutlarını tercih edin.
\NewDocumentCommand Scissor LaTeX'te çalışır mı?
Hayır. Bu tür komutları, zorunlu argümanları ve bir isteğe bağlı argümanı karşılayan \newcommand ile yeniden yazın.
Bu sayfadaki her örnek, site oluşturulurken Scissor LaTeX tarafından dizilir. Son güncelleme: 2026-11-07.