Portál AbcLinuxu, 19. dubna 2024 13:46


Dotaz: LyX jako PHP šablona - jak efektivně vkládat kód a vytvářet náhed?

Josef Kufner avatar 27.11.2013 19:55 Josef Kufner | skóre: 70
LyX jako PHP šablona - jak efektivně vkládat kód a vytvářet náhed?
Přečteno: 421×
Odpovědět | Admin
Příloha:
Dobré ráno, v PHP aplikaci potřebuju generovat pěkné PDF dokumenty. Nainstaloval jsem tedy na server LaTeX a začal ho programově krmit. Vygenerovat takový dokument není o moc těžší než vygenerovat webovou stránku – PHP vygeneruje kód pro LaTeX a spustí lualatex, aby získal výsledné PDF. Celý tento proces je vcelku přímočarý a funguje docela dobře.

Otázkou ale je, jak nějak snadno vytvořit šablonu pro vygenerování LaTeX kódu. Psát takové šablony je otrava i v HTML, natož v LaTeXu. Jako docela pěkné řešení se nabízí použít LyX a nějak do něj dostat fragmenty PHP kódu.

Pokud v LyXu vložím ERT (evil red text) do dokumentu, tento kus kódu probublá beze změn až do exportu pro lualatex. Takže není problém rychle a pohodlně vytvořit šablonu v LyXu. V příloze je screenshot, jak taková příloha vypadá i s náhledem na výsledný kód, který lze rovnou spustit jako PHP. Uvedená funkce tex zajišťuje escapování a výpis hodnot.

Až sem to je v pohodě a celé to funguje.

Jenže během editace takové šablony by se hodila možnost náhledu, jak to bude vypadat. Protože PHP kód LaTeXu nechutná, vložením PHP v LyXu se rozbije funkce náhledu.

A pak taky je otrava psát pořád <?php ?>. LyX umí pohodlně vkládat vlastní makra (zadefinuje se nový layout nebo inset), ale nepřišel jsem na způsob, jak takto vkládat přímo nějaký kus kódu s vlastní syntaxí.

To jsou dva problémy, které bych rád nějak pořešil, ale mám takový pocit, že musí existovat nějaké hezčí řešení než tohle…
Hello world ! Segmentation fault (core dumped)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Na otázku zatím nikdo bohužel neodpověděl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.