Latex Makra
Transkrypt
Latex Makra
Latex Makra dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza [email protected] Laboratorium 10 Definiowanie Poleceń \ newcommand { name } [ num ] { d e f i n i t i o n } • name - nazwa polecenia • num - parametry polecenia. Wartości 1-9. do i-tego argumentu odwołujemy sie˛ poprzez #i. • definition - definicja polecenia Przykład \ newcommand { \ j b }{ J a n Brzechwa } \ newcommand { \ J a k } { " J a k pan mo ż e , P a n i e p o m i d o r z e ? ! " } Definiowanie Poleceń Zastosowanie \ begin { verse } Pan p o m i d o r w l a z ł na t y c z k ȩ I p r z e d r z e ź n i a o g r o d n i c z k ȩ . \ Jak \ end { v e r s e } \ begin { f l u s h r i g h t } \ jb \ end { f l u s h r i g h t } Wykonanie Pan pomidor wlazł na tyczk˛e I przedrzeźnia ogrodniczk˛e. "Jak pan może, Panie pomidorze?!" Jan Brzechwa Definiowanie Poleceń • Można zdefiniować co najwyżej 9 parametrów. • Parametry sa˛ wartościami liczbowymi. Przykład poleceń z parametrami \ newcommand { \ wbal }{ Wikibook o \ LaTeX} \ newcommand { \ w b a l s u p } [ 1 ] {To j e s t Wikibook o LaTeX w s p i e r a n a p r z e z #1} \ newcommand { \ wbalTwo } [ 2 ] {To j e s t Wikibook o LaTeX w s p i e r a n a p r z e z #1 i #2} \ newcommand { \ wTwo } [ 2 ] [ Wikimedia ] { To j e s t Wikibook o LaTeX w s p i e r a n a p r z e z {#1} i {#2}} Definiowanie Poleceń Zastosowanie \ begin { itemize } \ i t e m \ w b a l s u p { Wikimedia } \ i t e m \ w b a l s u p { w i e l u u ż y t k o w n i k ów! } \ i t e m \ wbalTwo { J o h n Doe }{ A n t h e a S m i t h } \ end { i t e m i z e } Wykonanie • 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 Przedefiniowywanie Poleceń \ renewcommand { name } [ num ] { d e f i n i t i o n } • name - nazwa polecenia już istniejacego ˛ • num - parametry polecenia. Wartości 1-9. do i-tego argumentu odwołujemy sie˛ poprzez #i. • definition - definicja polecenia Przykład \ renewcommand { \ b u l l e t } { \ t e x t c o l o r { r e d } { \ o d o t }} \ renewcommand { \ emph } [ 1 ] {% \ t e x t c o l o r { r e d } { \ t e x t s c {#1}} } Przedefiniowywanie Poleceń Zastosowanie \ begin { itemize } \ item [ $ \ b u l l e t $] Element 1 \ item [ $ \ b u l l e t $] Element 2 \ end { i t e m i z e } Wykonanie Element 1 Element 2 Przedefiniowywanie Poleceń Zastosowanie Co ś \ emph{wa ż nego } p r z e d p r z e d e f i n i o w a n i e m \ v e r b + \ emph + . \ renewcommand { \ emph } [ 1 ] {% \ t e x t c o l o r { r e d } { \ t e x t s c {#1}} } Co ś \ emph{wa ż nego } po p r z e d e f i n i o w a n i u \ v e r b + \ emph + . Wykonanie Coś ważnego przed przedefiniowaniem \emph. Coś WA ŻNEGO po przedefiniowaniu \emph. Komenda def Syntaktyka \ d e f <command> < p a r a m e t e r s >{< r e p l a c e m e n t −t e x t >} • command - nazwa makra • parameters - parametry: #1 ... #9 • replacement-text - definicja • \def jest komenda˛ TEX-a. • \newcommand jest nakładka˛ LATEX-a na \def. • Najbardziej oczywiste korzyści stosowania \newcommand zamiast \def: • \newcommand sprawdza czy komenda już istnieje • \newcommand pozwala zdefiniować opcjonalny argument • Porównaj pliki cw2.tex i cw3.tex Definiowanie nowego środowiska Składnia \newenvironment{name}[num]{before}{after} • Komenda \newenvironment może mieć argument opcjonalny. Nie można ta˛ komenda˛ definiować środowisk już zdefiniowanych. • Aby przedefiniować/zmodyfikować istniejac ˛ a˛ definicj˛e, należy użyć komendy \renewenvironment. • Komenda \newenvironment umieszczana jest przed \begin{document}. Definiowanie nowego środowiska Przykład \ n e w e n v i r o n m e n t { rama } {\ begin { center } \ begin { t a b u l a r }{| p {0.9\ textwidth }|} \ hline \\ }{ \\ \\ \ hline \ end { t a b u l a r } \ end { c e n t e r } } \ b e g i n { document } \ b e g i n { rama } To j e s t t e k s t s f o r m a t o w a n y p r z e z ś r o d o w i s k o rama \ end { rama } \ end { document } Definiowanie nowego środowiska Wykonanie To jest tekst sformatowany przez środowisko rama. To jest tekst sformatowany przez środowisko rama. Definiowanie nowego środowiska Przykład \ n e w e n v i r o n m e n t { rama−p } [ 1 ] {\ begin { center } \ t e x t b f { # 1 } \ \ [ 1 ex ] \ begin { t a b u l a r }{| p {0.9\ textwidth }|} \ hline \\ }{ \ \ \ \ \ hline \ end { t a b u l a r } \ end { c e n t e r } } \ b e g i n { document } \ b e g i n { rama−p }{ To j e s t t y t u ł r a m k i } To j e s t t e k s t s f o r m a t o w a n y p r z e z ś r o d o w i s k o rama \ end { rama−p } \ end { document } Definiowanie nowego środowiska Wykonanie To jest tytuł ramki To jest tekst sformatowany przez środowisko rama. To jest tekst sformatowany przez środowisko rama. • Zobacz cw4.tex.