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

Bas Dekker (TeXniek) texnics at digifuga.nl
Tue Jul 17 19:12:00 CEST 2012




Dag allemaal, 


Bedankt voor jullie input. Ik ben inmiddels doorgegaan met experimenteren, 

@(Bart|Karel): het klopt inderdaad de de BoundingBox het probleem is, maar dat probleem is weer een gevolg van het feit dat .ps2 als output het enige formaat is dat hyperlinks in de grafieken handhaaft (ik wil clickable blokken in mijn flowcharts). Ik zou eigenlijk het liefst niet langs .ps2 willen gaan.

@Wilfred: afgaan op HTML is geen optie voor mijn opzet. SVG->PDF is niet "im Frage", om de bovengenoemde reden: GraphViz exporteert direct naar PDF, maar zonder hyperlinks.

Na mijn zoektocht blijven er twee opties over:

a) werken met het tooltje dot2tex. DOT is de taal van GraphVIz, en er is een converter voor (http://www.fauskes.net/code/dot2tex/). Dat gaat werken, maar het is héél véél werk om het allemaal kloppend te krijgen, want er treden wel vervormingen en verkleuringen op. Dat wordt een avonduren project (een een leuke!). Maar voor nu produceer ik een website op basis van SVG, en als de PDF qua vormgeving te veel afwijkt, dan raakt iedereen van de leg. 

b) inzet van het allemachtig prachtige pakket pax van Heiko Overdiek (http://www.ctan.org/tex-archive/macros/latex/contrib/pax/). Ik kan daarmee de huidige methode handhaven:  GraphViz -> ps2 -> pdf (met links, vis eps2pdf). Vervolgens kan ik pax runnen om de URLs uit de ingesloten pdf's te halen, en die weer in mijn hoofddocument op te nemen door het runnen van TeX (2x). Ik ben dus een heel eind. Wat ik hiervoor moet doen, is pdf's genereren met link-kenmerken die extern benaderbaar zijn. En daar loop ik vast. Ziehier:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
Start document. Ga naar \hyperlink{secTAK}{Taken}.
\clearpage
\section{Taak}
\hypertarget{secTAK}{Taak Sectie}
\end{document}

In de PDF-Viewer kan ik klikken op "Taken" en beland ik op de volgende pagina. So far so good.

Nu zou ik volgens verschillende specificaties het document vanuit een browser direct op pagina 2 moeten kunnen openen met file://<pad>/<file>.pdf#nameddest=secTAK

... maar het internet is vol met postings die vertellen dat deze optie niet altijd optimaal werkt. 

Heeft iemand hier ervaring mee?

Als ik namedref aan de praat heb, dan ben ik gered...




Hartelijke groeten, 


Bas Dekker



Op 17 jul. 2012, om 09:50 heeft Wilfred van Rooijen het volgende geschreven:

> Hallo Bas,
> 
> Uit je mail lijkt het dat de bottle neck zit in de conversie van GraphViz naar PDF en/of LaTeX. De export van GraphViz naar SVG doet namelijk blijkbaar wel wat je ervan wil bereiken. Is het mogelijk om bijvoorbeeld SVG -> PDF te doen? Je probeert nu blijkbaar PS2 -> PDF maar dat werkt dus niet helemaal goed. En is het anders mogelijk om de HTML-versie in te zetten als basis voor de PDF?
> 
> Groeten,
> Wilfred
> 
> From: Bas Dekker (TeXniek) <texnics at digifuga.nl>
> To: TEX-NL : de Nederlandstalige discussie lijst over TeX en companen <tex-nl at ntg.nl> 
> Sent: Sunday, 15 July 2012, 23:12
> Subject: [Tex-nl] Conversie van Dot-files naar clickable PDF voor TeX-gebruik
> 
> 
> 
> 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
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> TeX-NL mailing list
> TeX-NL at ntg.nl
> http://www.ntg.nl/cgi-bin/mailman/listinfo/tex-nl
> 
> 
> _______________________________________________
> TeX-NL mailing list
> TeX-NL at ntg.nl
> http://www.ntg.nl/cgi-bin/mailman/listinfo/tex-nl


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/20120717/9e2bab31/attachment.html>


More information about the TeX-NL mailing list