Makrodenicje w L A T E X Bo»ena Wo¹na-Szcze±niak April 13, 2014 1 Materiaªy w j. angielskim http://en.wikibooks.org/wiki/latex/macros http://www.sharelatex.com/learn/defining_your_own_commands 2 Komenda \newcommand Posta ogólna dla wprowadzenia nowej komendy bez parametru domy±lnego: \newcommand{name}[num]{definition} Kod w L A TEXodpowiednio umieszczany: \newcommand{\wbal}{wikibook o \LaTeX} To jest \wbal'' \ldots{} \wbal'' To jest Wikibook o L A TEX... Wikibook o L A TEX ********* Nast pny przykªad ilustruje denicj nowej komendy, która pobiera argumenty. Kod w L A TEX odpowiednio umieszczany: 1
\newcommand{\wbalsup}[1] { To jest Wikibook o LaTeX wspierana przez #1} \newcommand{\wbaltwo}[2] { To jest Wikibook o LaTeX wspierana przez #1 i #2} \begin{itemize} \item \wbalsup{wikimedia} \item \wbalsup{wielu u»ytkowników!} \item \wbaltwo{john Doe}{Anthea Smith} \end{itemize} To jest Wikibook o LaTeX wspierana przez Wikimedia To jest Wikibook o LaTeX wspierana przez wielu u»ytkowników! To jest Wikibook o LaTeX wspierana przez John Doe i Anthea Smith Uwaga! Cyfry nie mog by u»ywane w nazwach makr. Zatem \wbaltwo jest dozwolon nazw a \wbal2 nie!!! ********* Posta ogólna dla wprowadzenia nowej komendy z parametrem domy±lnym: \newcommand{name}[num][default]{definition} Kod w L A TEXodpowiednio umieszczany: \newcommand{\wtwo}[2][wikimedia]{ To jest Wikibook o LaTeX wspierana przez {#1} i {#2}} 2
\begin{itemize} \item \wtwo{john Doe} \item \wtwo[anthea Smith]{John Doe} \end{itemize} To jest Wikibook o LaTeX wspierana przez Wikimedia i John Doe To jest Wikibook o LaTeX wspierana przez Anthea Smith i John Doe Uwaga! W przpadku parametru domy±lnego, u»ycie dwóch parametrów wymaga, aby pierwszy podany byª w nawiasach kwadratowych!!! 3 Komenda \newenvironment Posta ogólna dla deniowania nowego ±rodowiska: \newenvironment{name}[num]{before}{after} Komenda \newenvironment mo»e mie argument opcjonalny. Nie mo»na t komend deniowa ±rodowisk ju» zdeniowanych. Aby przedeniowa /zmodykowa istniej c denicj, nale»y u»y komendy \renewenvironment. Kod w L A TEXodpowiednio umieszczany: \newenvironment{otoczka} { \rule{1ex}{1ex}\hspace{\stretch{1}} } { \hspace{\stretch{1}}\rule{1ex}{1ex} } \begin{otoczka} 1234567890 \end{otoczka} 3
1234567890 *** \newenvironment{otoczka-b} { \rule{2ex}{2ex}\hspace{\stretch{1}} \bf } { \hspace{\stretch{1}}\rule{2ex}{2ex} } \begin{otoczka-b} 1234567890 \end{otoczka-b} 1234567890 3.0.1 Konieczno± rozdzielenia nawiasów klamrowych \newenvironment{otoczka-a} { \rule{2ex}{2ex}\hspace{\stretch{1}} \textcolor{red}\bgroup } { \egroup!!! \hspace{\stretch{1}}\rule{1ex}{1ex} } \begin{otoczka-a} 1234567890 \end{otoczka-a} 1234567890!!! 4
3.1 Zb dne wci cia Wersja niechciana: \newenvironment{simple}{\noindent}{\par\noindent} \begin{simple} See the space\\to the left. \end{simple} Same\\here. See the space to the left. Same here. Wersja poprawna: \newenvironment{correct} {\noindent\ignorespaces} {\par\noindent \ignorespacesafterend} \begin{correct} No space\\to the left. \end{correct} Same\\here. 5
No space to the left. Same here. Mieszkaªa stonoga pod Biaªa, Bo tak si jej podobaªo. Raz przychodzi li±cik maªy Do stonogi, e proszona jest do Biaªej Na pierogi. Ucieszyªo to stonog, Wi c ruszyªa szybko w drog. Mieszkaªa stonoga pod Biaªa, Bo tak si jej podobaªo. Raz przychodzi li±cik maªy Do stonogi, e proszona jest do Biaªej Na pierogi. Ucieszyªo to stonog, Wi c ruszyªa szybko w drog. 3.2 Przykªady \newenvironment{tinyitquote}% {\begin{quote}\begin{tiny}\it}% {\end{tiny}\end{quote}} \begin{tinyitquote} Nim zd»yªa doj± do Biaªej, Nogi jej si popl taªy: Lewa z praw, przednia z tyln, Ka»dej nodze bardzo pilno, Szósta zd»y chce za siódm, Ale siódmej i± za trudno, No, bo przed ni stoi ósma, Która wªa±nie jaki± guz ma. \end{tinyitquote} Nim zd»yªa doj± do Biaªej, Nogi jej si popl taªy: Lewa z praw, przednia z tyln, Ka»dej nodze bardzo pilno, Szósta zd»y chce za siódm, Ale siódmej i± za trudno, No, bo przed ni stoi ósma, Która wªa±nie jaki± guz ma. 6
\newenvironment{qsi}[1]% {\begin{quote}#1 napisaª,\begin{sloppypar}\it}% {\end{sloppypar}\end{quote}} \begin{qsi}{jan Brzechwa} Nim zd»yªa doj± do Biaªej, Nogi jej si popl taªy: Lewa z praw, przednia z tyln, Ka»dej nodze bardzo pilno, Szósta zd»y chce za siódm, Ale siódmej i± za trudno, No, bo przed ni stoi ósma, Która wªa±nie jaki± guz ma. \end{qsi} Jan Brzechwa napisaª, Nim zd»yªa doj± do Biaªej, Nogi jej si popl taªy: Lewa z praw, przednia z tyln, Ka»dej nodze bardzo pilno, Szósta zd»y chce za siódm, Ale siódmej i± za trudno, No, bo przed ni stoi ósma, Która wªa±nie jaki± guz ma. 7