Informatika1-2015/Gyakorlat8

A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „== Newcommand == * A '''\newcommand''' paranccsal új parancsokat tudunk definiálni. * Gondoljunk erre úgy, mint egyfajta rövidítésre. * Például, ha gyakran ha…”)
 
 
(egy szerkesztő 13 közbeeső változata nincs mutatva)
1. sor: 1. sor:
 
== Newcommand ==
 
== Newcommand ==
  
* A '''\newcommand''' paranccsal új parancsokat tudunk definiálni.  
+
* A '''\newcommand''' paranccsal új parancsokat tudunk definiálni. Ezt a preambulumban ('''\begin{document}''' elõtt) kell megtenni.
 
* Gondoljunk erre úgy, mint egyfajta rövidítésre.
 
* Gondoljunk erre úgy, mint egyfajta rövidítésre.
* Például, ha gyakran használjuk a valós számok halmazának a jelét, akkor csinálhatjuk a következõt
+
* Például, ha gyakran használjuk a valós számok halmazának a jelét, akkor csinálhatjuk a következõt:
 
<latex>
 
<latex>
 
...
 
...
14. sor: 14. sor:
 
\end{document}
 
\end{document}
 
</latex>
 
</latex>
* Az elsõ paraméter az új parancs neve, a második pedig a kívánt eredmény.
+
* Ezzel a '''newcommand'''-al, ha '''\R'''-et írunk, akkor '''\mathbb{R}'''-el helyettesíti.
 +
* A '''newcommand'''-nál az elsõ paraméter az új parancs neve, a második pedig a kívánt eredmény.
 +
* Ugyanígy írhatnánk parancsot az egész számok halmazára, stb.
 +
 
 +
=== Argumentumokkal ===
 +
 
 +
* Bonyolultabb parancsokat is definiálhatunk, ha például szép határozatlan integrált szeretnénk írni gyorsan:
 +
<latex>
 +
...
 +
\newcommand{\myint}[2]{\int #1 \,\mathrm{d}#2}
 +
...
 +
\begin{document}
 +
\[
 +
\myint{x^2 \sin^2 x}{x} + \myint{x^2 \cos^2 x}{x} = \myint{x^2}{x}
 +
\]
 +
\end{document}
 +
</latex>
 +
* Itt az opcionális '''[2]''' paraméter azt mondja meg, hogy 2 argumentuma (bemenete) van a parancsnak.
 +
* Az argumentumokat a '''#1''', '''#2'''... helyére helyezi be. Így ennél a parancsnál az elsõ argumentum az integrandus, a második az integrátor.
 +
 
 +
* Ha már létezik olyan nevet akarunk adni a parancsunknak, ami már létezik, akkor hibaüzenetet fogunk kapni, például az elõzõ esetben, ha '''int'''-nek neveztem volna.
 +
* Ekkor is felül lehet definiálni a parancsot a '''\renewcommand''' paranccsal, bár ez az esetek többségében nem ajánlott.
 +
 
 +
=== Feladatok ===
 +
 
 +
Minta latex dokumentum keret:
 +
<latex>
 +
\documentclass{article}
 +
\usepackage[T1]{fontenc}
 +
\usepackage[utf8]{inputenc}
 +
\usepackage[magyar]{babel}
 +
 
 +
\usepackage{amsmath}
 +
\usepackage{amsthm}
 +
\usepackage{amssymb}
 +
 
 +
\usepackage{tikz} % ez a rajzoló csomag, amit az óra második felében fogunk használni.
 +
 
 +
%Rosszul elválasztott szavak elválasztását tudjuk javítani
 +
\hyphenation{ke-rék-pár-út}
 +
 
 +
\begin{document}
 +
 
 +
 
 +
 
 +
\end{document}
 +
</latex>
 +
 
 +
==== Halmazok ====
 +
 
 +
Definiáljuk a racionális, egész és természetes számok halmazát a példában látott módon. Majd ezeket próbáljuk is ki.
 +
 
 +
==== Vektor ====
 +
 
 +
Definiáljunk parancsot, melynek egy argumentuma van. A parancs tegyen egy jobbra nyilat az argumentum fölé az '''\overrightarrow{ }'''-val. Ezzel vektorokat tudunk majd kényelmesen írni. Nevezzük például '''vect'''-nek, majd miután lefordítottuk és rájöttünk, hogy ez már foglalt nevezzük át '''myvect'''-re. Majd írjuk le egy tetszõleges képletet vektorokkal.
 +
 
 +
Igazából annyira nem is rövidítette le a kódunkat ez az új parancs, hisz csak overrightarrow helyett myvect-et kell írni, ami csak 8 karakterrel kevesebb. Mégis hasznos, gondoljunk bele, ha megírtunk egy több oldalas dokumentumot, tele vektorokkal és hirtelen meggondoltuk magunkat és inkább aláhúzással szeretnénk jelölni a vektorokat. Ha a myvect-et használtuk a vektorokhoz, akkor elég csak a newcommand-ban megváltoztatni a jelölést, aláhúzás esetén '''\underline{ }'''-ra. Próbáljuk is ezt ki.
 +
 
 +
 
 +
== TikZ (rajzolás latex-ben) ==
 +
 
 +
Áttekintés: [http://math.bme.hu/~kkovacs/info1/TikZ-eloadas.pdf TikZ-eloadas.pdf]
 +
 
 +
=== Feladatok ===
 +
 
 +
Használhatjuk az elõzõ feladatokhoz megnyitott file-t. Egy kis tanács: sose felejtsük el a TikZ parancsok végérõl a pontosvesszõt, ez egy tipikus hibaforrás.
 +
 
 +
==== Háromszög ====
 +
 
 +
Készítsünk egy szép ábrát egy háromszögrõl lépésrõl lépésre: [http://math.bme.hu/~kkovacs/info1/haromszog.pdf haromszog.pdf]
 +
 
 +
==== Függvényre rajzolás ====
 +
 
 +
Készítsük el ezt az ábrát: [http://math.bme.hu/~kkovacs/info1/fuggv2.pdf fuggv2.pdf] ennek a segítségével: [http://math.bme.hu/~kkovacs/info1/fugg.pdf fugg.pdf]. Ehhez használjuk TikZ-n belül az '''\includegraphics''' parancsot majd, hogy könnyebben tudjuk belõni, hogy hova kell a nyilat rakni használjuk a következõ TikZ parancsot:
 +
<latex>
 +
\draw[help lines] (-5,-5) grid (5,5);
 +
</latex>
 +
Ezt az includegraphics után csináljuk (különben a grafika eltakarja a rácsokat).
 +
 
 +
==== Folyam (bónusz) ====
 +
 
 +
Reprodukáljátok a következõ ábrát (körülbelül): [http://math.bme.hu/~kkovacs/info1/folyam.pdf folyam.pdf]
 +
 
 +
==== Ház (bónusz) ====
 +
 
 +
* Rajzoljunk egy házat Tikzvel! (Elég úgy ahogy egy óvodás rajzolná.)
 +
** Kezdjük csak azzal, hogy rajzolunk egy négyzetet.
 +
** Majd rajzoljunk a négyzet fölé egy szabályos háromszöget. Használjátok az sqrt függvényt!
 +
* Vastagítsuk meg a vonalait, ügyeljünk arra, hogy az utolsó sarok is szép legyen.
 +
* Legyen kiszínezve a háznak legalább a teteje.
 +
* Szépítsük ahogy jónak látjuk, esetleg egy kémény? Vagy Ablak? Garázs?

A lap jelenlegi, 2015. október 27., 10:55-kori változata

Tartalomjegyzék

Newcommand

  • A \newcommand paranccsal új parancsokat tudunk definiálni. Ezt a preambulumban (\begin{document} elõtt) kell megtenni.
  • Gondoljunk erre úgy, mint egyfajta rövidítésre.
  • Például, ha gyakran használjuk a valós számok halmazának a jelét, akkor csinálhatjuk a következõt:
...
\newcommand{\R}{\mathbb{R}}
...
\begin{document}
\[
x^2 \geq 0 \quad \forall x\in\R
\]
\end{document}
  • Ezzel a newcommand-al, ha \R-et írunk, akkor \mathbb{R}-el helyettesíti.
  • A newcommand-nál az elsõ paraméter az új parancs neve, a második pedig a kívánt eredmény.
  • Ugyanígy írhatnánk parancsot az egész számok halmazára, stb.

Argumentumokkal

  • Bonyolultabb parancsokat is definiálhatunk, ha például szép határozatlan integrált szeretnénk írni gyorsan:
...
\newcommand{\myint}[2]{\int #1 \,\mathrm{d}#2}
...
\begin{document}
\[
\myint{x^2 \sin^2 x}{x} + \myint{x^2 \cos^2 x}{x} = \myint{x^2}{x}
\]
\end{document}
  • Itt az opcionális [2] paraméter azt mondja meg, hogy 2 argumentuma (bemenete) van a parancsnak.
  • Az argumentumokat a #1, #2... helyére helyezi be. Így ennél a parancsnál az elsõ argumentum az integrandus, a második az integrátor.
  • Ha már létezik olyan nevet akarunk adni a parancsunknak, ami már létezik, akkor hibaüzenetet fogunk kapni, például az elõzõ esetben, ha int-nek neveztem volna.
  • Ekkor is felül lehet definiálni a parancsot a \renewcommand paranccsal, bár ez az esetek többségében nem ajánlott.

Feladatok

Minta latex dokumentum keret:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[magyar]{babel}
 
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
 
\usepackage{tikz} % ez a rajzoló csomag, amit az óra második felében fogunk használni.
 
%Rosszul elválasztott szavak elválasztását tudjuk javítani
\hyphenation{ke-rék-pár-út}
 
\begin{document}
 
 
 
\end{document}

Halmazok

Definiáljuk a racionális, egész és természetes számok halmazát a példában látott módon. Majd ezeket próbáljuk is ki.

Vektor

Definiáljunk parancsot, melynek egy argumentuma van. A parancs tegyen egy jobbra nyilat az argumentum fölé az \overrightarrow{ }-val. Ezzel vektorokat tudunk majd kényelmesen írni. Nevezzük például vect-nek, majd miután lefordítottuk és rájöttünk, hogy ez már foglalt nevezzük át myvect-re. Majd írjuk le egy tetszõleges képletet vektorokkal.

Igazából annyira nem is rövidítette le a kódunkat ez az új parancs, hisz csak overrightarrow helyett myvect-et kell írni, ami csak 8 karakterrel kevesebb. Mégis hasznos, gondoljunk bele, ha megírtunk egy több oldalas dokumentumot, tele vektorokkal és hirtelen meggondoltuk magunkat és inkább aláhúzással szeretnénk jelölni a vektorokat. Ha a myvect-et használtuk a vektorokhoz, akkor elég csak a newcommand-ban megváltoztatni a jelölést, aláhúzás esetén \underline{ }-ra. Próbáljuk is ezt ki.


TikZ (rajzolás latex-ben)

Áttekintés: TikZ-eloadas.pdf

Feladatok

Használhatjuk az elõzõ feladatokhoz megnyitott file-t. Egy kis tanács: sose felejtsük el a TikZ parancsok végérõl a pontosvesszõt, ez egy tipikus hibaforrás.

Háromszög

Készítsünk egy szép ábrát egy háromszögrõl lépésrõl lépésre: haromszog.pdf

Függvényre rajzolás

Készítsük el ezt az ábrát: fuggv2.pdf ennek a segítségével: fugg.pdf. Ehhez használjuk TikZ-n belül az \includegraphics parancsot majd, hogy könnyebben tudjuk belõni, hogy hova kell a nyilat rakni használjuk a következõ TikZ parancsot:

\draw[help lines] (-5,-5) grid (5,5);

Ezt az includegraphics után csináljuk (különben a grafika eltakarja a rácsokat).

Folyam (bónusz)

Reprodukáljátok a következõ ábrát (körülbelül): folyam.pdf

Ház (bónusz)

  • Rajzoljunk egy házat Tikzvel! (Elég úgy ahogy egy óvodás rajzolná.)
    • Kezdjük csak azzal, hogy rajzolunk egy négyzetet.
    • Majd rajzoljunk a négyzet fölé egy szabályos háromszöget. Használjátok az sqrt függvényt!
  • Vastagítsuk meg a vonalait, ügyeljünk arra, hogy az utolsó sarok is szép legyen.
  • Legyen kiszínezve a háznak legalább a teteje.
  • Szépítsük ahogy jónak látjuk, esetleg egy kémény? Vagy Ablak? Garázs?
Személyes eszközök