Oon jostain aamukahdesta saakka väkertänyt gradua.
Vaikka TEX ja LATEX ovatkin erittäin vähäbugisia softia, niin ainakin TEX-distribuution nimeltä teTEX mukana tuleva pdfTEX ja pdfLATEX bugailee mulla vähän väliä, esim. tähän tapaan:
[23.35 ./sosl70c.diskurssi.tex:144: pdfTeX error (ext4): \pdfendlink ended up in diffe rent nesting level than \pdfstartlink ./sosl70c.diskurssi.tex:144: ==> Fatal error occurred, the output PDF file is not finished! Transcript written on sosl70c.log.
Tuota bugaamista olen välillä kiertänyt muuttelemalla "nesting leveliä" milloin mitenkin. Ja melkein sama LATEX-koodi kääntyy normaalissa LATEX -ajossa tuosta vaan. Olennaisin ero niissä on se, että pdfLATEX:ia ajaessa teksti on kaksipalstaista ja sivut ovat landscape-asennossa. Makefile:ssä "pdf-screen" on se "target", jolla tuo saadaan aikaan. Kuten nimikin sanoo, tuon on tarkoitus olla helpommin ruudulta luettavissa:
pdf-screen : purge-dvi pdflatex -file-line-error-style $(BASENAME).tex - bibtex $(BASENAME) - ./bibtexall pdflatex -src-specials -file-line-error-style $(BASENAME).tex while grep 'Rerun to get' $(BASENAME).log > /dev/null; do pdflatex -src-specials -file-line-error-style $(BASENAME).tex ; done mv -f $(BASENAME).pdf pdf/$(BASENAME).screen.pdf pdf-print : postscript cp -f ps/$(BASENAME).ps ./ ps2pdf14 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true $(BASENAME).ps mv -f $(BASENAME).pdf pdf/$(BASENAME).print.pdf rm -f $(BASENAME).ps pdf : pdf-print pdf-screen
Mutta jos ollaan aivan tarkkoja, niin minulta ei varsinaisesti vaadita tuota pdf-screen:in tuottamaa kamaa. Lähinnä olen tehnyt sen auttaakseni niitä, jotka lukevat graduani ruudulta eikä paperille printattuna. Mutta graduni lopullinen versio menee arvosteltavaksi paperille printattuna. On kai pakko keskittyä olennaiseen: Täytynee pitää toistaiseksi poissa käytöstä toi "pdf-screen". Ainut huono puoli tässä on kyllä se, että pitää disabloida myös se Macromedia Flash -version generointi:
swf : pdf-screen cp -f pdf/$(BASENAME).screen.pdf ./ pdf2swf -f -F $(CM-SUPER-DIR) -t $(BASENAME).screen.pdf mv -f ./$(BASENAME).screen.swf ./swf/ rm -f $(BASENAME).screen.pdf
Mutta toi Flash-versio on tehty lähinnä tästä syystä: "Because I can!". Tosin voi se kai olla varteenotettava vaihtoehto sellaiselle lukijalle, jolla on Flash-plugin selaimessaan, mutta PDF- ja PS-katseluohjelmat puuttuvatu. Onneksi sentään HTML-version generointi tex4ht:lla toimii yhä.
Mun gradun HTML-version generoinissa on yksi pikku bugi: se tex4ht osaa kääntää LATEX-koodin HTML:ksi niin, että koko helahoito on yhtä tai useampana WWW-sivuna. Ja jos se käännetään usammaksi sivuksi, sitä voi säätää, miten pieniksi paloiksi se pilkotaan:
tex4ht-onepage : purge-html htlatex $(BASENAME).tex "xhtml,uni-html" " -cunihtf -cmozhtf" - bibtex $(BASENAME) - ./bibtexall htlatex $(BASENAME).tex "xhtml,uni-html" " -cunihtf -cmozhtf" - mkdir html.tex4ht.dir 2> /dev/null mv -f $(BASENAME)*.html *.css $(BASENAME)*.png html.tex4ht.dir/ tex4ht-splitpageone : purge-html htlatex $(BASENAME).tex "xhtml,uni-html,1" " -cunihtf -cmozhtf" - bibtex $(BASENAME) - ./bibtexall htlatex $(BASENAME).tex "xhtml,uni-html,1" " -cunihtf -cmozhtf" - mkdir html.tex4ht.split1.dir 2> /dev/null mv -f $(BASENAME)*.html *.css $(BASENAME)*.png html.tex4ht.split1.dir/
Nuo molemmat toimivat vielä ihan hyvin, ja pilkottua HTML:ää tehdessä voin jopa laittaa ton ykkösen tilalle kakkosen, mutta kolmosta käyttäessä alkaakin bugaus:
Liite B. (./sosl70c.4ct [141]) [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152]) [153] [154] [155] (./sosl70c.lahteet.tex [156] [157] [158] (./books.bbl ! I can't find file `books.4ct'. \:TableOfContents ...nts \fi \input \jobname .4ct {\ht:everypar {}\leavevmod... l.1 \begin{thebibliography}{8} Please type another input file name:
Mutta eipä kyllä tuokaan liene kovin vakavaa, koska niin pieniksi paloiksi pilkottua HTML:ää saattaisi olla aika inhaa lukea. Joten pidän sen targetin nimeltä "tex4ht-splitpagethree" disabloituna.
Väänsinpä vielä tuollaisen bugiraportin tex4ht:sta: 320933. Mutta ne aiemmin mainitsemani bugit raportoin ehkä toiste. teTEXistä pitäisi piakkoin ilmestyä versio 3.0 ja siinähän saattaa olla mukana sen verran tuoreempi pdf(LA)TEX, ettei se enää bugaakaan mun gradun kanssa. Joten ei ole kauheasti motivaatiota raportoida mulla olevan pdf(LA)TEXin bugeja. Mutta se aiemmin mainitsemani tex4ht:n bugi kannattaa ehkä raportoida.
Tosiaan, kuten bugiraportissani käy ilmi, tex4ht:n pitäisi osata konvertoida myös OpenOffice.org:in tiedostoformaattiin, mutta minulla se bugaa. Kokeilin jo myös konvertointia DocBook-DTD:tä käyttäväksi XML-filetoksi, mutta en vielä tiedä, tuliko siitä aivan validi tiedosto. Täytyy ehkä joskus tarkistaa asia.
Pläh! Ei toi tex4ht osaa tehdä validia DocBook-XML:ää ainaskaan mun gradusta. Koitin xmlto-softalla konvertointia ja virheilmoja tuli vaikka kuinka.
Meenpä nukq.
Heräsin joskus iltakahdeksan tienoilla.