[Tex-nl] Conversie van Dot-files naar clickable PDF voor TeX-gebruik

Bas Dekker (TeXniek) texnics at digifuga.nl
Sun Jul 15 16:12:16 CEST 2012



Dag allemaal, 


Ik ben nu al enkele dagen bezig met een probleem, en heb het punt bereikt waarop ik de specialisten moet inschakelen ;-).

Als volgt: ik werk op mijn Mac aan een tooltje dat grafieken (stroomschema's) genereert met de GraphViz library van AT&T (via Perl, met GraphiViz2.pm). Mijn tooltje moet output genereren in HTML (intranet-site) en in PDF. 

Voor dat eerste vraag ik GraphViz om output te genereren in SVG. Daar plaats ik dan een HTML-wrapper omheen, en klaar is Clara: ik heb mooie schema's met blokken en pijlen, die allen klikbaar zijn als ik er een argument "url" aan meegeef. Voor dat tweede vraag ik GraphViz om output te genereren in pdf, en ik verwerk die documenten vervolgens in een LaTeX-document, met aanvullende documentatie, indexen, enzovoorts. Dat gaat goed, behalve voor een punt: de blokken zijn niet meer klikbaar. Dat klopt volgens de systeemdocumentatie van GraphViz ook. De PDF-interpreter aldaar heeft geen weet van een URL. (Grrr! :-( )

Het voorgestelde alternatief is om output te genereren in .ps2 (PostScript met anchor ondersteuning, naar het schijnt), en om vervolgens de boel via een shell-script te converteren naar een .pdf, die wel klikbaar is. Als ik dat doe, dan loop ik tegen twee problemen op:

- de conversie van ps2 naar pdf genereert geen mooie plaatjes: er komt standaard een A4-pagina uit (of letter, ik heb niet gemeten). Het blokje is klikbaar, dat wel, maar de dimensies kloppen niet. eps2pdf -DEPSCrop hielp niet. 

- wat ik uiteindelijk wil, is dat de blokken in mijn schema's uit GraphViz verwijzen naar een sectie uit mijn LaTeX hoofddocument waar dat onderdeel behandeld wordt. Ik wil dus een soort commando a la \hyperref[sec:<sectienummer>]{<text>} meegeven. Al mijn blokjes hebben weliswaar een unieke ID, maar de pdf converter op shell-niveau heeft natuurlijk geen weet van wat een LaTeX referentie is. Ik zou eigenlijk iets moeten verzinnen van een literal die naar een anchor elders verwijst, maar daarvoor moet ik weten wat de interne pdf-anchor wordt die xelatex gaat toekennen aan \label{sec:<sectienummer>}. Kip en ei dus.

Voor het eerste probleem denk ik dat het probleem in ps2pdf zit, want als ik GraphViz vraag om naar DOT te dumpen, en als ik van DOT naar PDF converteer met dot -Tpdf $file.dot > $file.pdf, dan kloppen de dimensies wel (maar ik heb geen anchors om op te klikken). 

Ik heb ook gekeken naar een manier om dot2tex in te zetten om de gegenereerde dot-source direct in te lezen, maar dat gaf veel te veel problemen: kleuren vervagen, vormen worden niet behouden, en fonts worden niet gevonden. Ongetwijfeld oplosbaar allemaal, maar te veel werk voor nu.

Ik ben voor nu zeer geholpen als ik die #$*&@! .ps2 bestanden naar pdf zou kunnen converteren, met behoud van anchors en afmetingen. 

Heeft iemand hier ervaring mee? 

Ik heb voorbeeld-bestanden, maar ik weet dat het niet de bedoeling is om binaries op deze lijst te posten, ik geeft ze dus op verzoek individueel door.

Bedankt alvast alle nuttige input!


  

Bas Dekker 
(sub-account voor TeXniek)

Postbus 11088
1001 GB Amsterdam

+31 (0)6 25 00 32 78

texnics at digifuga.nl








-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/tex-nl/attachments/20120715/79773a92/attachment.html>


More information about the TeX-NL mailing list