{"id":163,"date":"2017-09-29T15:48:33","date_gmt":"2017-09-29T12:48:33","guid":{"rendered":"https:\/\/coursepages.uta.fi\/mtta1-latex\/?page_id=163"},"modified":"2022-08-14T13:54:16","modified_gmt":"2022-08-14T10:54:16","slug":"komennot","status":"publish","type":"page","link":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/jatko\/komennot\/","title":{"rendered":"Uudet komennot"},"content":{"rendered":"<p>T\u00e4h\u00e4n sivuun liittyv\u00e4t esimerkkitiedostot <a href=\"https:\/\/webpages.tuni.fi\/latex\/komennot.tex\">komennot.tex<\/a> ja <a href=\"https:\/\/webpages.tuni.fi\/latex\/komennot.pdf\">komennot.pdf<\/a>.<\/p>\n<p>Kuten <a href=\"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/johdanto\/\">Johdanto-sivulla<\/a> mainittiin LaTeX on kokoelma makroja. Makro puolestaan on komentojono tai ohjelmanp\u00e4tk\u00e4, joka voidaan suorittaa yhdell\u00e4 yksinkertaisella komennolla. Komennot t\u00e4ss\u00e4 tapauksessa ovat joko muita makroja tai TeXin primitiivikomentoja, joiden avulla kaikki LaTeXin makrot on pohjimmiltaan m\u00e4\u00e4ritelty.<\/p>\n<p>Uusia komentoja m\u00e4\u00e4ritell\u00e4\u00e4n LaTeXissa komennolla <code>\\newcommand*<\/code>:<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\newcommand*{\\komento}[n][oletusarvo]{m\u00e4\u00e4rittely}\r\n<\/pre>\n<p>T\u00e4sss\u00e4 <code>\\komento<\/code> on m\u00e4\u00e4ritelt\u00e4v\u00e4 komento, <code>n<\/code> on m\u00e4\u00e4ritelt\u00e4v\u00e4n komennon argumenttien lukum\u00e4\u00e4r\u00e4 (1\u20139), <code>oletusarvo<\/code> on mahdollisen valinnaisen argumentin oletusarvo ja <code>m\u00e4\u00e4rittely<\/code> sis\u00e4lt\u00e4\u00e4 komennon m\u00e4\u00e4rittelyn. Mik\u00e4li komennolla ei ole argumentteja, niin <code>[n]<\/code> ja <code>[oletusarvo]<\/code> j\u00e4tet\u00e4\u00e4n pois. Komennon m\u00e4\u00e4rittelyss\u00e4 argumentteihin viitataan muodossa <code>#1<\/code>,&#8230;,<code>#9<\/code>. Komennon nimess\u00e4 saa k\u00e4ytt\u00e4\u00e4 vain englanninkielisen aakkoston kirjaimia <code>a<\/code>,&#8230;,<code>z<\/code>, <code>A<\/code>,&#8230;,<code>Z<\/code>,\u00a0tai vaihtoehtoisesti komennon nimi voi koostua yhdest\u00e4 mielivaltaisesta merkist\u00e4. Seuraavassa joitain esimerkkej\u00e4.<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\newcommand*{\\pvm}{\\number\\day.\\number\\month.\\number\\year}\r\n<\/pre>\n<p>Komento <code>\\pvm<\/code> tulostaa nykyisen p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4n numeromuodossa, esimerkiksi 14.8.2022.<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\newcommand*{\\class}[1]{\\ensuremath{\\mathcal{#1}}}\r\n<\/pre>\n<p>Komento <code>\\class<\/code> tulostaa argumenttinsa matematiikkatilan kalligrafisella fontilla, jollaista matematiikassa usein k\u00e4ytet\u00e4\u00e4n luokkien eli joukoista koostuvien joukkojen merkitsemiseen. On parempi m\u00e4\u00e4ritell\u00e4 t\u00e4llaista tarkoitusta varten uusi komento kuin k\u00e4ytt\u00e4\u00e4 suoraan komentoa <code>\\mathcal<\/code>, koska t\u00e4ll\u00f6in n\u00e4hd\u00e4\u00e4n heti, mink\u00e4 tyyppisest\u00e4 objektista on kyse. Lis\u00e4ksi komennon <code>\\class<\/code> m\u00e4\u00e4rittely\u00e4 on tarvittaessa helppo muuttaa. Komento <code>\\ensuremath<\/code> varmistaa, ett\u00e4 sen argumentti k\u00e4sitell\u00e4\u00e4n aina matematiikkatilassa. T\u00e4ten komennon <code>\\class<\/code> ymp\u00e4rille ei tarvitse lis\u00e4t\u00e4 matematiikkatilan edellytt\u00e4mi\u00e4 dollarin merkkej\u00e4: <code>luokka~\\class{A}<\/code>.<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\newcommand*{\\xvec}[1][n]{\\ensuremath{(x_1,\\dots,x_{#1})}}\r\n<\/pre>\n<p>Komento <code>\\xvec<\/code> ilman argumenttia tulostaa alkioittain esitetyn vektorin (<em>x<\/em><sub style=\"font-size: smaller\">1<\/sub>,&#8230;,<em>x<sub style=\"font-size: smaller\">n<\/sub><\/em>). Komento <code>\\xvec[m]<\/code> tulostaa vektorin (<em>x<\/em><sub style=\"font-size: smaller\">1<\/sub>,&#8230;,<em>x<sub style=\"font-size: smaller\">m<\/sub><\/em>). LaTeXin komennoilla voi olla korkeintaan yksi valinnainen argumentti, ja valinnaisen argumentin on oltava komennon ensimm\u00e4inen argumentti (<code>#1<\/code>).<\/p>\n<p>Komennolla <code>\\newcommand*<\/code> m\u00e4\u00e4riteltyjen uusien komentojen argumentit eiv\u00e4t saa sis\u00e4lt\u00e4\u00e4 kappaleen vaihtoja eli tyhji\u00e4 rivej\u00e4 tai <code>\\par<\/code>-komentoja. Jos on tarvetta sellaiselle uudelle komennolle, jonka argumentit <em>saavat<\/em> sis\u00e4lt\u00e4\u00e4 useita kappaleita teksti\u00e4, niin on k\u00e4ytett\u00e4v\u00e4 komentoa <code>\\newcommand<\/code>, siis ilman t\u00e4hte\u00e4.<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\newcommand{\\sffootnote}[1]{\\footnote{\\sffamily#1}}\r\n<\/pre>\n<p>Jos komennolla <code>\\newcommand*<\/code> m\u00e4\u00e4ritelty\u00e4 uutta komentoa k\u00e4ytett\u00e4ess\u00e4 unohdetaan joku loppusulku pois, niin LaTeXin ei tarvitse etsi\u00e4 loppusulkua kuin kyseisen kappaleen loppuun. Jos taas uusi komento on m\u00e4\u00e4ritelty komennolla <code>\\newcommand<\/code>, niin sulkeiden tarkistus voi edet\u00e4 pitk\u00e4lle ohi varsinaisesta virheest\u00e4, koska n\u00e4in m\u00e4\u00e4ritellyn komennon argumentti saa sis\u00e4lt\u00e4\u00e4 kappaleen vaihtoja. T\u00e4m\u00e4n vuoksi uudet komennot tulisi p\u00e4\u00e4s\u00e4\u00e4nt\u00f6isesti m\u00e4\u00e4ritell\u00e4 komennolla <code>\\newcommand*<\/code>.<\/p>\n<p>Komennoilla <code>\\newcommand*<\/code> ja <code>\\newcommand<\/code> ei voi m\u00e4\u00e4ritell\u00e4 uudelleen jo olemassa olevia komentoja. T\u00e4h\u00e4n tarkoitukseen on k\u00e4ytett\u00e4v\u00e4 komentoja <code>\\renewcommand*<\/code> ja <code>\\renewcommand<\/code>:<\/p>\n<pre style=\"background-color: #f8f8f8;border: 1px solid #aaa;padding: 0.5em 0.6em 0.6em 0.7em\">\\renewcommand*{\\bibname}{L\u00e4hdeluettelo}\r\n<\/pre>\n<p>Dokumenttiluokissa book ja report komento <code>\\bibname<\/code> sis\u00e4lt\u00e4\u00e4 l\u00e4hdeluettelon nimen, joka suomenkielisiss\u00e4 dokumenteissa on oletusarvoisesti <code>Kirjallisuutta<\/code>. Dokumenttiluokassa article l\u00e4hdeluettelon nimi on komennossa <code>\\refname<\/code>. Yll\u00e4 oleva komento on annettava vasta komennon <code>\\begin{document}<\/code> j\u00e4lkeen, sill\u00e4 babel-makropaketti est\u00e4\u00e4 n\u00e4iden sis\u00e4isten nimien muuttamisen ennen dokumentin alkua.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4h\u00e4n sivuun liittyv\u00e4t esimerkkitiedostot komennot.tex ja komennot.pdf. Kuten Johdanto-sivulla mainittiin LaTeX on kokoelma makroja. Makro puolestaan on komentojono tai ohjelmanp\u00e4tk\u00e4, joka voidaan suorittaa yhdell\u00e4 yksinkertaisella komennolla. Komennot t\u00e4ss\u00e4 tapauksessa ovat joko muita makroja tai TeXin primitiivikomentoja, joiden avulla kaikki LaTeXin makrot on pohjimmiltaan m\u00e4\u00e4ritelty. Uusia komentoja m\u00e4\u00e4ritell\u00e4\u00e4n LaTeXissa komennolla \\newcommand*: \\newcommand*{\\komento}[n][oletusarvo]{m\u00e4\u00e4rittely} T\u00e4sss\u00e4 \\komento on m\u00e4\u00e4ritelt\u00e4v\u00e4 &hellip; <a href=\"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/jatko\/komennot\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Uudet komennot<\/span><\/a><\/p>\n","protected":false},"author":38,"featured_media":0,"parent":112,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-163","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/pages\/163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":11,"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/pages\/163\/revisions"}],"predecessor-version":[{"id":886,"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/pages\/163\/revisions\/886"}],"up":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/pages\/112"}],"wp:attachment":[{"href":"https:\/\/coursepages2.tuni.fi\/mtta1-latex\/wp-json\/wp\/v2\/media?parent=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}