diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/nfss.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/nfss.html | 566 |
1 files changed, 566 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/nfss.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/nfss.html new file mode 100644 index 00000000000..d87ba4f4ee5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/nfss.html @@ -0,0 +1,566 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> +<head> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> +<meta name="keywords" lang="en" content="Polish TeX Users Group, fonts and LaTeX2e, NFSS"> +<LINK REL=STYLESHEET TYPE="text/css" HREF="./tpstyle.css"> +<title>LaTeX2e i fonty</title> +</head> +<body> + +<h1>LaTeX2e i fonty</h1> +<!-- wolinski@melkor.mimuw.edu.pl zeszyt 10. 1998 --> + +<p> +Poniższy dokument jest częścią artykułu Marcina Wolińskiego +<em>LaTeX2e a sprawa polska</em>, który ukazał się w Biuletynie +GUST nr 10/1998. Cały artykuł dostępny jest na serwerze GUST +w (spakowanej) +<A HREF="ftp://ftp.gust.org.pl/TeX/GUST/bulletin/10/02-mw.ps.gz">wersji +PostScript.</A> + +<!-- Spis treści ....................................................... --> +<hr> +<A NAME=P0> <ul> + <li><A HREF=#opfont> Opis fontu w nowym sposobie wyboru fontów</A></li> + <ul> + <li><A HREF=#uklad> Układ fontu</A></li> + <li><A HREF=#kroj> Krój pisma (rodzina)</A></li> + <li><A HREF=#grub> Grubość i szerokość</A></li> + <li><A HREF=#odmiana> Odmiana</A></li> + <li><A HREF=#stoppis> Stopień pisma i interlinia</A></li> + </ul> + <li><A HREF=#obsluga> Obsługa typowych sytuacji</A></li> + <li><A HREF=#konfig> Konfigurowanie NFSS</A></li> +</ul> +<hr> + +<h2>NFSS</h2> + +<p> + W niniejszym wprowadzeniu zostanie przedstawiony wyłącznie sposób +zarządzania fontami tekstowymi. Do prezentacji zagadnień związanych ze +składem formuł matematycznych autor nie czuje się jeszcze odpowiednio +przygotowany.</p> + +<p> + TeX ma wbudowany jedynie bardzo prosty sposób dostępu do fontów. Poleceniem +<code>\font</code> można związać nazwę symboliczną z operacją wybrania +fontu załadowanego z konkretnego pliku metrycznego +i o ustalonej wielkości. (W całym niniejszym tekście słowo +font będzie używane na określenie takiej właśnie istności. W sensie +TeXa -- coś załadowanego z konkretnego pliku metrycznego. W sensie +typograficznym -- pismo o ustalonym kroju, odmianie i stopniu.) +Posługiwanie się tak zdefiniowanymi poleceniami na dłuższą metę jest +uciążliwe, ponieważ wywołują one bezpośrednio określoną odmianę +i stopień określonego kroju pisma. Wyobraźmy sobie, że wykonano</p> + +<code>\font\it=plti10</code> + +<p> + Jeśli teraz fragment tekstu zawierający użycie tego polecenia zostanie +przeniesiony z głównego tekstu dokumentu do przypisu, wydarzy się +katastrofa: przypisy są tradycyjnie składane pismem mniejszego stopnia, ale +fragment kursywą będzie większy! </p> + +<p> + Dlatego każdy TeXowy format ma swoją metodę zdefiniowania polecenia +<code>\it</code> tak, aby znaczyło coś w rodzaju ,,przełącz font na +kursywę w bieżącym stopniu''. LaTeX 2.09 zapewniał dostęp do +ustalonego zbioru fontów -- mianowicie krojów Computer Modern -- tak aby +dawało się manipulować niezależnie stopniem i odmianą pisma. Dodanie +nowych fontów do zestawu dostępnego w LaTeXu w praktyce wymagało +ingerencji w plik <code>lfonts.tex</code>, co było zadaniem wyjątkowo +niewdzięcznym, a ponadto prowadziło do powstawania niezgodnych ze sobą +lokalnych wersji LaTeXa. </p> + +<p> + W LaTeXa 2e wbudowano skomplikowany, ale za to bardzo elastyczny, +mechanizm nazywający się NFSS (<em>New Font Selection Scheme</em> -- +nowy sposób wyboru fontów). System ten jest +stosunkowo łatwy w użyciu, zarejestrowanie fontów w systemie jest +elementarne (jeżeli dostępne są pliki opisu fontów -- <em>font descripton +files</em>) i nie wymaga ingerencji w format LaTeXa, natomiast siłą +rzeczy stworzenie plików opisu wymaga odrobiny wiedzy o systemie.</p> + +<A NAME="opfont"> +<h3>Opis fontu w nowym sposobie wyboru fontów</h3> + +<p> + W LaTeXu 2e bieżący font jest charakteryzowany przez pięć elementów: +układ (zestaw znaków), krój (rodzinę), grubość i szerokość, odmianę, +stopień i interlinię. Każdy z tych elementów można wybrać +oddzielnym poleceniem.</p> + +<TABLE FRAME=1 WIDTH=60% ALIGN=center> +<tr bgcolor=white> +<td> układ fontu </td><td> <code>\fontencoding{OT1}</code> </td><tr> +<tr bgcolor=white> +<td> rodzina (krój) </td><td> <code>\fontfamily{cmr}</code> </td><tr> +<tr bgcolor=white> +<td> grubość i szerokość </td><td> <code>\fontseries{m}</code> </td><tr> +<tr bgcolor=white> +<td> odmiana </td><td> <code>\fontshape{n}</code> </td><tr> +<tr bgcolor=white> +<td> stopień i interlinia </td><td> <code>\fontsize{10}{12pt}</code> </td><tr> +<tr bgcolor=white> +<td> </td><td> <code>\selectfont</code> </td><tr> +</TABLE> +</p> + +<p> + Argumenty poleceń wymienione w tabelce odpowiadają domyślnym wartościom +dla dokumentu składanego przy pomocy standardowych klas w stopniu 10pt. +Użycie poleceń <code>\font...</code> nie powoduje od razu włączenia fontu, +ponieważ użytkownik może chcieć zmienić kilka elementów charakterystyki +bieżącego fontu jednocześnie. Dlatego ostateczny wybór fontu zatwierdza się +poleceniem <code>\selectfont</code>.</p> + +<p> + Wszystkie elementy charakterystyki fontu, za wyjątkiem stopnia pisma, można +zmienić jednocześnie poleceniem <code>\usefont</code>. Nie wymaga ono +również zatwierdzenia przez <code>\selectfont</code>.</p> + +<code> +\usefont{OT1}{cmr}{m}{n} +</code> + +<p> + Poszczególne elementy opisu fontu są od siebie niezależne, co daje LaTeXowi +przewagę nad procesorami tekstu. Wyobraźmy sobie, że w ,,zwykłym +procesorze tekstu'' w tekście po polsku używamy wyrażenia ,,\`a +propos''. Ponieważ w ,,polskim'' foncie nie ma znaku \`a, musimy +pobrać symbol z fontu ,,zachodniego''. Jeżeli w późniejszym etapie +opracowania redakcyjnego postanowimy zmienić krój pisma np. z Timesa na +Helveticę, obca litera pozostanie w starym kroju, bo uzyskując ją nie +mogliśmy powiedzieć ,,chcę bieżący krój i odmianę, ale w układzie +zachodnioeuropejskim'', zamiast tego w dokumencie stoi ,,tu ma być +zachodnioeuropejski Times jasny prosty stopnia 10pt''.</p> + +<p> + Gdy NFSS stwierdzi, że dana kombinacja parametrów nie odpowiada żadnemu +istniejącemu fontowi, wypisuje odpowiednią informację do pliku +<code>.log</code> i stara się użyć fontu o możliwie bliskiej +charakterystyce. Niektórzy bardzo nie lubią tej własności NFSS, uważając że +jest to jedno z miejsc, w których LaTeX usiłuje coś (źle) zrobić za +użytkownika. To zachowanie można zmienić. Użycie w preambule +deklaracji</p> + +<code> +\usepackage[pausing]{tracefnt} +</code> + +<p> + powoduje zamianę wszystkich komunikatów o brakujących fontach +w komunikaty o błędach, wymagające interwencji użytkownika.</p> + +<p>Omówię teraz kolejne parametry opisujące font w NFSS.</p> + +<A NAME="uklad"><b>Układ fontu</b> jest najciekawszym elementem, ponieważ wydaje +się, że LaTeX jest jedynym systemem, w którym pojęcie to występuje +jawnie. Układ fontu opisuje, jakie znaki są dostępne w foncie +i w jakich pozycjach. Polecenia akcentowe w LaTeXu +korzystają z informacji o układzie bieżącego fontu, aby użyć +najlepszej dostępnej metody uzyskania danego znaku. +</p> + +<p> + Ponieważ mechanizm sterowania tłumaczeniem znaków na pozycje w foncie +nie występuje w samym TeXu, LaTeXowy mechanizm układów działa na +poziomie makr. W związku z tym dotyczy on tylko znaków dostępnych +poprzez makra. Tabele konwersji kodu wejściowego na poziomie implementacji +dokonują tłumaczenia od razu w pozycje znaków w foncie, ignorując +ten mechanizm. Z drugiej strony pakiet <code>inputenc</code> posługuje +się znakami aktywnymi, które zachowują się jak makra, wykorzystując mechanizm +układów fontów. </p> + +<p> + Nazwy układów są tradycyjnie pisane wielkimi literami i cyframi. +Poniższa tabela zestawia układy fontów należące do standardu LaTeXa. +</p> + +<TABLE frame=1 WIDTH=80% ALIGN=CENTER> +<td> </td><td>Układy fontów w LaTeXu <tr> +<td> OT1 </td><td> Old Text 1 </td><td> układ fontów zastosowany przez Knutha </td><tr> +<td> OT2 </td><td> Old Text 2 </td><td> układ cyrylicy z Washington University </td><tr> +<td> OT3 </td><td> Old Text 3 </td><td> układ fontów <code>wsuipa</code> (?) </td><tr> +<td> OT4 </td><td> Old Text 4 </td><td> układ fontów PL </td><tr> +<td> T1 </td><td> Text 1 </td><td> ,,europejski'' układ fontów (Cork) </td><tr> +<td> T3 </td><td> Text 3 </td><td> IPA -- znaki fonetyczne </td><tr> +<td> T4 </td><td> Text 4 </td><td> układ dla języków afrykańskich </td><tr> +<td> TS1 </td><td> Text Symbol 1 </td><td> dodatkowe symbole tekstowe </td><tr> +<td> OML </td><td> Old Math Letters </td><td> układ fontu matematycznego wg. Knutha </td><tr> +<td> OMS </td><td> Old Math Symbols </td><td> układ symboli wg. Knutha </td><tr> +<td> OMX </td><td> Old Math Extensible </td><td> układ fontu ze znakami ,,rozciągliwymi'' </td><tr> +</TABLE> + +<p> + Układy o nazwach, zaczynających się literą <code>O</code>, zawierają po +128 pozycji. Pozostałe są ,,nowymi'' układami 256-znakowymi. +<code>OT4</code> wyłamuje się z tego schematu, będąc rozszerzeniem +<code>OT1</code>, ale nie wypełniającym wszystkich 256 pozycji. +</p> + +<p> + Układ <code>T1</code> jest ,,nowym'' układem opracowanym na konferencji +w Cork. Zawiera on znaki umożliwiające skład w większości języków +europejskich. <code>TS1</code> jest odpowiadającym mu układem uzupełniającym +zawierającym latające akcenty dla majuskuł (które nie zmieściły się +w <code>T1</code>), znaki ,,copyright'', ,,registered'' i ,,trade +mark'', liczne symbole walut oraz znaki pauzy o długościach pośrednich +między ,,endash'' i ,,emdash'', które powinny uszczęśliwić polskich +redaktorów technicznych. +</p> + +<p> + Jak widać, brak ,,nowych'' układów matematycznych. Wydaje się, że nikt nie +czuje się kompetentny, by takie opracować, lub też układ zaproponowany przez +Knutha funkcjonuje wystarczająco dobrze, a wielojęzyczność nie ma +wielkiego zastosowania do formuł matematycznych.</p> + +<p> + Układy fontów muszą być jawnie deklarowane w dokumencie. Wszystkie +układy, które będą używane w dokumencie powinny zostać wymienione jako +opcje wywołania pakietu <code>fontenc</code>. Na przykład żeby załadować +definicje układu <code>OT2</code> (cyrylica) i <code>OT4</code> (polski) +wykonujemy:</p> +<code> \usepackage[OT2,OT4]{fontenc} </code> +<p> +Ostatni układ wymieniony w tej klauzuli będzie domyślnym układem +dokumentu. </p> + +<A NAME="kroj"> +<b>Krój pisma (rodzina).</b><br> +Krój pisma jest wyróżniony przez jednolitość projektu graficznego. +Jest to wszakże dość nieprecyzyjne określenie, jako że np. antykwa +i kursywa tego samego kroju różnią się dość znacznie kształtem znaków. +Kryterium praktyczne jest więc takie, że krój stanowi taki zbiór +fontów, któremu jego projektant nadał wspólną nazwę, np. Quasi +Palladio.</p> + +<p> + W NFSS stosuje się kilkuznakowe skróty nazw krojów. Dla Computer Modern są +to np. <code>cmr</code>, <code>cmss</code>, <code>cmtt</code>. Dla krojów +postscriptowych stosuje się zwykle trzy pierwsze znaki nazwy plikowej fontu +wg. konwencji Karla Berry. Na przykład <code>ptm</code> to Adobe Times, +<code>phv</code> to Adobe Helvetica, a <code>bch</code> to Bitstream +Charter. Tych nazw używa się jako argumentu <code>\fonfamily</code>.</p> + +<p> + Dla osób po raz pierwszy stykających się z NFSS trudność stanowi zwykle +zrozumienie zależności między rodziną a układem fontu. I tak na +przykład krój Computer Modern Roman (<code>cmr</code>) występuje co najmniej +w trzech układach. Krój <code>cmr</code> w starym układzie +tekstowym <code>OT1</code> jest dostępny w oryginalnych fontach Knutha +o nazwach plikowych np. <code>cmr10</code>, <code>cmbx12</code>, +<code>cmti9</code>, itd. Krój <code>cmr</code> w układzie polskim +<code>OT4</code> jest realizowany przez adaptację fontów Knutha, dokonaną +przez B. Jackowskiego i M. Ryćko. Nazwy plikowe tych fontów +to np. <code>plr10</code>, <code>plbx12</code>, <code>plti9</code>. Trzecim +układem, w którym dostępny jest krój <code>cmr</code>, jest nowy +,,europejski'' układ tekstowy <code>T1</code>. Ta kombinacja parametrów +oznacza użycie fontów EC (Extended Computer Modern), czyli plików metrycznych +np. <code>ecr1000</code>, <code>ecbx1200</code>, <code>ecti0900</code>.</p> + +<p> + Fonty Knutha oprócz rodziny Computer Modern Roman obejmują jeszcze +rodzinę Computer Modern Sans Serif (<code>cmss</code>), Computer Modern +Typewriter (<code>cmtt</code>) i kilka drobnych +eksperymentalno-dekoracyjno-zabawowych, jak Computer Modern Funny Roman +(<code>cmff</code>), Computer Modern Dunhill Roman (<code>cmdh</code>), +Computer Modern Fibonacci Roman (<code>cmfib</code>). +</p> + +<p> + Zatem wybór spośród fontów CM, PL czy EC, odbywa się +poprzez zmianę używanego układu, a nie rodziny, bo wszystkie one +zawierają rodziny <code>cmr</code>, <code>cmss</code> i <code>cmtt</code> -- +znaki występujące w każdym z tych fontów mają w zasadzie ten sam +projekt graficzny, jedynie zestaw dostępnych znaków jest różny. +</p> + +<p> + Przełączenie standardowego LaTeXa na fonty zawierające polskie znaki +diakrytyczne, polega na zmianie używanego układu fontów na <code>OT4</code> +lub <code>T1</code>. Od tego momentu odwołania do standardowych rodzin +fontów będą dotyczyły fontów zawierających polskie znaki. +</p> + +<p> + Krojów pisma nie trzeba deklarować. LaTeX załaduje odpowiednie informacje +przy pierwszym odwołaniu do danego kroju.</p> + +<A NAME="grub"> +<b>Grubość i szerokość.</b><br> +Oto najczęściej spotykane wartości tego parametru: + +<TABLE FRAME=1 WIDTH=40% ALIGN=center> +<td> m </td><td> <em>medium</em> </td><td> zwykły </td><tr> +<td> b </td><td> <em>bold</em> </td><td> gruby </td><tr> +<td> bx </td><td> <em>bold extended</em> </td><td> gruby szeroki </td><tr> +<td> sb </td><td> <em>semi-bold</em> </td><td> półgruby </td><tr> +<td> c </td><td> <em>condensed</em> </td><td> wąski </td><tr> +</TABLE> + +<p> + W ogólności grubość i szerokość mogą przebiegać kilkustopniową +skalę, dając kilkanaście kombinacji opisanych dwuliterowymi kodami. +Większość krojów występuje jednak tylko w dwóch lub trzech wersjach +grubości/szerokości. </p> + +<A NAME="odmiana"> +<b>Odmiana.</b><br> +Najczęściej dostępne odmiany to:<p> + +<TABLE FRAME=1 WIDTH=50% ALIGN=center> +<td> n </td><td> <em>normal</em> </td><td> prosta </td><tr> +<td> it </td><td> <em>italic</em> </td><td> kursywa </td><tr> +<td> sl </td><td> <em>slanted</em> </td><td> pochyła </td><tr> +<td> sc </td><td> <em>small caps</em> </td><td> kapitaliki </td><tr> +<td> ui </td><td> <em>upright italic</em> </td><td> ,,wyprostowana'' kursywa </td><tr> +</TABLE> + +<A NAME="stoppis"> + <b>Stopień pisma i interlinia.</b><br> Argumentami polecenia +<code>\fontsize</code> są stopień pisma i interlinia. Domyślną +jednostką są punkty (amerykańskie), ale w każdym z argumentów można +też użyć dowolnej jednostki akceptowanej przez TeXa. +</p> + +<p> + W TeXu interlinia jest stała dla całego akapitu. Mówiąc ściślej, +w całym akapicie zostanie użyta jej wartość bieżąca na jego końcu.</p> + +<A NAME="obsluga"> +<h3>Obsługa typowych sytuacji</h3> + +<p> + Opisany powyżej sposób manipulowania fontami pozwala na dostęp do wszystkich +zainstalowanych fontów rodziny, ale jest uciążliwy. Dlatego LaTeX ma serię +poleceń (definiowanych po części przez klasy) obsługujących typowe sytuacje. +</p> + +<p> + Po pierwsze, mamy serię poleceń wybierających stopień pisma +i interlinię, które występowały również w LaTeXu 2.09. +Poniższa tabela wymienia stopnie odpowiadające poszczególnym poleceniom, +w zależności od stopnia pisma tekstu podstawowego wybranego +w <code>\documentclass</code>. +</p> + +<TABLE WIDTH=60% ALIGN=center> +<td> stopień pisma </td><td> </td><td> </td><td> </td><tr> +<td> tekstu głównego </td><td> 10pt </td><td> 11pt </td><td> 12pt </td><tr> +<td> <code>\tiny</code> </td><td> 5pt </td><td> 6pt </td><td> 6pt </td><tr> +<td> <code>\scriptsize</code> </td><td> 7pt </td><td> 8pt </td><td> 8pt </td><tr> +<td> <code>\footnotesize</code> </td><td> 8pt </td><td> 9pt </td><td> 10pt </td><tr> +<td> <code>\small</code> </td><td> 9pt </td><td> 10pt </td><td> 11pt </td><tr> +<td> <code>\normalsize</code> </td><td> 10pt </td><td> 11pt </td><td> 12pt </td><tr> +<td> <code>\large</code> </td><td> 12pt </td><td> 12pt </td><td> 14pt </td><tr> +<td> <code>\Large</code> </td><td> 14pt </td><td> 14pt </td><td> 17pt </td><tr> +<td> <code>\LARGE</code> </td><td> 17pt </td><td> 17pt </td><td> 20pt </td><tr> +<td> <code>\huge</code> </td><td> 20pt </td><td> 20pt </td><td> 25pt </td><tr> +<td> <code>\Huge</code> </td><td> 25pt </td><td> 25pt </td><td> 25pt </td><tr> +</TABLE> + +<p> + Zostały również zachowane polecenia LaTeXa 2.09 <code>\rm</code>, +<code>\bf</code>, <code>\it</code>, <code>\sl</code>, <code>\sc</code>, +<code>\ss</code> i <code>\tt</code>. Ale uwaga: zachowują +się one dokładnie tak jak w LaTeXu 2.09 -- nie da się na przykład +przy ich pomocy uzyskać grubej kursywy. +</p> + +<p> + Nowy zestaw poleceń posługuje się następującym modelem użycia fontów +w dokumencie. Ponieważ mieszanie różnych krojów szeryfowych +w jednym dokumencie w zasadzie jest błędem (a przynajmniej +powinno być wynikiem przemyślanej decyzji), w schemacie przyjętym przez +standardowe klasy dokumentów dostępny jest jeden krój szeryfowy, jeden +bezszeryfowy i jeden grotesk. Oczywiście domyślnie są to Computer +Modern Roman, Computer Modern Sansserif i Computer Modern Typewriter. +</p> + +<p> +Oto podstawowe polecenia wyboru krojów i odmian w tym +schemacie:</p> + +<TABLE FRAME=1 WIDTH=50% ALIGN=center> +<td> <b>Krój pisma (rodzina)</b> </td><tr> +<td> <code>\textrm{...}</code> lub <code>\rmfamily</code> </td><td> + krój szeryfowy </td><tr> +<td> <code>\textsf{...}</code> lub <code>\sffamily</code> </td><td> + krój bezszeryfowy </td><tr> +<td> <code>\texttt{...}</code> lub <code>\ttfamily</code> </td><td> + grotesk </td><tr> +<td> <b>Grubość i szerokość pisma</b> </td><tr> +<td> <code>\textmd{...}</code> lub <code>\mdseries</code> </td><td> pismo jasne</td><tr> +<td> <code>\textbf{...}</code> lub <code>\bfseries</code> </td><td> pismo grube</td><tr> +<td> <b>Odmiana pisma</b> </td><tr> +<td> <code>\textup{...}</code> lub <code>\upshape</code> </td><td> odmiana prosta</td><tr> +<td> <code>\textit{...}</code> lub <code>\itshape</code> </td><td> kursywa </td><tr> +<td> <code>\textsl{...}</code> lub <code>\slshape</code> </td><td> odmiana pochyła </td><tr> +<td> <code>\textsc{...}</code> lub <code>\scshape</code> </td><td> kapitaliki </td><tr> +</TABLE> + +<p> + Jak widać, tworzą one pary poleceń o podobnej funkcjonalności. Wersje +z argumentem składają ten argument pismem wybranym przez swój +odpowiednik bez argumentu. Ponadto polecenia te na granicy między pismem +pochyłym a prostym dodają kompensatę wychylenia ostatniego znaku +(<em>italic correction</em>), chyba że następnym znakiem jest kropka lub +przecinek i kompensata nie jest potrzebna. +</p> + +<p> + Polecenia bez argumentów można sobie wyobrażać jako zdefiniowane wg +schematu:</p> +<pre><code> +\newcommand\rmfamily{ + \fontfamily{\rmdefault}\selectfont} +</code></pre> +<p> + One również nie mają zaszytej w sobie nazwy rodziny, odmiany, grubości, +ale odwołują się do makr przechowujących wartości domyślne. Oczywiście +domyślną wartością makra <code>\rmdefault</code> jest <code>cmr</code>, czyli +polecenie <code>\rmfamily</code> domyślnie włącza krój Computer Modern Roman. +</p> + +<p> + Stąd płynie wniosek, że aby w LaTeXu złożyć dokument, używając jako +kroju szeryfowego Timesa, wystarczy:</p> +<code> +\renewcommand\rmdefault{ptm} +</code> +<p> + (Polecenia zapożyczone z LaTeXa 2.09 działają w podobny, +pośredni sposób, więc również konsekwentnie poddają się takiemu +przedefiniowaniu.) </p> + +<p> +Wartości domyślne wkraczają jeszcze w kilku innych miejscach.</p> + +<p> +Zasadnicza treść dokumentu jest składana fontem uaktywnianym +poleceniem <code>\normalfont</code>. Jest ono mniej więcej równoważne +<pre><code> +\usefont{\encodingdefault} + {\familydefault} + {\seriesdefault}{\shapedefault} +</code></pre> + +Płyną z tego ciekawe wnioski: </p> + +<p> + 1) Zmieniając wartość <code>\encodingdefault</code> na <code>OT4</code> +możemy sprawić, że dokument będzie składany polskimi fontami. Pakiet +<code>polski</code> tak właśnie postępuje, przełączając układ na +<code>OT4</code> lub <code>T1</code> w zależności od opcji. </p> + +<p> + 2) Standardową wartością <code>\familydefault</code> jest <code>\rmdefault</code>. +Skład całego dokumentu czcionką bezszeryfową można uzyskać zmieniając +tę wartość na <code>\sfdefault</code>: </p> +<code> +\renewcommand\familydefault{\sfdefault} +</code> +<p> +Tego rodzaju zmian należy dokonywać w preambule dokumentu (to jest +przed <code>\begin{document}</code>).</p> + +<A NAME="konfig"> +<h3>Konfigurowanie NFSS</h3> + +<p> + Pozostaje jeszcze odpowiedzieć na pytanie, skąd NFSS ,,wie'', jakie kroje, +odmiany i stopnie pisma są dostępne i w jakich układach.</p> + +<p> +Deklaracja układów fontów powoduje, że LaTeX ładuje pliki opisujące dane +układy. Np. dla układu <code>OT4</code> będzie to plik +<code>ot4enc.def</code> (Uwaga: od grudnia 1996 nazwy wszystkich plików +w dystrybucji LaTeXa są pisane tylko małymi literami. Fakt ten wywołał +niejakie zamieszanie, ale wydaje się, że na dłuższą metę jest to decyzja +rozsądna.) W tym pliku zawarte są informacje, jakie akcenty są dostępne +w danym układzie, w jakich pozycjach się one znajdują i jakie +są dostępne znaki akcentowane (kombinacje akcent-litera). +</p> + +<p> +Pakiet <code>polski.sty</code> wewnętrznie ładuje odpowiednią definicję +układu.</p> + +<p> + Opisy krojów są ładowane automatycznie z plików <code>.fd</code> przy +pierwszej próbie użycia fontu z danej rodziny w danym układzie. Na +przykład po zadeklarowaniu jako domyślnego układu <code>OT4</code>, pierwsza +próba włączenia fontu z rodziny <code>cmr</code> spowoduje, że LaTeX +załaduje plik <code>ot4cmr.fd</code>. Oto fragment tego pliku:</p> + +<pre><code> +\DeclareFontFamily{OT4}{cmr}{} +\DeclareFontShape{OT4}{cmr}{m}{n} + { <5> <6> <7> <8> + <9> <10> <12> gen * plr + <10.95> plr10 + <14.4> plr12 + <17.28><20.74><24.88>plr17}{} +... +\DeclareFontShape{OT4}{cmr}{bx}{it} + { <-10>sub * cmr/bx/n + <10> <10.95> <12> <14.4> <17.28> + <20.74> <24.88> plbxti10 + }{} +... +</code></pre> + +<p> + Pierwsza deklaracja powiadamia, że jest to opis rodziny <code>cmr</code> +w układzie <code>OT4</code>. Dalej następuje ciąg deklaracji +<code>\DeclareFontShape</code> opisujących poszczególne kombinacje +rodzina/grubość/odmiana. Pierwsza opisuje odmianę jasną +(<code>m</code> <em>medium</em>), prostą +(<code>n</code> <em>normal</em>) -- dla stopni 5, 6, 7, 8, 9, 10 +i 12 należy użyć fontu o nazwie plikowej powstającej z ciągu +<code>plr</code> po dołączeniu doń liczby stopnia pisma. Dla stopnia 10.95pt +należy użyć fontu <code>plr10 at 10.95pt</code>, podobnie dla stopni 14.4, +17.28, 20.74, 24.88 użyty zostanie odpowiednio zeskalowany font +<code>plr12</code> i <code>plr17</code>. Druga klauzula +<code>\DeclareFontShape</code> opisuje grubą (<code>bx</code> <em>bold +extended</em>) kursywę (<code>it</code> <em>italic</em>) -- dla stopni +mniejszych od 10pt należy użyć w zastępstwie grubej prostej odmiany +rodziny <code>cmr</code>. Dla wymienionych dalej stopni użyty zostanie +odpowiednio zeskalowany font <code>plbxti10</code>. </p> + +<p> + Deklaracje układów <code>OT1</code> i <code>T1</code> oraz opis rodziny +<code>cmr</code> w tych układach są wbudowywane w format razem +z plikami metrycznymi podstawowych fontów. Służy to przyspieszeniu +ładowania LaTeXa na początku przetwarzania dokumentu. Zestaw wbudowanych +układów, rodzin i plików metrycznych można zmienić przy pomocy plików +konfiguracyjnych <code>fonttext.cfg</code> i <code>preload.cfg</code> -- +szczegóły opisano w dokumencie <code>cfgguide.tex</code>. </p> + +<p> + Aby można było powiedzieć, że font jest zainstalowany w LaTeXu musi +istnieć dla niego definicja układu i definicja kroju (rodziny) +w tym układzie. Układów w zasadzie jest skończona niewielka liczba +i definicje większości z nich są zawarte w dystrybucji LaTeXa +(w tym <code>OT4</code>). Natomiast dla każdego kroju potrzebny jest +jego opis w pliku o nazwie zbudowanej z nazwy układu +i nazwy rodziny z rozszerzeniem <code>.fd</code> (wszystko małymi +literami). Pliki te muszą znajdować się w katalogu widocznym dla +LaTeXa. </p> + +<p> + Pliki opisu dla fontów PL i PC są zawarte w pakiecie PLaTeX. Pliki +opisu dla kroju Quasi Palladio (<code>qpl</code>), Quasi Times +(<code>qtm</code>) i antykwy toruńskiej (<code>antt</code>) są częścią +pakietu <code>pl-qx</code> Piotra Kłosowskiego. </p> + +<hr> +<i> Opracował: StaW (ostatnia modyfikacja 28.11.2000)</i> + +</body> +</html> + |