Δικές σας εντολές με \newcommand
Γράψτε \newcommand{\name}{αντικατάσταση} στο προοίμιο, με [n] για ορίσματα #1 έως #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 ορίζει μια εντολή μόνο αν δεν υπάρχει ακόμη. Η \newcommand για ένα όνομα που είναι ήδη πιασμένο είναι σφάλμα σε μια εγκατάσταση TeX· τότε χρησιμοποιήστε την \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
Η \NewDocumentCommand του xparse δεν διαβάζεται. Ο ορισμός παραλείπεται, και εκεί όπου χρησιμοποιείται η εντολή, το όνομά της παραλείπεται με μήνυμα, ενώ τα ορίσματά της μένουν στο κείμενο.
Η \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}{κείμενο} στο προοίμιο. Προσθέστε [2] μετά το όνομα για δύο ορίσματα και χρησιμοποιήστε #1 και #2 στο κείμενο.
Ποια είναι η διαφορά ανάμεσα στην \newcommand και την \def;
Η \newcommand ελέγχει ότι το όνομα είναι ελεύθερο και υποστηρίζει προαιρετικό όρισμα. Η \def είναι η χαμηλού επιπέδου εντολή του TeX· αντικαθιστά χωρίς να ρωτήσει. Προτιμήστε τις \newcommand και \renewcommand.
Λειτουργεί η \NewDocumentCommand στο Scissor LaTeX;
Όχι. Ξαναγράψτε τέτοιες εντολές με \newcommand, που καλύπτει υποχρεωτικά ορίσματα και ένα προαιρετικό όρισμα.
Κάθε παράδειγμα σε αυτή τη σελίδα στοιχειοθετείται από το Scissor LaTeX κατά τη δημιουργία του ιστότοπου. Τελευταία ενημέρωση: 2026-11-07.