Matemaattisten tekstien kirjoittaminen tietokoneella

Tämä on tarkoitettu käytännölliseksi yleiskatsaukseksi tapoihin tuottaa matemaattisia ilmaisuja (symboleita, lausekkeita, kaavoja) sisältäviä dokumentteja tietokoneella. Menetelmiä etsittäessä ja valittaessa on tärkeää analysoida, miten monimutkaisia ilmaisuja tullaan tarvitsemaan, esim. halutaanko vain lisätä muutama erikois­merkki (esim. ±) tai lyhyt kaava (esim. E = mc²) tavallisen tekstin joukkoon vai tarvitaanko esimerkiksi mutkikkaita yhtälöitä, joissa on integraaleja, eritasoisia eksponentteja jne. Tämä nimittäin vaikuttaa aivan olennaisesti siihen, miten helpoilla välineillä selvitään.

Tämä sivu käsittelee vain joitakin perusteita ja niitäkin aika hajanaisesti ja vanhahtavalla tavalla. Järjestelmällinen ja laaja esitys aihepiiristä on PDF-kirjassa Matemaattisten merkintöjen kirjoittaminen.

Yksinkertaisimmat jutut: erikoismerkkejä ja vähän lisää

Yksinkertaisimmassa tapauksessa halutaan vain tekstin joukkoon muutamia erikois­sym­bo­lei­ta ja ehkä yläindeksejä, lihavointeja yms. Ne on yleensä helppo toteuttaa vähänkin nyky­aikai­sil­la ohjelmilla, tosin paljolti ohjelma­kohtaisilla keinoilla. Yleisesitys aiheesta on Nykyajan kielenoppaan kohdassa Merkkien kirjoittaminen tietokoneella.

Jopa tavallisessa ISO Latin 1 -merkistössä on muu­ta­mia matemaattisia symboleita, joista kaikki eivät ole tietoisia, esim. kertolaskun merkki ×, nu­me­rot 2 ja 3 yläindekseinä (joilla voi kirjoittaa esim. x² + y²), asteen merkki (esim. 90°) jne.

Tekstinkäsittelyohjelmissa (esim. Word) on jo pitkään ollut välineitä paljon laajemmankin merkistön käyttöön. Ohjelmat pystyvät käsittelemään periaatteessa mitä tahansa Unicoden merkkejä. Rajoituksia aiheuttavat lähinnä fontit. Ks. esim. Alan Woodin koostetta Using special characters from Windows Glyph List 4 (WGL4) in HTML, jossa kuvatut merkit ovat jo melko laajasti käytettävissä. Hän on koonnut myös tietoja editoreista, joilla voi käyttää laajaa merkkivalikoimaa.

Esimerkiksi englanninkielisessä Word 97:ssä voi tekstiin lisätä haluamansa merkin näin: valitaan valikosta Insert kohta Symbol...; sitten tarvittaessa valitaan vaihtoehdoista Symbols ja Special characters ensin mai­nit­tu; valitaan valikosta Subset haluttu Unicode-lohko, esimerkiksi Mathematical Operators; sitten voi valita halutun merkin hiirellä napsauttamalla. Huomaa kuitenkin, että tarjolla olevien merk­kien valikoima voi riippua siitä, mikä fontti (Font) on va­lit­tu­na. Esimerkiksi Lucida Sans Unicode sisältää melko laajan valikoiman, Arial Unicode MS (jos se on käytettävissä) vielä paljon laajemman. Seuraava esimerkkikuva havainnollistaa tilannetta:

[kuva Wordin symbolinlisäysikkunasta]

Mitä uudemmasta Wordin versiosta on kyse, sitä monipuolisempi tämä merkinlisäystoiminto todennäköisesti on.

Lisäksi voi sitten tekstinkäsittelyohjelman keinoin esim. lihavoida ja kursivoida merkkejä.

Edellä kuvatuilla tavoilla saa aikaan esimerkiksi neliöjuurimerkin mutta ei sitä, että juurrettava olisi ”viivan alla”. Hyvin yksinkertaisessa tilanteessa, jossa juuren alla on vain yksi merkki, voisi kuitenkin saada viivan sen merkin päälle kikkailulla. Tulos on ruma, mm. siksi, että viiva ei liity silloin neliöjuurimerkin osaksi. Mutta matematiikkaa kirjoitettaessa voi joskus tulla eteen sellainen tilanne, että tekstiin pitää saada esim. x-kirjain ja sen päälle vaakaviiva. Kömpelösti tämä onnistuu MS Wordissä näin: kirjoitetaan esim. x ja ¯ (yläviiva, overline) peräkkäin, maalataan ne ja sitten annetaan käsky Format > Font > Character spacing ja valitaan Spacing: Condensed ja jokin sopiva arvo, esim. 5pt (Word näyttää ruudulla millaiseksi tilanne menee). Jäljempänä kuvattavat menetelmät ovat kuitenkin yleensä kätevämpiä.

Kirjoitettaessa lausekkeita tekstin sekaan kannattaa yrittää huolehtia siitä, että tekstin­käsit­tely- tai muu ohjelma ei jaa lauseketta eri riveille kovin pahasti. Jos esim. lauseke a + b kir­joi­te­taan niin, että plusmerkin molemmin puolin on välilyönti, useimmat ohjelmat ovat valmiit jakamaan plussan kummaltakin puolelta. Tämä voidaan yleensä estää käyttämällä ns. sitovaa välilyöntiä (no-break space).

Tekstinkäsittelyohjelmilla voi myös tuottaa ala- ja yläindeksejä, esimerkiksi a1 ja (x+y)n. Yläindeksiä käytetään etenkin potenssien merkinnöissä. Indeksin lisäämiseksi kirjoitetaan ensin indeksiksi haluttu merkki tai pitempi ilmaus normaalisti, valitaan se (esimerkiksi hii­rel­lä maalaamalla) ja annetaan käsky Muotoile/Fontti, ja sitten Fontti-välilehdeltä rastitaan kohta Alaindeksi tai Yläindeksi (Tehosteet-otsikon alla).

Jos tarvitset ala- tai yläindeksejä usein, voit määritellä haluamasi näppäinkomennon tai -komennot tätä varten, ns. makron määrittelyllä. Makrojen määrittely on melko helppoa, ja sen voi opiskella tekstinkäsittelyohjelman oppikirjasta (tai ohjeesta).

Kaavaeditorit

Useisiin tekstinkäsittelyohjelmiin sisältyy tai niihin on saatavissa erillisenä lisukkeena jonkinlainen kaavaeditori, jolla voi tuottaa suhteellisen mutkikkaitakin kaavoja. Kaavojen ulkoasun laatu riippuu ohjelmasta ja myös käyttäjän taidoista.

Wordissa on versiosta 2007 alkaen varsin kehittynyt kaavaeditori itse ohjelman osana, kaavatilana. Siihen päästään komennolla Lisää > Kaava. Tosin se käyttää kaavoille omaa sisäistä esitys­muo­toaan, jota edes vanhemmat Wordin versiot eivät osaa Sen käyttö kuvataan edellä mainitussa PDF-kirjassa Matemaattisten merkintöjen kirjoittaminen.

Seuraavassa käsitellään kaavojen tekemistä Wordin vanhemmilla versioilla sekä muissa tekstin­käsittely­ohjelmissa.

[Kuva Wordin kaavaeditorin käytöstä: Normaalissa Word-ikkunassa
on suorakaiteen muotoinen alue, jossa tuotettava kaava näkyy, ja
erillinen työkaluvalikko, jossa on erilaisia matemaattisia symboleita.]

MS Office -paketin mukana aiemmin tullut kaavaeditori (Equation Editor) voidaan asentaa niin, että se on käytettävissä Wordissa. Yllä oleva kuva havainnollistaa, miltä sen käyttö näyttää. Työkalupainikkeista voi valita halutun matemaattisen rakenteen, jonka sisään sitten kirjoitetaan halutut symbolit.

[Kuva: neliöjuuri a²+b²:stä] Jos kaavaeditoria ei ole asennettu, voi yrittää katsoa, mitä saisi aikaiseksi huomattavasti ra­joit­tu­neem­mal­la ja kömpelömmällä toiminnolla: valitaan Insert > Field... ja kategoria "Equations and Formulas" ja kohdasta Field names vaihtoehto "Eq". Suomenkielisessä vastaavasti Lisää > Kenttä > Kaavat ja yhtälöt > Eq. Syöttölaatikkoon, jossa lukee nyt alussa valmiiksi EQ, kirjoitetaan sen perään haluttu kaava erityisillä merkintätavoilla. Painikkeella Options... (Asetukset...) näkee sitten, mitä voi tehdä ja miten alkeellisin välinein. Napsauttamalla ensin ikkunan yläreunassa olevaa kysymysmerkkiä ja sitten kohtaa "Eq" saa tarkemman selostuksen käytettävissä olevista mahdollisuuksista. Esimerkiksi ohessa näkyvä kaava (neliöjuuri a²+b²:stä) on tuotettu tällä menetelmällä, käyttäen notaatiota EQ \R(;a\S(2)+b\S(2)) (missä \R = radical = juurilauseke ja \S = superscript = yläindeksi). Ja esimerkiksi x:n, jossa on viiva päällä, saa aikaan näin: EQ \o(x;¯) (missä tarvittava yläviiva ¯ saadaan aikaan esim. näppäilyllä Alt 0175.

OpenOfficessa on monipuolinen kaavaeditori, jonka käyttö poikkeaa useassa suhteessa Wordin kaavaeditorista. Sitä kuvaa Ilpo Kuivasen sivu OpenOffice, Kaavaeditori.

Hyvin monipuolinen maksullinen kaavaeditori on MathType. Sillä voi myös tehdä muun­nok­sia ohjelman käyttämän esitysmuodon ja muiden muotojen (esim. Word, PDF, LaTeX, MathML) välillä.

Vaativaan käyttöön: LaTeX

Monimutkaisten lausekkeiden siistiin, kirjapainotasoiseen esittämiseen sopii LaTeX. Ks. esim. Johdatus LaTeXiin, jonka kautta löytyy viitteitä lisätietoihin, LaTeXin hankkimiseen ja käytön opetteluun. On luultavasti parasta kirjoittaa koko juttu LaTeXilla, jos aikoo tehdä ma­te­maat­ti­set lausekkeet sillä. Näin saadaan yhtenäinen ja siisti ulkoasu. LaTeXin opiskelu ja käytön harjoittelu vie oman aikansa, mutta se on luultavasti kannattavaa, jos kirjoitat paljon ma­te­maat­ti­sia tekstejä.

Esimerkki: Tämän dokumentin alussa esitetty kaava, joka esittää yliharmonisen sarjan summaa koskevan säännön, on tuotettu seuraavalla LaTeX-koodilla:

\begin{displaymath}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{displaymath}

Kaavojen tuottamista voi helpottaa LyX, joka tarjoaa graafisen käyttöliittymän, jolla voi tuottaa LaTeX-dokumentteja. Ohjelma on varsin helppokäyttöinen, eikä käyttö edes vaadi LaTeXin osaamista.

Verkkojulkaiseminen

Edellä esitetty koskee lähinnä kaavojen saamista paperille tai kuvaruudulle jollakin eri­tyi­sel­lä ohjelmalla katsottuna. Jos halutaan julkaista Webissä matemaattisia doku­ment­te­ja, ei kovin hyviä tapoja toistaiseksi ole. Esimerkiksi Word-, PDF- tai PostScript-muotoiset julkaisut ovat toki enemmän kuin ei mitään, mutta ne eivät tarjoa kovinkaan joustavia mahdollisuuksia Webin kannalta. Joitakin näkökohtia siitä, mitä voi tehdä suhteellisen siirrettävästi, on esitetty jutussani Math in HTML (and CSS).