[cstex] Boj s expandafter

Milan Vancura milan at ucw.cz
Tue Jun 30 13:37:43 CEST 2015


On Thu 25-06-15 18:29:48, Jaroslav Hajtmar wrote:
> PS: jen aby zvědavci věděli k čemu jsem to potřeboval - možná to
> někoho zaujme:
> Procházím ConTeXtovým skriptem celý CSV soubor s klasifikací žáků
> (export z MySQL databáze), a pro každý řádek udělám to, že prohledám
> v cca 20 sloupcích informaci o tom, zda byl student z daného
> předmětu klasifikován (tj. známka) či nikoliv (znak N).
> Pokud je ve sloupcích "N", tak z hlavičky souboru vyčtu z kterých
> předmětů je student neklasifikován a přidám tento předmět do seznamu
> neklasifikovaných předmětů. Konečným výsledkem prohledání cca 400
> řádků CSV tabulky je soupiska, se jmény studentů, kteří jsou aspoň z
> jednoho předmětu neklasifikováni a následně u těchto studentů vypíšu
> i seznam všech předmětů, z nichž jsou neklasifikováni. Původně jsem
> tuto agendu dělal pomocí Perlovského skriptu, nyní si vystačím jen s
> ConTeXtem.

Dobrý den.

Nechci rušit vaše nadšení pro TeX, ale když už to máte v databázi, proč psát
databázový stroj v TeXu? Proč ten výstup místo kompletního výpisu tabulky
nevyexportujete např. následujícím příkazem?

SELECT Jmeno, GROUP_CONCAT(Predmet SEPARATOR ", ") from Klasifikace where Znamka="N" GROUP BY Jmeno;

Je asi nejjednodušší příklad pro MySQL, ve které to máte. Samozřejmě jde do
toho SELECTu přidat další text, např. sázecí makra. A Predmet lze ještě řadit
podle vlastní vůle (ORDER BY <cokoliv>), když by bylo třeba. Např. podle
abecedy.

Výsledný soubor rovnou přeložíte TeXem, v makrech řešite pouze sazbu a ne
zpracování dat.

S pozdravem,

Milan Vančura



More information about the csTeX mailing list