Do tej pory diagramy tworzyłem korzystając albo z Dia albo
z Metaposta.
Oba są dobre ale nie do wszystkiego więc dziś, w wolnej
chwili, poświęciłem sporo czasu na rozpoznanie programu Inkscape.
Jest w Inkscape nawet plugin pozwalający importować wzory
generowane w LaTeXu.
Plugin to nawet chyba zbyt mocno powiedziane:
wzorek wpisany w okienko dialogowe jest kompilowany przez LaTeXa
a następnie zamieniany na SVG
za pomocą programu pstoedit. Za całość
odpowiada skrypt pythonowy, u mojej Fedorze umieszczony
w: /usr/share/inkscape/extensions/eqtexsvg.py
.
Wprawdzie skrypt kończy działanie wyświetlając dość dziwny komunikat: Skrypt nie zgłosił błędu, jednak możliwe, że wynik jego działania jest inny niż spodziewany, sugerujący błąd, ale nie -- wszystko jest dobrze. (W mojej dystrybucji FC5 mam Inkscape w wersji 0.45 a pstoedit w wersji 3.44.) Przykładowy ekran zamieszczony jest obok.
Jeżeli ktoś używa Inkscape w systemie Windows firmy Microsoft i też chciałby wstawiać wzorki z LaTeXa, to być może pomocne będą wskazówki, które na swoim blogu umieścił Dave Herman.
Dziś zostałem zapytany czy można dołączyć do dokumentu PDF font Times New Roman ze zbioru TrueType core fonts for the Web. Na zdrowy tzw. chłopski rozum, wydaje się, że tak ale z kolei w przypadku firmy MS może być różnie więc niekoniecznie może to być możliwe (zgodne z licencją).
Sprawdziłem licencję i można. Oczywiście jeżeli dokument zawiera podzbiór znaków (emedded subset) ale to akurat jest normalne/zwyczajowe ograniczenie. Na ten temat traktuje też [11] [8].
W zasadzie prosta sprawa. Nazwy plików różniące się tylko wielkością znaków (duże/małe litery) w systemie MSW są nierozróżnialne. Jeżeli takimi plikami zarządza system kontroli wersji SVN, to w linuksie i podobnych systemach wszystko działa, a w MS Windows nie -- i w pierwszej chwili nie wiadomo dlaczego. A nie działa zapewne dlatego, że plik jest nadpisywany i SVN-owi nie zgadza się liczba ściągniętych dokumentów.
#!/usr/bin/perl # Rekursywnie przeszukuje bieżący katalog wypisując pliki, których nazwy # różnią się tylko wielkością liter (małe/duże). # Takie pliki nierozróżnia tzw. W-System, co może być źródłem problemów. use File::Find; find(\&fcmp, "."); sub fcmp { $dir = lc("$File::Find::dir"); $file = lc("$File::Find::name"); $Files{$dir}{$file}++; } for $d (sort keys %Files ) { for $f (sort keys %{ $Files{$d}} ) { if ($Files{$d}{$f} > 1) { print "** $Files{$d}{$f} Duplicates found for: $d $f\n" ; } } }
Powyższy skrypt perlowy wypisze pliki, które potencjalne mogą powodować problemy.