Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | adamowicz | afera | alsamixer | amazon | amber | amman | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | banan | bash | batumi | berlin | białowieża | białystok | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bme280 | bono | borne-sulinowo | breugel | bt747 | budapeszt | budyniowo | budyń | bursztyn | campagnolo | canon | cedewu | chaos | chello | chiller | chillerpl | chown | christophe dominici | chujowetaśmy | ciasto | cmentarz | contour | coronavirus | covi19 | covid | covid19 | cron | css | csv | cukinia | curl | cycling | d54250wykh | darkages | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | dp1500 | ds18b20 | duda | dulkiewicz | dulkiewiczowa | dyndns | dynia | ebay | economy | ecowitt | ekonomia | elka | elm | emacs | emacs23 | english | ep | erasmus | erasmusplus | ess | eu | eurostat | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | forms | foto | france | francja | fripp | froggit | fuczki | fuji | fuse | gammu | garden | garmin | gas | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | ggplot | ghost | git | github | gmail | gmaps | gnokii | gnus | google | google apps script | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | gus | gw1000 | haldaemon | handbrake | hhi | historia | history | hitler | holocaust | holokaust | hp1000se | hpmini | humour | iblue747 | ical | iiyama | ikea | imagemagick | imap | inkscape | inne | internet | j10i2 | javascript | jhead | jordania | k800i | kajak | kamera | karob | kibbeh | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | krynki | kuchnia | kurski | kłamstwo | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liban | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | maradona | marchew | marimekko | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mex | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | mz | nafisa | nanopi | natbib | navin | neapol | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | ocr | odessa | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plain | plotly | pls | plugin | po | podcast | podlasie | podróże | pogoda | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pseudointeligencja | pstoedit | putin | python | pywws | r | r1984 | radio | random | raspberry | raspberry pi | raspberrypi | raspbian | refugees | relaxng | ridley | router | rower | rowery | roztocze | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | salerno | samba | sds011 | selenium | sem | senah | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistcs | statistics | stats | statystyka | stix | stretch | supraśl | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tesseract | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | transylwania | truetype | trzaskowski | ttf | turcja | turkey | turystyka | tusk | tv | tv5monde | tweepy | twitter | tykocin | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | virbedit | vostro | wammu | wdc | wdfs | weather | weathercloud | webcam | webdav | webscrapping | weewx | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | wojna | word | wordpress | wrt54gl | ws1080 | wtyczka | wunderground | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zaatar | zakopane | zakupy | zawodzie | zdf | zdrowie | zgarden | zgony | zprojekt | łeba | świdnica | żywność
Archiwum
11/2022 | 10/2022 | 09/2022 | 07/2022 | 06/2022 | 04/2022 | 03/2022 | 02/2022 | 12/2021 | 09/2021 | 03/2021 | 01/2021 | 12/2020 | 11/2020 | 10/2020 | 09/2020 | 08/2020 | 07/2020 | 04/2020 | 03/2020 | 02/2020 | 01/2020 | 12/2019 | 11/2019 | 10/2019 | 09/2019 | 08/2019 | 07/2019 | 06/2019 | 04/2019 | 02/2019 | 01/2019 | 12/2018 | 11/2018 | 10/2018 | 09/2018 | 08/2018 | 07/2018 | 05/2018 | 04/2018 | 03/2018 | 02/2018 | 01/2018 | 11/2017 | 10/2017 | 09/2017 | 08/2017 | 07/2017 | 06/2017 | 05/2017 | 04/2017 | 03/2017 | 02/2017 | 01/2017 | 12/2016 | 11/2016 | 10/2016 | 09/2016 | 08/2016 | 06/2016 | 05/2016 | 04/2016 | 02/2016 | 12/2015 | 11/2015 | 09/2015 | 07/2015 | 06/2015 | 05/2015 | 02/2015 | 01/2015 | 12/2014 | 09/2014 | 07/2014 | 06/2014 | 04/2014 | 02/2014 | 01/2014 | 12/2013 | 11/2013 | 10/2013 | 09/2013 | 08/2013 | 07/2013 | 05/2013 | 04/2013 | 03/2013 | 02/2013 | 01/2013 | 12/2012 | 11/2012 | 10/2012 | 09/2012 | 08/2012 | 07/2012 | 05/2012 | 03/2012 | 02/2012 | 01/2012 | 12/2011 | 11/2011 | 10/2011 | 09/2011 | 08/2011 | 07/2011 | 06/2011 | 05/2011 | 04/2011 | 03/2011 | 02/2011 | 01/2011 | 12/2010 | 11/2010 | 10/2010 | 09/2010 | 08/2010 | 07/2010 | 06/2010 | 05/2010 | 04/2010 | 03/2010 | 02/2010 | 01/2010 | 12/2009 | 11/2009 | 10/2009 | 09/2009 | 08/2009 | 07/2009 | 06/2009 | 05/2009 | 04/2009 | 03/2009 | 02/2009 | 01/2009 | 12/2008 | 11/2008 | 10/2008 | 09/2008 | 08/2008 | 07/2008 | 06/2008 | 05/2008 | 04/2008 | 03/2008 | 02/2008 | 01/2008 | 12/2007 | 11/2007 | 10/2007 | 09/2007 | 08/2007 | 07/2007 |
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
plain LuaTeX

luaTeX to najlepsza wersja TeXa bo ma tę przewagę nad pdfTeXem, że natywnie używa Unicode + potrafi korzystać z fontów systemowych. Jak się używa LaTeXa, to na tym można zakończyć. Jak ktoś chce plain-TeX (czyli zapewne kiedyś używał MeXa), to potrzebuje jako minimum: format z polskimi regułami przenoszenia wyrazów, no i możliwość dołączania rysunków.

W luaTeXu robi się to następująco (TeXlive):

Należy odszukać plik etex.src (np. /usr/local/texlive/2022/texmf-dist/tex/luatex/hyph-utf8/etex.src). Plik ten powinien zawierać wiersz:

  \addlanguage {USenglish}{hyphen}{}{2}{3}%

Po tym wierszu należy dodać

\addlanguage{polish}{loadhyph-pl.tex}{}{2}{2}

Teraz należy wygenerować format:

  luatex -ini luatex.tex
  ## powstał plik luatex.fmt; który kopiuję
  ## do katalogu z innymi formatami

Polskie reguły są włączane poleceniem:

\uselanguage{polish}

Fonty można deklarować tak, jak w poniższym przykładzie, w którym zakładamy skład fontem ChaparralPro

\input luaotfload.sty
%% https://www.wfonts.com/font/chaparral-pro
%% Potrzebujemy `family name` ale ChaparralPro też działa (why?)
%% otfinfo -a FONT wypisze family name
\def\MainSFont{name:Chaparral Pro}
\font\rm = "\MainSFont:+tlig" at 9.9pt
\font\it = "\MainSFont/I:+tlig" at 9.9pt
\font\bf = "\MainSFont/B:+tlig" at 9.9pt
\font\bi = "\MainSFont/BI:+tlig" at 9.9pt
%% \bf włącza odmianę grubą \it kursywę jak to plainie...

Zwróćmy uwagę, że odmiana jest deklarowana jako /X po nazwie kroju; potem po dwukropku (opcjonalnie) deklaruje się font features. Jako minimum warto dodać tlig, co włączy ligatury TeXowe (takie jak -- zamiast myślnika.) Inne użyteczne features, to smcp oraz onum:

%% Caps/smallcaps
\font\sc = "\MainSFont:+tlig,+smcp" at 9.9pt
%% Old style numbers
\font\sco = "\MainSFont:+tlig,+smcp,+onum" at 9.9pt

Dołączanie rysunków/kolorowanie/obracanie:

%% zPlainowany LaTeXowy pakiet graphicx:
\input graphicx.tex
\includegraphics[width=.9\hsize]{plik.png}
%% zPlainowany LaTeXowy pakiet color:
\input color.tex
\textcolor{red}{bbb}  \colorbox{green}{one two}
%% obracanie:
\rotatebox{90}{\colorbox{blue}{\textcolor{yellow}{Stand with Ukraine}}}
%% skalowanie
%% x-przeskaluj na 40% \hsize
\resizebox{.4\hsize}{!}{Stand with Ukraine}
%% xy-przeskaluj na 40%
\resizebox{.4\hsize}{2cm}{Stand with Ukraine}
%% Powiększ oryginał 2 razy
\scalebox{2}{Stand with Ukraine}

No i tyle. Podstawowa funkcjonalność jest. Z MeXa zostały tylko wzorce przenoszenia. Reszta stała się zbędna, więc nie ma czegoś takiego jak luaMeX. Postęp jest nieubłaganyn nawet w świecie TeXa...

Kompletny mini-przykład

%% -*- coding: utf-8 -*-
%% należy kompilować luaTeXem
\input luaotfload.sty
\input graphicx.tex
\input color.tex
%%
\uselanguage{polish}
%%%
\def\MainSFont{Iwona}
\font\rm = "\MainSFont:+tlig;+onum" at 9.9pt
\font\it = "\MainSFont/I:+tlig;+onum" at 9.9pt
\font\bf = "\MainSFont/B:+tlig;+onum" at 9.9pt
\font\bi = "\MainSFont/BI:+tlig;+onum" at 9.9pt
%% Small caps
\font\sc = "\MainSFont:+tlig;+smcp" at 9.9pt
%% Old style numbers
\font\sco = "\MainSFont:+tlig;+smcp;+onum" at 9.9pt

\def\SwUA{\colorbox{blue}{\textcolor{yellow}{Stand with Ukraine}}}
\def\dig{0123--456---789}

\rightskip0pt plus 1fil
\nopagenumbers

\rm \SwUA \dig {\bf \SwUA \dig } {\it \SwUA \dig }

{\sc \SwUA \dig } vs {\sco \SwUA \dig }


\rotatebox{90}{\resizebox{.4\hsize}{!}{\SwUA}}

\scalebox{2}{\SwUA}
\bye

i wynik

UWAGA: uważny czytelnik zauważy, że nie do końca jest to co miało być (small caps zawsze jest z OldStyleNumbers i nie idzie tego wyłączyć), bo niektóre font features są ignorowane. Z fontem Chaparral jest jeszcze gorzej: nawet smcp jest ignorowane.

Żeby było śmieszniej po usunięciu \input luaotfload.sty i kompilacji xeTeXem jest OK. Dalsze testy można streścić następująco: niektóre fonty nie są poprawnie deklarowane; deklarowanie tych samych fontów w LaTeXu daje poprawne rezultaty (ale z użyciem fontspeca); przetwarzanie xeTeXem też daje poprawne rezultaty. Na moje coś jest spieprzone w plainowej wersji luaotfload, ale konkretnie co to nie ustaliłem albo fontspec jest bardziej cwany i lepiej deklaruje fonty.

Relewantna literatura to dokumentacja do dwóch pakietów: https://www.ctan.org/pkg/fontspec oraz https://www.ctan.org/pkg/luaotfload.

Dopisane 23 czerwca 2022 (wieczorem): Pytanie zadałem na githubie (https://github.com/latex3/luaotfload/issues/229) i już wiem co było nie tak. Trzeba było dodać mode=node;script=latn, tj. na przykład:

\font\sc = "\MainSFont:mode=node;script=latn;+tlig;+smcp" at 9.9pt

You can check in the log how exactly fontspec specifies the font and copy that in your plaintex document.

url | Wed, 22/06/2022 17:00 | tagi: , ,