[cstex] prosba: stale nefungujici csplain v MiKTeXu

Adam Purkrt adam at purkrt.net
Tue Sep 6 23:49:01 CEST 2016


Dobrý den,

po delší době jsem zkusil nainstalovat MiKTeX, verze 2.9.6069 (je aktuálně
dostupná na miktex.org) a jak csplain, tak pdfcsplain nyní fungují korektně
bez nutnosti ručních oprav instalace.

Při prvním spuštění "pdfcsplain.exe něco.tex" případně "csplain.exe
něco.tex" MiKTeX sám dostahuje potřebné balíky (ve výchozí instalaci nejsou
zahrnuty) - tj. balíky s csplain makry, české tabulky dělení a csfonty.
Stačí být na síti, zkusmo něco přeložit pdfcsplainem a třikrát odkliknout
příslušný dialog.

Poté již pdfcsplain.exe korektně funguje - z UTF-8 .tex souboru generuje
.PDF soubor.

Dlouhotrvající, asi tři roky trvající nepříjemný stav, kdy program
pdfcsplain.exe po instalaci MiKTeXu generoval .DVI a nikoliv .PDF, což bylo
nutno poměrně komplikovaně opravovat, je tedy již minulostí.

S pozdravem
Adam Purkrt

========================================

Technické pozadí změny která proběhla aneb "proč to nefungovalo a teď
konečně funguje":

Donedávna platný (nefuknční) stav je dobře shrnut ve zprávě od mgr. Michala
Houdy, PhD z června zde na mailinglistu. Já sám jsem Ch. Schenkovi
(autorovi MiKTeXu) loni navrhoval funkční patch, přes jeho počáteční odezvu
nedošlo k jeho začlenění; problém je teď vyřešen jinak.

Ve stručnosti - jak tedy nyní MiKTeX generuje formát:

Konfigurační soubor texmf/miktex/config/formats.ini se nezměnil, příslušná
část je stále:

[pdfcsplain]

arguments=-enable-enctex
attributes=exclude
compiler=pdftex
description=PDF CSPlain
input=csplain-utf8.ini

Ovšem (po prostudování zdrojového kódu) změnil se pomocný program
miktex-makefmt.exe (který spouští pdftex.exe). Tento program nyní nově

1) na základě parametru "--dest-name=" přidává na příkazovou řádku
generující formát pomocí "pdftex -ini" (mimo jiných) vždy parametr
"-jobname=[dest-name]"

2) očekává dump do souboru [dest-name].fmt

Obojí je pro korektní generování pdfcsplainu nutné.

dest-name se čte z formats.ini jako hodnota mezi hranatými závorkami, v
případě pdfcsplainu je rovno "pdfcsplain". Dlužno dodat, že bod 1) je
vlastně nadbytečný pro všechny formáty v MiKTeXu s výjimkou pdfcsplain-u,
neboť dest-name pro ostatní formáty vždy koreluje se jménem vstupního
souboru a samotný tex nastavuje \jobname implicitně podle jména vstupního
souboru.


Dříve platilo (kdy přesně došlo ke změně nevím, tipuji někdy letos během
července a srpna)

1) parametr "-jobname=" byl na příkazovou řádku "pdftex -ini" přidán
programem "miktex-makefmt.exe" jen pokud byl explicitně uvedeno v
"arguments="

2) miktex-makefmt.exe vždy očekával výstup do souboru [input].fmt (konrétně
"csplain-utf8.fmt"), což znemožňovalo problém vyřešit dopsáním
"-jobname=pdfcsplain" do "arguments" ve formats.ini; dump šel pak do
"pdfcsplain.fmt", s čímž miktex-makefmt.exe nepočítal.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20160906/616100bc/attachment-0002.html>


More information about the csTeX mailing list