Flere ganger har jeg skrevet om Notepad++ og hvordan du enkelt kan utvide funksjonaliteten til programmet. Forrige gang skrev jeg om hvordan du kunne kompilere og kjøre Java-applikasjoner.
Denne gangen handler det om LaTeX og hvordan du kan skrive LaTeX-dokumenter i Notepad++, samt hvordan du får dem over til PDF- eller PostScript-format.
Før vi går i gang …
For at ting skal gå knirkefritt for deg så bør du helst leste artikkelen jeg skrev om kompilering av Java i Notepad++, spesielt om hvordan du installerer NppExec. Deretter må du sørge for at du har installert MiKTeX, som er nødvendig for å kunne kompilere LaTeX.
Steg 1: Opprette batch-filer
Innstikket NppExec gir oss muligheten til å kjøre kommandoer direkte i Notepad++, og gjerne med en hurtigtast. Vi skal bruke dette innstikket til å kjøre to forskjellige batch-filer, som skal stå for å kompilere LaTeX til PDF eller PostScript.
Opprett en batch-fil med navnet «latex-pdflatex.bat». I denne filen skriver du inn følgende kode:
cd %1
pdflatex.exe %2
Denne batch-filen har som oppgave å kompilere et TeX-dokument direkte til PDF.
Deretter må du opprette en ny batch-fil med navnet «latex-postscript.bat». Denne filen skal brukes dersom LaTeX-dokumentet inneholder vektorgrafikk, for da må dokumentet gjøres om til PostScript først (PostScript-filer kan enkelt konverteres til PDF senere).
Filen må inneholde følgende kode:
cd %1
latex.exe -src-specials %2.tex
dvips.exe %2
Dette programmet sørger for at LaTeX-dokumentet blir gjort om til en .dvi-fil, for så til PostScript.
Steg 2: Opprette makroer i Notepad++
For å finne ut hvordan du oppretter makroer i Notepad++, anbefaler jeg deg å lese forrige artikkel jeg skrev om emnet. Du følger samme prosedyre som beskrevet der, bare du bytter ut navnet på makroen samt kommandoen. Det er også beskrevet hvordan du kan tilegne tastatursnarveier til makroene.
Innenfor realfagene matematikk, fysikk og kjemi skriver jeg alt av rapporter og øvinger i LaTeX, som er et typesettingssystem for dokumentproduksjon. Det er spesielt egnet for matematisk litteratur, og blir definert av den engelske Wikipedia slik:
A document-typesetting system derived from TeX and used mainly to create scientific and mathematical literature.
LaTeX er originalt skrevet for Linux, men er per i dag tilgjengelig på alle plattformer gjennom ulike distribusjoner. Personlig bruker jeg distribusjonen MikTeX med versjonsnummer 2.8. Redigeringsprogrammet jeg bruker heter LaTeX Editor — forkortet LEd.
Det er tusenvis av fordeler for å bruke LaTeX kontra såkalte What You See Is What You Get-program (Microsoft Office, OpenOffice, Lotus Symphony etc.). Den største er at i LaTeX så er det du som har kontrollen: What You See Is What You Mean. Ting blir faktisk slik du sier det skal være!
Du har vel sett noen matematiske formler på Wikipedia? Der anvender de nemlig LaTeX, og ser omtrent slik ut:
Det er nemlig dette jeg har tenkt å ta tak i, i denne posten: nemlig forklare deg hvordan du også kan få slike deilige formler på din nettside!
Hva må gjøres klart?
For å skrive LaTeX på PC-en din, og for at alt skal gå optimalt, krever det en rekke program som f.eks MikTeX (LaTeX-distro), LEd (redigering) og GhostScript / Ghost View (postscript-støtte). For å skrive LaTeX på nett krever jeg derimot at du kun har MikTeX installert!
PS: Jeg tar som utgangspunkt at webserveren din er din egen PC. Veldig få webhotell-leverandører som installerer LaTeX…
Last så ned siste versjon av MikTeX og installer denne på PC-en din. For din egen del er det nok lurest å velge «Basic Installer». Her vil kun de mest nødvendige pakkene bli installert (pakker kan oversettes som plugins). Om du ønsker å installere alle pakker tilgjengelig, velger du «Complete MikTeX System».
La oss begynne!
Det aller første du må gjøre rede for er følgende:
Hvor installerte du MikTeX?
La oss si du installerte programmet i C:\Programfiler\MikTeX 2.8\
Da må du leite frem til miktex\bin\latex.exe og \miktex\bin\dvipng.exe.
Dersom disse programmene ikke er tilstede, vil du ikke være i stand til å gjennomføre denne guiden: prøv da å re-installere MikTeX.
Har du lokalisert programmene? Flott — da går vi videre.
Finn frem til root-mappen på serveren din (bruker du WampServer er dette C:\wamp\www\). Opprett en mappe som du kaller for «latex».
Inni den nye mappen, oppretter du så følgende mapper:
images
tmp
«Images» er mappen hvor de endelige formlene kommer til å bli plassert, og «tmp» er mappen hvor produksjonsfilene våre ligger. Når du kompilerer et dokument i LaTeX vil det bli opprettet totalt 4 filer per prosjekt. Disse er respektivt .tex, .aux, .log og .dvi. Tex-filen inneholder selve dokumentet vårt, og DVI-filen er selve outputen etter kompilering. Disse to er essensielle.
PHP-klassen
Jeg har allerede skrevet klassen ferdig, som du skal få. Før jeg overrekker den, vil jeg ta tiden til å forklare litt hva den gjør.
Det er to ting du umiddelbart må få i stand etter at du har lastet ned klassen:
- Øverst i klassen er det deklarert to variabler: _latex_path og _dvipng_path. Disse må du endre til hva du fant ut i punkt #1 (under «La oss begynne!»). Det er veldig viktig at du følger denne regelen når du endrer sti: Variabelen må være omgitt av to enkle apostrofer, og selve stien til programmene må være omgitt av gåseøyne.
Dette er fordi at dersom det er mellomrom en plass i stien (i C:\Program Files\MikTeX\ er det mellomrom i «Program Files») må teksten være omgitt av gåseøyne, som forteller at teksten skal tolkes som én sti, og ikke to.
Dersom stien til latex.exe på PC-en din er følgende: C:\Program Files\MikTeX 2.8\miktex\bin\latex.exe skal _latex_path være formet slik:
I seg selv er den ganske liten, og rett frem. Det er en innebygget cache-funksjon som lagrer bildene ved hjelp av:
den matematiske formelen
tekst-størrelsen
Om du vil endre tekst-størrelse, gjør du slik:
latex->set ('font_size', 16); // 16 is the font size, measured in "points"
Dersom du vil endre artikkel-klassen for dokumentet, gjør du slik:
$latex->set ('article_class', 'article');
Ved default er det «scrartcl» som fungerer som dokumentets klasse, men dette er en tilleggspakke som må installeres. Derfor kan du anvende «article» som kommer ferdig-installert via MikTeX.
… og slik setter du innholdet:
$latex->set ('tex_content', '\frac{1}{2}');
For å rendere dokumentet, og vise den endelige formelen som et bilde, gjør du slik:
Klassen støtter naturligvis linking, og kan brukes slik:
data = $latex->set ('font_size', 16)->set ('tex_content', 'ax^2 + bx + c = 0')->render ();
Dersom du ønsker å skrive ABC-formelen (som jeg viste lengre oppe i artikkelen), skriver du den slik:
x = \frac{ -b \pm \sqrt{b^2 - 4ac}}{2a}
Flyteskjema
For de av dere som er interessert i flowcharts (meg inkludert): slik er fremgangsmåten i klassen:
Det var det!
Nå er du i bunn og grunn ferdig, og kan begynne å eksperimentere selv. Det rådes selvsagt at du har noen kunnskaper innen LaTeXs måter å skrive ting på. Om du vil lese deg opp på emnet, er det mange gode ressurser for det: