İçeriğe geç

\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}
Scissor LaTeX tarafından dizildi: Kümeler ve bir ürün adı için kısayollar

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

KomutScissor LaTeX'teNotlar
\newcommand, \renewcommand, \providecommandÇalışırEn 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ışırArgümanlarla ve varsayılan değerle.
\DeclareMathOperator, \DeclareMathOperator*Çalışır
\def\name{...}, \gdef, \edef, \xdefKısmenBasit 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)DesteklenmezTanım atlanır ve komut kullanıldığı yerde bilinmeyen komut olarak bildirilir.
\DeclarePairedDelimiter (mathtools)Çalışır
\makeatletter, \makeatotherKabul edilirAdı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.