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.