doc/hu_HU.ISO8859-2/books/fdp-primer/sgml-markup/chapter.xml
2013-11-07 15:39:28 +00:00

3389 lines
100 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.
Redistribution and use in source (SGML DocBook) and 'compiled' forms
(SGML HTML, PDF, PostScript, RTF and so forth) with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code (SGML DocBook) must retain the above
copyright notice, this list of conditions and the following
disclaimer as the first lines of this file unmodified.
2. Redistributions in compiled form (transformed to other DTDs,
converted to PDF, PostScript, RTF and other formats) must reproduce
the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml
%SRCID% 1.80
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="sgml-markup" xml:lang="hu">
<title>Az SGML alkalmazása</title>
<para>Ebben a fejezetben a &os; Dokumentációs Projekt
keretein belül két leggyakrabban elõforduló
jelölõnyelvet ismerhetjük meg. Az egyes szakaszokban
ezen nyelvek bemutatására, illetve jelenleg
alkalmazott vagy alkalmazandó jelölési
sajátosságaira térünk ki.</para>
<para>Az itt tárgyalt jelölõnyelvek nagy
számú elemet tartalmaznak, és ezért
gyakorta zavarba ejtõ lehet az adott helyzetnek
leginkább megfelelõ elemek kiválasztása a
rengeteg kínálkozó alternatíva
közül. Ebben a szakaszban ezért igyekezük
érinteni az összes fontosabb elemet, valamint
példákat mutatni a megfelelõ
használatukra.</para>
<para>Ez az összefoglalás természetesen
<emphasis>nem</emphasis> tartalmazza mindegyik elemet, mivel ezzel
lényegében a nyelv saját
dokumentációját írnánk le
ismételten. Ebben a szakaszban elsõsorban inkább
azon elemek ismertetését tûztük ki
célul, amelyek a munkánk során
valószínûleg a leghasznosabbaknak fognak
bizonyulni. A további különbözõ
jelölési megoldásokra vonatkozóan
bátran kérhetünk tanácsot a &a.doc;
tagjaitól!</para>
<note>
<title>Belsõ elemek kontra blokkok</title>
<para>A leírás további részeiben
<emphasis>belsõnek</emphasis> nevezzük azokat az elemeket,
amelyek szerepelhetnek blokkelemekben és nem okoznak
sortörést. Ezzel szemben viszont a
<emphasis>blokk</emphasis> formátumú elemek
feldolgozása sortörést (vagy egyéb
feldolgozási lépéseket)
eredményez.</para>
</note>
<sect1 xml:id="sgml-markup-html">
<title>HTML</title>
<para>A HTML, más néven HyperText Markup Language, a
Világháló jelölõnyelve. Ezzel
kapcsolatban részlesebb leírásokat a <uri xlink:href="http://www.w3.org/">http://www.w3.org/</uri> címen
találhatunk.</para>
<para>A HTML használata a &os; honlapján
található oldalak
készítésénél jelenik meg.
Más dokumentációkhoz azonban
(általánosságban) nem szokták
alkalmazni, mivel a DocBook ennél sokkal
bõségesebb eszközöket kínál
fel. Ennek következményeképpen tehát
többnyire csak a honlap fejlesztése során
fogunk HTML oldalakkal találkozni.</para>
<para>A HTML létrejötte óta több
verzióváltáson is keresztülment
már, az 1, 2, 3.0, 3.2 verziókat követõen
egészen a legfrissebb 4.0 változatáig (amely
egyaránt elérhetõ
<emphasis>szigorú</emphasis> (strict) és
<emphasis>enyhébb</emphasis> (loose) formáiban
is).</para>
<para>A HTML DTD-k a Portgyûjteménybõl a <package>textproc/html</package> porton keresztül
érhetõek el. A <package>textproc/docproj</package> port ezt automatikusan
telepíti.</para>
<sect2>
<title>Formális publikus azonosító</title>
<para>A HTML megfelelni kívánt
verziójától (amelyet sokszor szintnek is
szoktak nevezni) függõen különbözõ
formális publikus azonosító (FPI)
áll rendelkezésünkre.</para>
<para>A &os; honlapján található
HTML dokumentumok többsége a HTML 4.0 enyhébb
változatának felel meg:</para>
<programlisting>PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"</programlisting>
</sect2>
<sect2>
<title>A dokumentum részei</title>
<para>A HTML dokumentumok általános esetben
két részre oszthatóak. Az elsõ,
<emphasis>fejnek</emphasis> nevezett rész tartalmazza a
dokumentumhoz tartozó metainformációkat,
például a címét, a szerzõ
nevét, a szülõdokumentumot és így
tovább. A második,
<emphasis>törzsnek</emphasis> hívott rész
pedig a felhasználó részére
megjelenített tartalmat foglalja magában.</para>
<para>A dokumentum ezen részeit rendre a
<tag>head</tag> (mint angolul a <quote>fej</quote>)
és a <tag>body</tag> (mint angolul a
<quote>törzs</quote>) elemekkel jelöljük. Ezeket
az elemeket végül a legfelsõbb szinten
álló <tag>html</tag> elem
tartalmazza.</para>
<example>
<title>Egy átlagos HTML dokumentum
felépítése</title>
<programlisting>&lt;html&gt;
&lt;head&gt;
&lt;title&gt;<replaceable>A dokumentum címe</replaceable>&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&hellip;
&lt;/body&gt;
&lt;/html&gt;</programlisting>
</example>
</sect2>
<sect2>
<title>Blokkok</title>
<sect3>
<title>Fejlécek</title>
<para>A HTML lehetõvé teszi fejlécek
jelölését egészen hat
különbözõ szintig.</para>
<para>A legnagyobb és legkiemelkedõbb fejléc
a <tag>h1</tag>, majd ezt követi a
<tag>h2</tag>, egészen a <tag>h6</tag>
címkéig.</para>
<para>Az elem tartalma a fejléc szövege lesz.</para>
<example>
<title>A <tag>h1</tag>, <tag>h2</tag>, stb.
elmek</title>
<para>A használat módja:</para>
<programlisting>&lt;h1&gt;Elsõ szakasz&lt;/h1&gt;
&lt;!&hyphen;- Ide kerül a dokumentum bevezetõ része -&hyphen;&gt;
&lt;h2&gt;Ez az elsõ szakasz fejléce&lt;/h2&gt;
&lt;!&hyphen;- Az elsõ szakasz tartalma következik -&hyphen;&gt;
&lt;h3&gt;Ez az elsõ alszakasz fejléce&lt;/h3&gt;
&lt;!&hyphen;- Az elsõ alszakasz tartalma itt foglal helyet -&hyphen;&gt;
&lt;h2&gt;Ez a második szakasz fejléce&lt;/h2&gt;
&lt;!&hyphen;- A második szakasz tartalma ezen a részen lesz -&hyphen;&gt;</programlisting>
</example>
<para>A HTML oldalaknak általában
rendelkezniük kell elsõ szintû fejléccel
(<tag>h1</tag>). Ez tetszõleges
számú második szintû fejlécet
(<tag>h2</tag>) tartalmazhat, amelyek szintén
tetszõleges mennyiségû harmadik szintû
fejlécet. Ügyeljünk arra, hogy minden
<tag>h<replaceable>n</replaceable></tag> elem mindig a
nála eggyel nagyobb szintû elemet tartalmazza, a
sorszámozásban tehát nem javasolt
közöket hagyni.</para>
<example>
<title>A <tag>h<replaceable>n</replaceable></tag>
elemek helytelen sorrendje</title>
<para>A használati módja:</para>
<programlisting>&lt;h1&gt;Elsõ szakasz&lt;/h1&gt;
&lt;!&hyphen;-&gt; A dokumentum bevezetõje -&hyphen;&gt;
&lt;h3&gt;Alszakasz&lt;/h3&gt;
&lt;!&hyphen;- Nem jó, mert kimaradt a &lt;h2&gt; szint! -&hyphen;&gt;</programlisting>
</example>
</sect3>
<sect3>
<title>Bekezdések</title>
<para>A HTML egyetlen bekezdésfajtát ismer, ez a
<tag>p</tag>.</para>
<example>
<title>A <tag>p</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Ez egy bekezdés. Szinte bármilyen más elemet tartalmazhat.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Idézetblokkok</title>
<para>Az idézetblokkok más dokumentumok nagyobb
részeinek idézésére
használhatóak az aktuális
bekezdésen túl.</para>
<example>
<title>A <tag>blockquote</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Részlet a Szózatból:<![CDATA[</p>
<blockquote>]]>Hazádnak rendületlenûl
Légy híve, oh magyar,
Bölcsõd az 's majdan sírod is,
Melly ápol 's eltakar.
A' nagy világon e' kivûl
Nincsen számodra hely,
Áldjon vagy verjen sors' keze,
Itt élned, halnod kell.
Ez a' föld, mellyen annyiszor
Apáid' vére folyt;
Ez, mellyhez minden szent nevet
Egy ezredév csatolt.
Itt küzdtenek honért a' hõs
Árpádnak hadai,
Itt törtek össze rabigát
Hunyadnak karjai.
Szabadság! Itten hordozák
Véres zászlóidat,
'S elhulltanak legjobbjaink
A' hosszu harcz alatt.<![CDATA[</blockquote>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Felsorolások</title>
<para>A dokumentumokban háromféle
felsorolást használhatunk: sorszámozott,
sorszámozás nélkül és
definíciós.</para>
<para>Röviden úgy mutathatnánk be ezeket a
formátumokat, hogy a sorszámozott
felsorolásban az elemek elé számok
kerülnek, a sorszámozás nélküli
esetben pontok, a definíciós
felsorolásban pedig a bejegyzések két
részébõl jönnek létre az
elemek. Ezek közül az elsõ részben a
meghatározandó fogalom található,
míg a második részben annak
meghatározása.</para>
<para>A sorszámozott felsorolásokat az
<tag>ol</tag> elem jelzi, a sorszámozás
nélküli felsorolásokat az
<tag>ul</tag> elem, végül a
definíciós felsorolásokat a
<tag>dl</tag> elem.</para>
<para>A sorszámozott és sorszámozás
nélküli felsorolások a felsorolás
elemeit tartalmazzák, amelyeket a <tag>li</tag>
elemekkel vezetünk be. A felsorolások elemeinek
szöveges tartalma lehet, vagy ha ezeket becsomagoljuk egy
vagy több <tag>p</tag> elembe, további
elemeket tartalmazhatnak.</para>
<para>A definíciós felsorolások
meghatározandó fogalmakat (<tag>dt</tag>)
és meghatározásokat
(<tag>dd</tag>) tartalmazhatnak. A
meghatározandó fogalmat tartalmazó
részben csak belsõ elemek szerepelhetnek. A
meghatározásokban viszont további blokkok
is megjelenhetnek.</para>
<example>
<title>Az <tag>ul</tag> és
<tag>ol</tag> elemek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Egy sorszámozás nélkül felsorolás. A felsorolás elemei elõtt minden
bizonnyal pontok fognak megjelenni.<![CDATA[</p>
<ul>
<li>]]>Elsõ elem<![CDATA[</li>
<li>]]>Második elem<![CDATA[</li>
<li>]]>Harmadik elem<![CDATA[</li>
</ul>
<p>]]>Egy sorszámozott lista, ahol az elemek több bekezdésbõl állnak.
Mindegyik elem (figyelem: nem mindegyik bekezdés) elõtt egy sorszámnak kell
szerepelnie.<![CDATA[</p>
<ol>
<li>
<p>]]>Ez az elsõ elem. Ennek csak egy bekezdése van.<![CDATA[</p>
</li>
<li>
<p>]]>Ez a második elem elsõ bekezdése.<![CDATA[</p>
<p>]]>Ez a második elem második bekezdése.<![CDATA[</p>
</li>
<li>
<p>]]>Ez az elsõ és egyetlen bekezdés a harmadik elemben.<![CDATA[</p>
</li>
</ol>]]></programlisting>
</example>
<example>
<title>Definíciós felsorolások a
<tag>dl</tag> elemmel</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<dl>
<dt>]]>Elsõ fogalom<![CDATA[</dt>
<dd>
<p>]]>Az elsõ fogalom meghatározásának elsõ bekezdése.<![CDATA[</p>
<p>]]>Az elsõ fogalom meghatározásának második bekezdése.<![CDATA[</p>
</dd>
<dt>]]>Második fogalom<![CDATA[</dt>
<dd>
<p>]]>A második fogalom meghatározásának elsõ bekezdése.<![CDATA[</p>
</dd>
<dt>]]>Harmadik fogalom<![CDATA[</dt>
<dd>
<p>]]>A harmadik fogalom meghatározásának elsõ bekezdése.<![CDATA[</p>
</dd>
</dl>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Formázott szöveg</title>
<para>Megadhatjuk, hogy a szöveg egyes részei
pontosan abban a formában kerüljenek a
felhasználó elé, ahogy az eredetileg
szerepel. Ilyenkor általában a szöveg
rögzített szélességû
betûtípussal jelenik meg, az egymás mellett
levõ szóközök nem vonódnak
össze, a sortörések hatása
fontossá válik.</para>
<para>Mindezt a <tag>pre</tag> elemen keresztül
érhetjük el.</para>
<example>
<title>A <tag>pre</tag> elem</title>
<para>A <tag>pre</tag> elem például
remekül alkalmas e-mailek
jelölésére:</para>
<programlisting><![CDATA[<pre> From: Gabor PALI &lt;pgj@FreeBSD.org&gt;
To: bsd@hu.FreeBSD.org
Subject: Uj FreeBSD-cikk forditas: Naplozo UFS hasznalata asztali szamitogepeken
Kedves listatagok!
Nemreg elkeszitettem az ``Implementing UFS Journaling on a Desktop
PC'' neven szerepelo [1] FreeBSD-cikk magyar forditasat [2].
Szeretnek megkerni mindenkit, akit erdekel a honositott valtozat,
hogy olvassa el, nezze at, betatesztelje es mondjon rola velemenyt.
Egyelore meg csak a sajat Perforce repositorynkbol erheto el, de a
megadott linken naponta egyszer automatikusan frissul a HTML valtozat
a feltoltott valtoztatasok (peldaul hibajavitasok) fuggvenyeben.
Elore is nagyon szepen koszonom mindenkinek a segitseget!
:g
[1] http://www.freebsd.org/doc/en/articles/gjournal-desktop/
[2] http://people.freebsd.org/~pgj/gjournal-desktop_hu/</pre>]]></programlisting>
<para>Hasznos azonban tudnunk, hogy a <literal>&lt;</literal>
és <literal>&amp;</literal> jelek a formázott
szövegben továbbra is speciális
jelentéssel bírnak. A példában
ezért is használtunk
<literal>&amp;lt;</literal> egyedeket a
<literal>&lt;</literal> jelek helyett. Ugyanezért a
<literal>&amp;gt;</literal> a <literal>&gt;</literal>
helyén is látható. Ezért mindig
körültekintõen bánjunk a nyers
szövegbõl, például e-mailbõl
vagy forráskódból bemásolt
részletekkel, és ne felejtsük el
átalakítani a bennük
található speciális
karaktereket.</para>
</example>
</sect3>
<sect3>
<title>Táblázatok</title>
<note>
<para>A legtöbb (Lynx-hez hasonló) szöveges
módban futó böngészõ
kifejezetten ügyetlen módon jeleníti meg
a táblázatokat. Ha az oldalon a
táblázatos felépítést
választjuk, akkor a problémák
elkerüléséhez érdemes egy
alternatív jelölési módszert
alkalmazni.</para>
</note>
<para>A táblázatos formában
megjeleníteni kívánt
információt jelöljük a
<tag>table</tag> elemmel. A táblázatok
egy több sorból (<tag>tr</tag> mint
<quote>table row</quote>) állnak, amelyek egy vagy
több adatcellát (<tag>td</tag> mint
<quote>table data</quote>) tartalmaznak. Mindegyik cella
tartalmazhat további blokkokat, például
bekezdéseket vagy listákat, de akár
táblázatokat (ez a beágyazás
tetszõleges mélységig folytatható).
Ha a cella tartalma csak egyetlen bekezdés, akkor
nincs szükség a <tag>p</tag> elem
használatára.</para>
<example>
<title>A <tag>table</tag> egyszerû
használata</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Ez egy 2x2-es táblázat.<![CDATA[</p>
<table>
<tr>
<td>]]>Bal felsõ cella<![CDATA[</td>
<td>]]>Jobb felsõ cella<![CDATA[</td>
</tr>
<tr>
<td>]]>Bal alsó cella<![CDATA[</td>
<td>]]>Jobb alsó cella<![CDATA[</td>
</tr>
</table>]]></programlisting></example>
<para>Egy cella több sorra vagy oszlopra is
átnyúlhat. Ennek jelzéséhez a
kiterjesztendõ sorokhoz a <literal>rowspan</literal>
és/vagy oszlopokhoz a <literal>colspan</literal>
tulajdonságot adjuk meg a megfelelõ
értékkel.</para>
<example>
<title>A <literal>rowspan</literal> tulajdonság</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Egy magas keskeny cella a bal oldalon, mellette jobbra
két rövid cella.<![CDATA[</p>
<table>
<tr>
<td rowspan="2">]]>Hosszú és keskeny<![CDATA[</td>
</tr>
<tr>
<td>]]>Felsõ cella<![CDATA[</td>
<td>]]>Alsó cella<![CDATA[</td>
</tr>
</table>]]></programlisting>
</example>
<example>
<title>A <literal>colspan</literal> tulajdonság</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Felül egy hosszú cella, alatt két rövidebb cella.<![CDATA[</p>
<table>
<tr>
<td colspan="2">]]>Felsõ cella<![CDATA[</td>
</tr>
<tr>
<td>]]>Bal alsó cella<![CDATA[</td>
<td>]]>Jobb alsó cella<![CDATA[</td>
</tr>
</table>]]></programlisting>
</example>
<example>
<title>A <literal>rowspan</literal> és
<literal>colspan</literal> tulajdonságok
együttes használata</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>Egy 3x3-as rácson a bal felsõ blokk 2x2 egymásba olvasztott
cellából áll. A többi cella normális.</p>
<table>
<tr>
<td colspan="2" rowspan="2">Bal felsõ nagy cella</td>
<td>Jobb felsõ cella</td>
</tr>
<tr>
<td>Jobb középsõ cella</td>
</tr>
<tr>
<td>Bal alsó cella</td>
<td>Bal középsõ cella</td>
<td>Jobb alsó cella</td>
</tr>
</table>]]></programlisting>
</example>
</sect3>
</sect2>
<sect2>
<title>Belsõ elemek</title>
<sect3>
<title>Az információ kiemelése</title>
<para>A HTML esetén a kiemelésnek két
szintje létezik, az <tag>em</tag> és a
<tag>strong</tag>. Ezek közül az
<tag>em</tag> jelenti a hagyományos
kiemelést és a <tag>strong</tag> az
erõsebbet.</para>
<para>Az <tag>em</tag> elem tartalma
általában dõlt betûvel jelenik meg,
miközben a <tag>strong</tag> elem tartalma
félkövéren. Ez a
megállapítás azonban nem minden esetben
igaz, ezért nem szabad semmi ilyesmit
feltételeznünk a használatukkor.</para>
<example>
<title>A <tag>em</tag> és
<tag>strong</tag> elemek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>&lt;em&gt;Ezt&lt;/em&gt; a részt kiemeltük, miközben &lt;strong&gt;ezt&lt;/strong&gt; részt
erõsebben kiemeltük.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Félkövér és dõlt
formázás</title>
<para>Mivel a HTML tartalmaz konkrétan a
megjelenítésre vonatkozó
jelölõket is, ezért külön jelezni
tudjuk a forrásban, hogy a szöveg melyik
részét szeretnénk
félkövéren vagy dõlten látni.
Ezeket a funkciókat a <tag>b</tag>, illetve az
<tag>i</tag> elemekkel érhetjük el.</para>
<example>
<title>A <tag>b</tag> és <tag>i</tag>
elemek</title>
<programlisting><![CDATA[<p>]]>&lt;b&gt;Ez&lt;/b&gt; félkövér, &lt;i&gt;ez&lt;/i&gt; pedig dõlt.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Írógépszerû
formázás</title>
<para>Az írógépszerûen
(rögzített szélességû
karakterekkel) írt szövegek
formázásához a <tag>tt</tag>
(mint <quote>teletype</quote>) elemet
használhatjuk.</para>
<example>
<title>A <tag>tt</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Ezt a dokumentumot eredetileg Páli Gábor fordította,
és a következõ címen érhetõ el: &lt;tt&gt;pgj@FreeBSD.org&lt;/tt&gt;.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Méretezés</title>
<para>Elõfordulhat, hogy szeretnénk növelni
vagy csökkenteni a szöveg
megjelenítéséhez használt
betûtípus méretét. Erre
alapvetõen három lehetõség
kínálkozik.</para>
<orderedlist>
<listitem>
<para>Ágyazzuk az átméterezendõ
szöveget <tag>big</tag> és
<tag>small</tag> elemekbe. Ezeket a
címkéket tetszõleges
mélységig egymásba tudjuk
ágyazni, tehát írható olyan,
hogy <literal>&lt;big&gt;&lt;big&gt;Ez már sokkal
nagyobb!&lt;/big&gt;&lt;/big&gt;</literal>.</para>
</listitem>
<listitem>
<para>Használjuk a <tag>font</tag> elemet,
és a <literal>size</literal>
tulajdonságát állítsuk a
<literal>+1</literal> vagy <literal>-1</literal>
értékre. Ez hatása szerint
megegyezik a <tag>big</tag> és a
<tag>small</tag> elemek
használatával, azonban ez a
típusú megoldás már
elavult.</para>
</listitem>
<listitem>
<para>A <tag>font</tag> <literal>size</literal>
tulajdonsága <literal>1</literal> és
<literal>7</literal> között
állítható. A betû
alapértelmezett mérete <literal>3</literal>.
Ez a megközelítés már
elavult.</para>
</listitem>
</orderedlist>
<example>
<title>A <tag>big</tag>, <tag>small</tag>
és a <tag>font</tag> elemek</title>
<para>A következõ kódrészleteknek
ugyanaz a hatása.</para>
<programlisting><![CDATA[<p>]]>Ez a szöveg &lt;small&gt;valamivel kisebb&lt;/small&gt;. Ez a
a szöveg viszont &lt;big&gt;valamivel nagyobb&lt;/big&gt;.<![CDATA[</p>
<p>]]>Ez a szöveg &lt;font size="-1"&gt;valamivel kisebb&lt;/font&gt;. Ez a
szöveg viszont &lt;font size="+1"&gt;valamivel nagyobb&lt;/font&gt;.<![CDATA[</p>
<p>]]>Ez a szöveg &lt;font size="2"&gt;valamivel kisebb&lt;/font&gt;. Ez a
szöveg viszont &lt;font size="4"&gt;valamivel nagyobb&lt;/font&gt;.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
</sect2>
<sect2>
<title>Hivatkozások</title>
<note>
<para>A hivatkozások is belsõ elemek.</para>
</note>
<sect3>
<title>Hivatkozás más dokumentumokra a
Világhálón</title>
<para>A Világhálón elhelyezkedõ
dokumentumokat úgy tudjuk hivatkozni, ha ismerjük a
helyüket.</para>
<para>A hivatkozást az <tag>a</tag> elemmel
adhatjuk meg, amelynek a <literal>href</literal>
tulajdonsága tartalmazza a hivatkozott dokumentum
helyét. Az elem tartalma ekkor egy
hivatkozássá változik, és a
felhasználó számára is jól
látható módon jelenik meg
(aláhúzással, más színnel,
más egérmutatóval és így
tovább).</para>
<example>
<title>Az <literal>&lt;a href="..."&gt;</literal> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p>]]>Erre vonatkozóan részletesebb információkat a
&lt;a href="http://www.FreeBSD.org/"&gt;&os; honlapján&lt;/a&gt; találhatunk.<![CDATA[</p>]]></programlisting>
</example>
<para>Ezeket a hivatkozások a felhasználót
az adott dokumentum elejére
irányítják.</para>
</sect3>
<sect3>
<title>A dokumentumok más részeinek
hivatkozása</title>
<para>A dokumentumok egyéb részeire (akár
ugyanazon a dokumentumon belül) csak akkor tudunk
hivatkozni, ha a szerzõ elõzetesen
hivatkozási pontokat helyeztünk el
bennük.</para>
<para>Hivatkozási pontokat szintén
<tag>a</tag> elemekkel adhatunk meg, azonban a
<literal>href</literal> tulajdonság helyett a
<literal>name</literal> használatával.</para>
<example>
<title>Az <literal>&lt;a name="..."&gt;</literal> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<p><a name="bekezd1">]]>Ez<![CDATA[</a>]]> a bekezdés a hivatkozásokban a <![CDATA[<tt>]]>bekezd1<![CDATA[</tt>]]>
névvel érhetõ el.<![CDATA[</p>]]></programlisting>
</example>
<para>A dokumentum így megnevezett részét
egy egyszerû hivatkozás
készítésével tudjuk elérni,
azonban a hivatkozási pont neve elé tennünk
kell egy <literal>#</literal> jelet.</para>
<example>
<title>Egy másik dokumentum nevesített
részének elérése</title>
<para>Tételezzük fel, hogy a
<literal>bekezd1</literal> példánk az
<filename>ize.html</filename> állományban
található.</para>
<programlisting><![CDATA[<p>]]>A témáról további információkat az <![CDATA[<tt>]]>ize.html<![CDATA[</tt>]]>
<![CDATA[<a href="ize.html#bekezd1">]]>elsõ bekezdésében<![CDATA[</a>]]> találhatunk.<![CDATA[</p>]]></programlisting>
</example>
<para>Ha egy hivatkozási pontra ugyanazon a dokumentumon
belül szeretnénk hivatkozni, akkor nyugodtan
elhagyhatjuk a dokumentum nevét, elegendõ
egyszerûen magát a hivatkozási pontot
megadnunk (természetesen a hozzá tartozó
<literal>#</literal> jellel együtt).</para>
<example>
<title>Ugyanazon dokumentum nevesített
részének elérése</title>
<para>Tételezzük fel, hogy a
<literal>bekezd1</literal> példa ugyanezen a
dokumentumon belül helyezkedik el:</para>
<programlisting><![CDATA[<p>]]>A témáról további információkat az
<![CDATA[<a href="#bekezd1">]]>elsõ bekezdésben<![CDATA[</a>]]> találhatunk.<![CDATA[</p>]]></programlisting>
</example>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="sgml-markup-docbook">
<title>DocBook</title>
<para>A DocBook jelölõnyelvet eredetileg a HaL Computer
Systems és az O'Reilly &amp; Associates dolgozta ki a
mûszaki jellegû dokumentációk
írásához<footnote>
<para>Ennek rövid története a <uri xlink:href="http://www.oasis-open.org/docbook/intro.shtml#d0e41">http://www.oasis-open.org/docbook/intro.shtml#d0e41</uri>
címen olvasható.</para></footnote>, illetve
1998 óta a <link xlink:href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=docbook">
DocBook Mûszaki Bizottság</link> tartja karban. Mint
ilyen nyelv, eltérõen a LinuxDoc és a HTML
megoldásaitól, a DocBook erõsen olyan
jelölések irányába
orientálódik, amelyek nem azt írják le
<emphasis>hogyan</emphasis>, hanem <emphasis>mit</emphasis>
jelenítsünk meg.</para>
<note>
<title><literal>Formális</literal> kontra
<literal>informális</literal></title>
<para>Bizonyos elemeknek létezik ún.
<emphasis>formális</emphasis> és
<emphasis>informális</emphasis> változata. A
formális változat általában egy
címbõl és az adott elem informális
változatából áll. Az
informális változat nem tartalmaz
címet.</para>
</note>
<para>A DocBook használatához szükséges
DTD a Portgyûjteménybõl a <package>textproc/docbook</package> porton keresztül
érhetõ el. Ez a <package>textproc/docproj</package> port
részeként automatikusan
telepítõdik.</para>
<sect2>
<title>A &os; kiterjesztései</title>
<para>A &os; Dokumentációs Projekt kiterjesztette a
hivatalos DocBook DTD-t további elemekkel.
Segítségükkel bizonyos jelölések
sokkal pontosabbá tehetõek.</para>
<para>A kizárólag a &os; esetén alkalmazott
elemeket egyértelmûen jelezni fogjuk a
felsorolásban.</para>
<para>A dokumentum további részében a
<quote>DocBook</quote> kifejezés a DocBook DTD &os;
kiterjesztéseivel együtt értendõ.</para>
<note>
<para>Szeretnénk megemlíteni, hogy a
hozzáadott kiegészítésekben azonban
semmi olyan nincs, ami kizárólag a &os;-re
vonatkozna, egyszerûen csak a Projektben felmerült
igények mentén szeretne alkalmazni
néhány javítást. Ha más
&unix; jellegû rendszerek (NetBSD, OpenBSD, Linux, stb.)
fejlesztõit esetleg érdekelné a DocBook
további fejlesztése, kérjük,
vegyék fel velünk a kapcsolatot a &a.doceng;
címén.</para>
</note>
<para>A &os; kapcsán alkalmazott kiterjesztések
(jelenleg) nem érhetõek el a
Portgyûjteménybõl, hanem a &os; repositoryban
találjuk meg a <link xlink:href="http://www.FreeBSD.org/cgi/cvsweb.cgi/doc/share/xml/freebsd.dtd">doc/share/xml/freebsd.dtd</link>
helyen.</para>
</sect2>
<sect2>
<title>Formális publikus azonosító</title>
<para>A DocBook a testreszabott változatok formális
publikus azonosítóira vonatkozó
irányelvei szerint a &os; kiterjesztéseivel
bõvített DocBook DTD formális publikus
azonosítója a következõ lesz:</para>
<programlisting>PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"</programlisting>
</sect2>
<sect2>
<title>A dokumentum szerkezete</title>
<para>A DocBook többféle módon
kínál lehetõségeket a dokumentumok
szerkezetének kialakítására. A &os;
Dokumentációs Projektben a DocBook dokumentumok
két alapvetõ fajtáját
használjuk, a könyvet és a cikket.</para>
<para>A könyvek fejezetekbõl
(<tag>chapter</tag>) állnak, amelyek
használata kötelezõ. A könyv és a
fejezetek közé még további
szervezési rétegként beilleszhetõek
részek (<tag>part</tag>) is.
Például a &os; kézikönyv
szerkezetét is ennek megfelelõen alakítottuk
ki.</para>
<para>A fejezetek tartalmazhatnak (vagy sem) egy vagy több
szakaszt, amelyeket <tag>sect1</tag> elemekkel
jelezhetünk. Amennyiben egy szakasz újabb szakaszt
tartalmaz, akkor használjuk a <tag>sect2</tag>
elemet, és így tovább egészen a
<tag>sect5</tag> szintig.</para>
<para>A fejezetek és a szakaszok tartalmazzák a
dokumentum tartalmának fennmaradó
részét.</para>
<para>Egy cikk egy könyvnél egyszerûbb
felépítésû, és nem tartalmaz
fejezeteket. Helyette a cikkek tartalmát egy vagy
több szakaszba szervezzük, a könyvnél
már említett <tag>sect1</tag>
(<tag>sect2</tag> és így tovább)
elemek segítségével.</para>
<para>A készítendõ
dokumentációról értelemszerûen
jellegének mérlegelésével tudjuk
eldönteni, hogy könyvként esetleg
cikk-ként érdemesebb jelölni. A cikk
formátum választása leginkább olyan
információk esetén célszerû,
ahol nincs szükségünk külön
fejezetekre. Röviden szólva tehát egy
viszonylag rövid, legfeljebb 20-25 oldalas
írást takar. A könyv formátum ezzel
szemben leginkább olyan esetekben alkalmazható,
amikor az információ fejezetekre bontható,
amelyhez függelékek és hasonlók is
társulhatnak.</para>
<para>A <link xlink:href="&url.base;/docs.html">&os;-hez készített cikkek</link>
mindegyikét cikk-ként jelöltük,
miközben például ez a dokumentum, a <link xlink:href="&url.books.faq;/index.html">&os; GYIK</link>, és
a <link xlink:href="&url.books.handbook;/index.html">&os; kézikönyv</link>
könyvként került jelölésre.</para>
<sect3>
<title>Könyv írása</title>
<para>A könyvek tartalmát egy
<tag>book</tag> elemben adjuk meg. Ez a
jelölõ amellett, hogy magában foglalja a
könyv teljes felépítését,
tovább információkat tud tárolni
magáról a könyvrõl. Ez lehet
akár hivatkozási célokat
szolgáló metainformáció, vagy
éppen a címlap
elkészítéséhez
szükséges egyéb
leírás.</para>
<para>A könyvre vonatkozó további
információkat egy <tag>bookinfo</tag>
elemen belül adhatjuk meg.</para>
<example>
<title>Egy <tag>book</tag> és
<tag>bookinfo</tag> elemek
segítségével definiált
könyvsablon</title>
<programlisting>&lt;book&gt;
&lt;bookinfo&gt;
&lt;title&gt;<replaceable>Ide írjuk a címet</replaceable>&lt;/title&gt;
&lt;author&gt;
&lt;surname&gt;<replaceable>Vezetéknév</replaceable>&lt;/surname&gt;
&lt;firstname&gt;<replaceable>Keresztnév</replaceable>&lt;/firstname&gt;
&lt;affiliation&gt;
&lt;address&gt;&lt;email&gt;<replaceable>E-mail cím</replaceable>&lt;/email&gt;&lt;/address&gt;
&lt;/affiliation&gt;
&lt;/author&gt;
&lt;copyright&gt;
&lt;year&gt;<replaceable>2008</replaceable>&lt;/year&gt;
&lt;holder role="mailto:<replaceable>E-mail cím</replaceable>"&gt;<replaceable>Név</replaceable>&lt;/holder&gt;
&lt;/copyright&gt;
&lt;releaseinfo&gt;&#36;&os;&#36;&lt;/releaseinfo&gt;
&lt;abstract&gt;
&lt;para&gt;<replaceable>Ide kerüljön a könyv tartalmának rövid összefoglalása.</replaceable>&lt;/para&gt;
&lt;/abstract&gt;
&lt;/bookinfo&gt;
&hellip;
&lt;/book&gt;</programlisting>
</example>
</sect3>
<sect3>
<title>Cikk írása</title>
<para>A cikk tartalma az <tag>article</tag> elembe
kerül. A dokumentum szervezésén
kívül ennek az elemnek feladata
lehetõséget kínálni további
információk elhelyezésére. Ez
lehet hivatkozási célokra alkalmas
metainformáció, vagy például a
címlap elõállításához
szükséges egyéb adatok.</para>
<para>A cikk-kel kapcsolatos további
információk egy <tag>articleinfo</tag>
elemben adhatóak meg.</para>
<example>
<title>Egy <tag>article</tag> és
<tag>articleinfo</tag> elemek
segítségével definiált
cikksablon</title>
<programlisting>&lt;article&gt;
&lt;articleinfo&gt;
&lt;title&gt;<replaceable>Ide írjuk a címet</replaceable>&lt;/title&gt;
&lt;author&gt;
&lt;surname&gt;<replaceable>Vezetéknév</replaceable>&lt;/surname&gt;
&lt;firstname&gt;<replaceable>Keresztnév</replaceable>&lt;/firstname&gt;
&lt;affiliation&gt;
&lt;address&gt;&lt;email&gt;<replaceable>E-mail cím</replaceable>&lt;/email&gt;&lt;/address&gt;
&lt;/affiliation&gt;
&lt;/author&gt;
&lt;copyright&gt;
&lt;year&gt;<replaceable>2008</replaceable>&lt;/year&gt;
&lt;holder role="mailto:<replaceable>E-mail cím</replaceable>"&gt;<replaceable>Név</replaceable>&lt;/holder&gt;
&lt;/copyright&gt;
&lt;releaseinfo&gt;&#36;&os;&#36;&lt;/releaseinfo&gt;
&lt;abstract&gt;
&lt;para&gt;<replaceable>Ide kerüljön a cikk tartalmának rövid összefoglalása.</replaceable>&lt;/para&gt;
&lt;/abstract&gt;
&lt;/articleinfo&gt;
&hellip;
&lt;/article&gt;</programlisting>
</example>
</sect3>
<sect3>
<title>Fejezetek készítése</title>
<para>A <tag>chapter</tag> elem
használatával tudunk fejezeteket jelölni.
Minden fejezetnek kötelezõen rendelkeznie kell egy
címmel, vagyis egy <tag>title</tag> elemmel. A
cikkek nem tartalmazhatnak fejezeteket,
kizárólag könyvek számára
tartják fenn.</para>
<example>
<title>Egy egyszerû fejezet</title>
<programlisting><![CDATA[<chapter>
<title>]]>Fejezetcím<![CDATA[</title>
...
</chapter>]]></programlisting>
</example>
<para>A fejezetek nem lehetnek üresek, a
<tag>title</tag> elem mellett még tartalmazniuk
kell valamilyen másik elemet is. Az üres
fejezetek készítéséhez
használjunk egy üres bekezdést.</para>
<example>
<title>Üres fejezetek</title>
<programlisting><![CDATA[<chapter>
<title>]]>Ez egy üres fejezet<![CDATA[</title>
<para></para>
</chapter>]]></programlisting>
</example>
</sect3>
<sect3>
<title>Szakaszok fejezetek alatt</title>
<para>A könyvekben a fejezetek további szakaszokra,
alszakaszokra stb. bonthatóak (de nem
kötelezõ). A cikkekben azonban a szakaszok az
alapvetõ szervezõelemek, ezért minden cikknek
legalább egy szakaszt tartalmaznia kell. A szakaszok
létrehozására a
<tag>sect<replaceable>n</replaceable></tag> elemet
használhatjuk, ahol az <replaceable>n</replaceable>
szám adja meg a szakasz szintjét.</para>
<para>Az elsõ ilyen
<tag>sect<replaceable>n</replaceable></tag> elem a
<tag>sect1</tag>, amelybõl egy fejezetben egy
vagy több is szerepelhet. Ezek egy vagy több
<tag>sect2</tag> elemet tartalmazhatnak, és
így tovább egészen az
<tag>sect5</tag> szintjéig.</para>
<example>
<title>Szakaszok fejezetekben</title>
<programlisting><![CDATA[<chapter>
<title>]]>Minta fejezet<![CDATA[</title>
<para>]]>Egy kis fejezetbeli szöveg.<![CDATA[</para>
<sect1>
<title>]]>Elsõ szakasz (1.1)<![CDATA[</title>
&hellip;
</sect1>
<sect1>
<title>]]>Második szakasz (1.2)<![CDATA[</title>
<sect2>
<title>]]>Elsõ alszakasz (1.2.1)<![CDATA[</title>
<sect3>
<title>]]>Elsõ al-alszakasz (1.2.1.1)<![CDATA[</title>
&hellip;
</sect3>
</sect2>
<sect2>
<title>]]>Második alszakasz (1.2.2)<![CDATA[</title>
&hellip;
</sect2>
</sect1>
</chapter>]]></programlisting>
</example>
<note>
<para>Láthatjuk, hogy ebben a példában a
szakaszok neveiben megjelenik a szakaszok
számozása. Ezt azonban ne írjuk bele a
dokumentumainkba! A szakaszok
számozását a stíluslapok
végzik (errõl még késõbb
szó lesz), ezekkel egyáltalán nem kell
foglalkoznunk.</para>
</note>
</sect3>
<sect3>
<title>A dokumentum felosztása <tag>part</tag>
elemek használatával</title>
<para>A <tag>book</tag> és
<tag>chapter</tag> elemek részérõl
felkínált szervezési szintek
közé a <tag>part</tag> elemek
alkalmazásával egy újabbat tudunk
illeszteni. Erre a cikkek esetében nincs
lehetõségünk.</para>
<programlisting><![CDATA[<part>
<title>]]>Bevezetés<![CDATA[</title>
<chapter>
<title>]]>Áttekintés<![CDATA[</title>
...
</chapter>
<chapter>
<title>]]>Mi a &os;?<![CDATA[</title>
...
</chapter>
<chapter>
<title>]]>Történet<![CDATA[</title>
...
</chapter>
</part>]]></programlisting>
</sect3>
</sect2>
<sect2>
<title>Blokkok</title>
<sect3>
<title>Bekezdések</title>
<para>A DocBookban a bekezdések háromféle
típusát találhatjuk meg:
<tag>formalpara</tag>, <tag>para</tag>
és <tag>simpara</tag>.</para>
<para>Az iméntiek közül a legtöbb esetben
az <tag>para</tag> elemre lesz
szükségünk. A <tag>formalpara</tag>
tartalmaz még egy <tag>title</tag> elemet,
illetve a <tag>simpara</tag> nem engedélyezi
bizonyos elemek használatát a
bekezdésben. Érdemes tehát inkább
következetesen a <tag>para</tag>
használatánál maradni.</para>
<example>
<title>A <tag>para</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>Ez egy bekezdés. Tetszõleges egyéb elem megjelenhet benne.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>Ez egy bekezdés. Tetszõleges egyéb
elem megjelenhet benne.</para>
</example>
</sect3>
<sect3>
<title>Idézetblokkok</title>
<para>Az idézetblokkok egy másik
dokumentumból származó, kiterjedtebb
hosszúságú idézetet jelölnek,
amelyeknek az aktuális bekezdéstõl
függetlenül kell megjelenniük. Erre
valószínûleg csak nagyon ritkán lesz
ténylegesen szükségünk.</para>
<para>Az idézetblokkok opcionálisan címeket
és szerzõt is tartalmazhatnak (de akár
szerepelhetnek cím vagy szerzõ
nélkül).</para>
<example>
<title>A <tag>blockquote</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>Részlet Szerb Antal &lt;quote&gt;A Pendragon legenda&lt;/quote&gt; címû
mûvébõl:<![CDATA[</para>
<blockquote>
<title>]]>A Pendragon legenda<![CDATA[</title>
<attribution>]]>Szerb Antal<![CDATA[</attribution>
<para>]]>Minden nõben azt élveztem, hogy a szimbóluma volt valaminek. Volt
nõ, akit azért szerettem, mert õ volt Svédország, volt nõ, akit azért,
mert a XVIII. századra emlékeztetett törékeny S&egrave;vres-mivolta.
Volt, akiben Jeanne d'Arc-ot álmodtam, volt, akiben az ezermellû
ephesusi Dianát. Cynthiát, ha megcsókoltam, úgy éreztem, most az
angol szonetekkel flörtölök, ötödfeles jambusokban. Volt, akinek édes
tehénszerûségében svájci, alpesi réteket élveztem.<![CDATA[</para>
</blockquote>]]></programlisting>
<para>Így jelenik meg:</para>
<para>Részlet Szerb Antal <quote>A Pendragon
legenda</quote> címû
mûvébõl:</para>
<blockquote>
<title>A Pendragon legenda</title>
<attribution>Szerb Antal</attribution>
<para>Minden nõben azt élveztem, hogy a
szimbóluma volt valaminek. Volt nõ, akit
azért szerettem, mert õ volt
Svédország, volt nõ, akit azért,
mert a XVIII. századra emlékeztetett
törékeny S&egrave;vres-mivolta. Volt, akiben
Jeanne d'Arc-ot álmodtam, volt, akiben az
ezermellû ephesusi Dianát. Cynthiát,
ha megcsókoltam, úgy éreztem, most az
angol szonetekkel flörtölök,
ötödfeles jambusokban. Volt, akinek édes
tehénszerûségében svájci,
alpesi réteket élveztem.</para>
</blockquote>
</example>
</sect3>
<sect3>
<title>Tanácsok, megjegyzések,
felhívások, figyelmeztetések, fontos
és mellékes információk</title>
<para>Esetenként szükségünk lehet arra,
hogy bizonyos többletinformációt
közöljünk az olvasóval a
szövegtõl elkülöníthetõ
módon. Ez többnyire olyan
<quote>metainformáció</quote>, amelyre a
felhasználónak tekintettel érdemes
lennie.</para>
<para>Az adott információ jellegétõl
függõen erre a célra a <tag>tip</tag>
(tanács), <tag>note</tag> (megjegyzés),
<tag>warning</tag> (felhívás),
<tag>caution</tag> (figyelmeztetés) és
<tag>important</tag> (fontos információ)
elemek valamelyikét tudjuk használni.
Amennyiben a közölni kívánt
információ kötõdik ugyan a
szöveghez, azonban az elõbbiek közül egyik
kategóriába sem sorolható be, akkor
használhatjuk a <tag>sidebar</tag>
(mellékinformáció) elemet is.</para>
<para>Nem teljesen tisztázott, hogy az imént
felsorolt elemek közül pontosan mikor melyiket kell
alkalmazni. A DocBook dokumentációja ezzel
kapcsolatban a következõket javasolja:</para>
<itemizedlist>
<listitem>
<para>A <tag>note</tag> elemek olyan
információkat jelölnek, amelyek az
olvasó részérõl
megszivlelendõek.</para>
</listitem>
<listitem>
<para>Az <tag>important</tag> elemek a
<tag>note</tag> elemek egyik
változata.</para>
</listitem>
<listitem>
<para>A <tag>caution</tag> elemmel olyan
információt jelölnek, amelyek
ismeretének hiányában
adatvesztés vagy szoftveres károdás
következhet be.</para>
</listitem>
<listitem>
<para>A <tag>warning</tag> elemek olyan
információkat jelölnek, amelyek
ismeretének hiánya hardver
károsodását,
életveszélyt vagy a végtagok
sérülését
eredményezheti.</para>
</listitem>
</itemizedlist>
<example>
<title>A <tag>warning</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<warning>
<para>]]>A &os; telepítése után könnyen elõfordulhat, hogy a Windowst
teljesen le akarjuk törölni a merevlemezünkrõl.<![CDATA[</para>
</warning>]]></programlisting>
</example>
<para>Így jelenik meg:</para>
<warning>
<para>A &os; telepítése után könnyen
elõfordulhat, hogy a Windowst teljesen le akarjuk
törölni a merevlemezünkrõl.</para>
</warning>
</sect3>
<sect3>
<title>Felsorolások és
eljárások</title>
<para>Gyakran adódhatnak olyan helyzetek, amikor az
olvasó felé fel kell sorolnunk valamilyen
információkat, vagy egy adott cél
elérése érdekében be kell
mutatnunk neki egy sorszámozott, egyenként
végrehajtandó
lépéssorozatot.</para>
<para>Erre a célra rendelkezésünkre
állnak az <tag>itemizedlist</tag>, az
<tag>orderedlist</tag>, illetve a
<tag>procedure</tag> elemek<footnote>
<para>A felsorolások megadására a
DocBook további lehetõségeket is
felkínál, azonban ezekkel itt most nem
foglalkozunk.</para></footnote>.</para>
<para>Az <tag>itemizedlist</tag> és az
<tag>orderedlist</tag> elemek hasonlóak az HTML
esetén már megismert megfelelõikhez, az
<tag>ul</tag> és <tag>ol</tag>
elemekhez. Egy vagy több <tag>listitem</tag>
elembõl állnak és mindegyik
<tag>listitem</tag> egy vagy több blokkot
tartalmaz. A <tag>listitem</tag> elemek a HTML
<tag>li</tag> elemeihez hasonlóak, azonban
ebben az esetben kötelezõ megadni ezeket.</para>
<para>A <tag>procedure</tag> elem ettõl
némileg eltér. Itt <tag>step</tag>
elemekbõl épül fel, amelyek további
<tag>step</tag> vagy <tag>substep</tag>
típusú elemeket foglalhatnak magukban. A
<tag>step</tag> elemek mindegyike blokkokat
tartalmaz.</para>
<example>
<title>Az <tag>itemizedlist</tag>,
<tag>orderedlist</tag> és
<tag>procedure</tag> elemek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<itemizedlist>
<listitem>
<para>]]>Ez a felsorolás elsõ eleme.<![CDATA[</para>
</listitem>
<listitem>
<para>]]>A a felsorolás második eleme.<![CDATA[</para>
</listitem>
</itemizedlist>
<orderedlist>
<listitem>
<para>]]>Ez az elsõ sorszámozott elem.<![CDATA[</para>
</listitem>
<listitem>
<para>]]>Ez a második sorszámozott elem.<![CDATA[</para>
</listitem>
</orderedlist>
<procedure>
<step>
<para>]]>Csináljuk ezt.<![CDATA[</para>
</step>
<step>
<para>]]>Majd csináljuk azt.<![CDATA[</para>
</step>
<step>
<para>]]>Most pedig csináljuk így.<![CDATA[</para>
</step>
</procedure>]]></programlisting>
<para>Így jelenik meg:</para>
<itemizedlist>
<listitem>
<para>Ez a felsorolás elsõ eleme.</para>
</listitem>
<listitem>
<para>Ez a felsorolás második eleme.</para>
</listitem>
</itemizedlist>
<orderedlist>
<listitem>
<para>Ez az elsõ sorszámozott elem.</para>
</listitem>
<listitem>
<para>Ez a második sorszámozott elem.</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para>Csináljuk ezt.</para>
</listitem>
<listitem>
<para>Majd csináljuk azt.</para>
</listitem>
<listitem>
<para>Most pedig csináljuk így.</para>
</listitem>
</orderedlist>
</example>
</sect3>
<sect3>
<title>Példák állományokra</title>
<para>Ha állományrészeket (vagy akár
teljes állományokat) akarunk bemutatni az
olvasónak, akkor érdemes ezeket egy
<tag>programlisting</tag> elembe illeszteni.</para>
<para>A <tag>programlisting</tag> elemeken belül
alkalmazott tördelés és a
sortörések helye <emphasis>jelentéssel
bír</emphasis>. Ennek egyik fontos
következménye, hogy a
nyitócímkének az állomány
tartalmának elsõ sorával együtt kell
megjelennie, illetve a
zárócímkének pedig az
utolsó sorban, ellenkezõ esetben üres sorok
fognak keletkezni a kimenetben.</para>
<example>
<title>A <tag>programlisting</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>Miután befejeztük a feladatot, a programunknak valahogy így kell
majd kinéznie:<![CDATA[</para>
<programlisting>#include &lt;stdio.h&gt;
int
main(void)
{
printf("]]>Halló mindenki!<![CDATA[\n");
}</programlisting>]]></programlisting>
<para>Láthatjuk, hogy az <literal>#include</literal>
után a relációs jeleket nem
közvetlenül adtuk meg, hanem a nekik
megfelelõ egyedekkel.</para>
<para>Így jelenik meg:</para>
<para>Miután befejeztük a feladatot, a
programunknak valahogy így kell majd
kinéznie:</para>
<programlisting>#include &lt;stdio.h&gt;
int
main(void)
{
printf("Halló mindenki!\n");
}</programlisting>
</example>
</sect3>
<sect3>
<title>Magyarázó szövegek</title>
<para>A magyarázó szövegek
használatával a szöveg egy korábbi
részére vagy egy korábbi példa
adott helyére tudunk visszahivatkozni
anélkül, hogy a szövegen magán
belül hivatkoznánk rá.</para>
<para>Ehhez a <tag>co</tag> elem
használatával jelöljük be a példa
(<tag>programlisting</tag>,
<tag>literallayout</tag> vagy bármi más)
fontosabb részeit. Mindegyik elemhez egy egyedi
azonosítót kell társítanunk. A
példa után helyezzünk el egy
<tag>calloutlist</tag> elemet, amelyben a
megfelelõ további magyarázat
megadásával együtt visszahivatkozunk a
példa egyes részeire.</para>
<example>
<title>A <tag>co</tag> és
<tag>calloutlist</tag> elemek</title>
<programlisting><![CDATA[<para>]]>Miután befejeztük a feladatot, a programunknak valahogy így kell
majd kinéznie:<![CDATA[</para>
<programlisting>#include &lt;stdio.h&gt; <co id="co-ex-include"/>
int <co id="co-ex-return"/>
main(void)
{
printf("]]>Halló mindenki!<![CDATA[\n"); <co id="co-ex-printf"/>
}</programlisting>
<calloutlist>
<callout arearefs="co-ex-include">
<para>]]>A szabványos állománymûveleteket tartalmazó header
állomány.<![CDATA[</para>
</callout>
<callout arearefs="co-ex-return">
<para>]]>Megadjuk, hogy a &lt;function&gt;main()&lt;/function&gt; függvény egy
&lt;literal&gt;int&lt;/literal&gt; típusú értékkel térjen vissza.<![CDATA[</para>
</callout>
<callout arearefs="co-ex-printf">
<para>]]>A &lt;function&gt;printf()&lt;/function&gt; hívással egy
&lt;literal&gt;Halló mindenki!&lt;/literal&gt; szöveget írunk ki a szabványos
kimenetre.<![CDATA[</para>
</callout>
</calloutlist>]]></programlisting>
<para>Így jelenik meg:</para>
<para>Miután befejeztük a feladatot, a
programunknak valahogy így kell majd
kinéznie:</para>
<programlisting>#include &lt;stdio.h&gt; <co xml:id="co-ex-include"/>
int <co xml:id="co-ex-return"/>
main(void)
{
printf("Halló mindenki!\n"); <co xml:id="co-ex-printf"/>
}</programlisting>
<calloutlist>
<callout arearefs="co-ex-include">
<para>A szabványos
állománymûveleteket tartalmazó
header állomány.</para>
</callout>
<callout arearefs="co-ex-return">
<para>Megadjuk, hogy a <function>main()</function>
függvény egy <literal>int</literal>
típusú értékkel
térjen vissza.</para>
</callout>
<callout arearefs="co-ex-printf">
<para>A <function>printf()</function>
hívással egy <literal>Halló
mindenki!</literal> szöveget írunk ki a
szabványos kimenetre.</para>
</callout>
</calloutlist>
</example>
</sect3>
<sect3>
<title>Táblázatok</title>
<para>A HTML kapcsán megismertektõl
eltérõen a szöveg elrendezésének
befolyásolásához nem kell
táblázatokat használnunk, mivel
errõl majd a stíluslapok gondoskodnak
helyettünk. Ehelyett egyszerûen csak akkor
használjunk táblázatokat, amikor
táblázatosan akarunk adatokat megadni.</para>
<para>Általános értelemben véve
(ennek további részleteit lásd a DocBook
leírásában) a táblázatok
(amelyek lehetnek formálisak vagy informálisak)
egy <tag>table</tag> elembõl állnak.
Ennek magában kell foglalnia legalább egy
csoportot jelölõ <tag>tgroup</tag> elemet,
amely (tulajdonságként) megadja, hogy benne
mennyi oszlop található. Ezekben a csoportokban
aztán a <tag>thead</tag> elemmel
fejlécet adhatunk meg az egyes oszlopoknak, illetve
azok törzseit pedig <tag>tbody</tag> elemek
specifikálják.</para>
<para>A <tag>tgroup</tag> és
<tag>thead</tag> elemek egyaránt tartalmaznak
<tag>row</tag> elemeket, amelyek pedig
<tag>entry</tag> elemekre bonthatóak
tovább. Mindegyik ilyen <tag>entry</tag> elem
a táblázat egy celláját
jelöli.</para>
<example>
<title>Az <tag>informaltable</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<informaltable pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>]]>Ez az elsõ oszlop fejléce<![CDATA[</entry>
<entry>]]>Ez a második oszlop fejléce<![CDATA[</entry>
</row>
</thead>
<tbody>
<row>
<entry>]]>Elsõ oszlop, elsõ sor<![CDATA[</entry>
<entry>]]>Második oszlop, elsõ sor<![CDATA[</entry>
</row>
<row>
<entry>]]>Elsõ oszlop, második sor<![CDATA[</entry>
<entry>]]>Második oszlop, második sor<![CDATA[</entry>
</row>
</tbody>
</tgroup>
</informaltable>]]></programlisting>
<para>Így jelenik meg:</para>
<informaltable pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Ez az elsõ oszlop fejléce</entry>
<entry>Ez a második oszlop fejléce</entry>
</row>
</thead>
<tbody>
<row>
<entry>Elsõ oszlop, elsõ sor</entry>
<entry>Második oszlop, elsõ sor</entry>
</row>
<row>
<entry>Elsõ oszlop, második sor</entry>
<entry>Második oszlop, második sor</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
<para>Az <tag>informaltable</tag> elemek esetén a
<literal>pgwide</literal> tulajdonságot mindig az
<literal>1</literal> értékkel használjuk,
ellenkezõ esetben az Internet Explorer egyik
hibája miatt a táblázat nem fog rendesen
megjelenni.</para>
<para>Amennyiben nem szeretnénk keretet a
táblázathoz, állítsuk az
<tag>informaltable</tag> elem <literal>frame</literal>
tulajdonságát a <literal>none</literal>
értékre (vagyis <literal>&lt;informaltable
frame="none"&gt;</literal>).</para>
<example>
<title>A <literal>frame="none"</literal> típusú
táblázat</title>
<para>Így jelenik meg:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Ez az elsõ oszlop fejléce</entry>
<entry>Ez a második oszlop fejléce</entry>
</row>
</thead>
<tbody>
<row>
<entry>Elsõ oszlop, elsõ sor</entry>
<entry>Második oszlop, elsõ sor</entry>
</row>
<row>
<entry>Elsõ oszlop, második sor</entry>
<entry>Második oszlop, második sor</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
</sect3>
<sect3>
<title>Példák mûveletekre</title>
<para>Rengetegszer elõfordulhat, hogy az olvasónak
valamilyen módon be kell mutatnunk miként kell egy
bizonyos feladatot megoldania a rendszerben. Ezek a
példák általában valamilyen
párbeszédet jelentek a
számítógéppel: az olvasó
begépel egy parancsot, amelyre kap egy választ,
majd begépel egy újabb parancsot és
így tovább.</para>
<para>Ilyen helyzetek több különbözõ
elem és egyed alkalmazható.</para>
<variablelist>
<varlistentry>
<term>A <tag>screen</tag> elem</term>
<listitem>
<para>Az olvasó a példával
kapcsolatos információkat a elsõsorban
képernyõrõl kapja, ennek
jelölésére használjuk a
<tag>screen</tag> elemet.</para>
<para>A <tag>screen</tag> elemeken belül
számít a szöveg
tördelése.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A <tag>prompt</tag> elem,
<literal>&amp;prompt.root;</literal> és
<literal>&amp;prompt.user;</literal> egyedek</term>
<listitem>
<para>Az olvasó a képernyõn mindig
valamilyen promptot is látni fog (ez lehet az
operációs rendszer, a
parancsértelmezõ vagy az adott
alkalmazás). Ezt a <tag>prompt</tag>
elemmel tudjuk jelölni.</para>
<para>Az egyszerû felhasználó és
a rendszergazda számára két
külön egyed létezik a parancssori
promptok jelölésére. Amikor
tehát az olvasónak egy paranccsorban kell
tevékenykednie, akkor a
<literal>&amp;prompt.root;</literal> vagy a
<literal>&amp;prompt.user;</literal> egyedek
valamelyikét használjuk. Ezeket nem kell
<tag>prompt</tag> elembe tenni.</para>
<note>
<para>A <literal>&amp;prompt.root;</literal> és
<literal>&amp;prompt.user;</literal> egyedek nem
részei az eredeti DocBook DTD-nek,
csupán a &os; kiterjesztései.</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>A <tag>userinput</tag> elem</term>
<listitem>
<para>A példában az olvasó
által begépelendõ részeket
tegyük <tag>userinput</tag> elemekbe. Ez
az olvasó felé
valószínûleg majd
másképpen jelenik meg.</para>
</listitem>
</varlistentry>
</variablelist>
<example>
<title>A <tag>screen</tag>, <tag>prompt</tag>
és <tag>userinput</tag> elemek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<screen>&prompt.user; <userinput>ls -1</userinput>
ize1
ize2
ize3
&prompt.user; <userinput>ls -1 | grep ize2</userinput>
ize2
&prompt.user; <userinput>su</userinput>
<prompt>Password: </prompt>
&prompt.root; <userinput>cat ize2</userinput>
]]>Ez lenne az 'ize2' nevû állomány.<![CDATA[</screen>]]></programlisting>
<para>Így jelenik meg:</para>
<screen>&prompt.user; <userinput>ls -1</userinput>
ize1
ize2
ize3
&prompt.user; <userinput>ls -1 | grep ize2</userinput>
ize2
&prompt.user; <userinput>su</userinput>
<prompt>Password: </prompt>
&prompt.root; <userinput>cat ize2</userinput>
Ez lenne az 'ize2' nevû állomány.</screen>
</example>
<note>
<para>Annak ellenére, hogy a példában
szerepeltettük az <filename>ize2</filename>
állomány tartalmát,
<emphasis>nem</emphasis> a <tag>programlisting</tag>
elemmel jelöltük. A
<tag>programlisting</tag> elemeket inkább
állományrészletek
jelölésében alkalmazzuk,
függetlenül az olvasó
részérõl várt
mûveletektõl.</para>
</note>
</sect3>
</sect2>
<sect2>
<title>Belsõ elemek</title>
<sect3>
<title>Az információ kiemelése</title>
<para>Az egyes szavak vagy kifejezések
kiemeléséhez alkalmazzuk az
<tag>emphasis</tag> elemet. Ennek
hatására a kiemelt szövegrész
dõlten, esetleg félkövéren jelenik
meg, illetve a különbözõ felolvasó
szoftverek más hangsúlyozással
mondják el.</para>
<para>A kiemelt szövegrészek tényleges
megjelenését nem tudjuk befolyásolni, nem
tekinthetõ egyenlõnek a HTML <tag>b</tag>
és <tag>i</tag> elemeivel. Ha fontos
információt kívánunk
közölni, akkor az <tag>emphasis</tag>
helyett érdemesebb inkább az
<tag>important</tag> elem használatát
megfontolni.</para>
<example>
<title>Az <tag>emphasis</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A &os; az Intel architektúrán kétség kívül
&lt;emphasis&gt;a&lt;/emphasis&gt; legjobb UNIX-szerû operációs rendszer.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A &os; az Intel architektúrán
kétség kívül <emphasis>a</emphasis>
legjobb UNIX-szerû operációs
rendszer.</para>
</example>
</sect3>
<sect3>
<title>Idézetek</title>
<para>Ha más dokumentumokból vagy
forrásból akarunk idézni a szövegben,
esetleg valamire csak képletesen szeretnénk
utalni, akkor használjuk a <tag>quote</tag>
elemet. A <tag>quote</tag> elemen belül a
legtöbb jelölõ elérhetõ a
szövegben.</para>
<example>
<title>Idézetek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>Arra viszont ügyeljünk, hogy hogy a keresési rend ne lépje át a
&lt;quote&gt;helyi és nyilvános adminisztráció között meghúzódó
határt&lt;/quote&gt;, ahogy azt az RFC 1535 nevezi.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>Arra viszont ügyeljünk, hogy hogy a
keresési rend ne lépje át a <quote>helyi
és nyilvános adminisztráció
között meghúzódó
határt</quote>, ahogy azt az RFC 1535 nevezi.</para>
</example>
</sect3>
<sect3>
<title>Billentyûk, egérgombok és azok
kombinációja</title>
<para>A billentyûzeten egy adott billentyûre a
<tag>keycap</tag> elem
segítségével tudunk hivatkozni. Ugyanezt
a lehetõséget az egér gombjaira
vonatkozóan a <tag>mousebutton</tag> elem
nyújta. A billentyûk és egérgombok
együttes használatát pedig a
<tag>keycombo</tag> elemmel tudjuk
jelölni.</para>
<para>A <tag>keycombo</tag> elemnek van egy
<literal>action</literal> (tevékenység)
nevû tulajdonsága, amely lehet
<literal>click</literal> (kattintás),
<literal>double-click</literal> (kettõs
kattintás), <literal>other</literal> (egyéb),
<literal>press</literal> (nyomva tartás),
<literal>seq</literal> (egymás utáni), illetve
<literal>simul</literal> (együttes használat). Az
utóbbi két értékkel
jelölhetjük, hogy a megadott billentyûket vagy
gombokat egymás után esetleg egyszerre kell
lenyomnunk.</para>
<para>Az elemben felsorolt billentyûk és gombok
nevei közé a stíluslapok automatikusan
beillesztik a megfelelõ összekapcsoló
szimbólumot, például a
<literal>+</literal> jelet.</para>
<example>
<title>Billentyûk, egérgombok és azok
kombinációja</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A második virtuális terminálra az &lt;keycombo
action="simul"&gt;&lt;keycap&gt;Alt&lt;/keycap&gt;&lt;keycap&gt;F1&lt;/keycap&gt;&lt;/keycombo&gt;
billentyûkombinációval tudunk
átváltani.<![CDATA[</para>
<para>]]>A &lt;command&gt;vi&lt;/command&gt; programból úgy tudunk mentés nélkül kilépni, ha begépeljük a &lt;keycombo
action="seq"&gt;&lt;keycap&gt;Esc&lt;/keycap&gt;&lt;keycap&gt;:&lt;/keycap&gt;
&lt;keycap&gt;q&lt;/keycap&gt;&lt;keycap&gt;!&lt;/keycap&gt;&lt;/keycombo&gt; sorozatot.<![CDATA[</para>
<para>]]>Az ablakkezelõt most úgy állítottuk be, hogy az &lt;keycombo
action="simul"&gt;&lt;keycap&gt;Alt&lt;/keycap&gt;
&lt;mousebutton&gt;jobb&lt;/mousebutton&gt;&lt;/keycombo&gt; egérgomb segítségével
tudjuk mozgatni az ablakokat.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A második virtuális terminálra az
<keycombo action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
billentyûkombinációval tudunk
átváltani.</para>
<para>A <command>vi</command> programból úgy
tudunk mentés nélkül kilépni, ha
begépeljük az <keycombo action="seq"><keycap>Esc</keycap><keycap>:</keycap> <keycap>q</keycap><keycap>!</keycap></keycombo>
sorozatot.</para>
<para>Az ablakkezelõt most úgy
állítottuk be, hogy az <keycombo action="simul"><keycap>Alt</keycap> <mousebutton>jobb</mousebutton></keycombo>
egyérgomb segítségével tudjuk
mozgatni az ablakokat.</para>
</example>
</sect3>
<sect3>
<title>Alkalmazások, parancsok, kapcsolók
és man hivatkozások</title>
<para>Nem szokatlan az igény, hogy a
dokumentáció írása során
gyakran szeretnénk hivatkozni alkalmazásokra
és parancsokra egyaránt. A két fajta
elem közti különbség egyszerû: az
alkalmazás az adott feladatot
megvalósító programcsomag (vagy program)
neve, miközben a parancs konkrétan annak a
programnak a neve, amelyet az olvasó futtatni
tud.</para>
<para>Mindezek mellett alkalmanként
szükségünk lehet arra, hogy a parancs
által várt egy vagy több paramétert
valamilyen módon felsoroljuk.</para>
<para>Végül hozzátesszük, hogy sokszor
szükségünk lehet a parancsokat a
hozzájuk tartozó man oldalakkal együtt
hivatkozni, a UNIX típusú
kézikönyvek megszokott
<quote>parancs(szám)</quote>
jelölésben.</para>
<para>Az alkalmazások neveit az
<tag>application</tag> elemmel tudjuk
jelölni.</para>
<para>Ha egy parancsot a hozzá tartozó man oldallal
együtt akarunk hivatkozni (amire
valószínûleg az esetek nagy
többségében szükségünk is
lesz), akkor az ennek megfelelõ Docbook elem a
<tag>citerefentry</tag> lesz. Ez további
két elemet tartalmaz, ezek a
<tag>refentrytitle</tag> és a
<tag>manvolnum</tag>. A
<tag>refentrytitle</tag> tartalma a parancs neve,
illetve a <tag>manvolnum</tag> lesz a
hozzá tartozó man oldal megfelelõ
szekciója.</para>
<para>Az iménti jelölések írása
esetenként nehézkesnek bizonyulhat, ezért
ennek megkönnyítésére
létrehoztunk <link linkend="sgml-primer-general-entities">általános egyedeket</link>.
Az egyedek
<literal>&amp;man.man-oldal.man-szekció;</literal>
alakban érhetõek el.</para>
<para>Ezeket az egyedeket a
<filename>doc/share/xml/man-refs.ent</filename>
állományban találjuk meg, amelyre a
következõ formális publikus
azonosító segítségével
tudunk hivatkozni:</para>
<programlisting>PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"</programlisting>
<para>Ezért tehát a dokumentumunk elején
minden bizonnyal szerepelni fog egy ilyen sor:</para>
<programlisting>&lt;!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
&lt;!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"&gt;
%man;
&hellip;
]&gt;</programlisting>
<para>A <tag>command</tag> elemmel a parancsok neveit
tudjuk a szövegben hivatkozni közvetlenül, az
olvasó által begépelendõ
formában.</para>
<para>Az <tag>option</tag> elem
segítségével a parancsok
számára megadható kapcsolókat
jelölhetjük.</para>
<para>Amikor többször ugyanarra a parancsra
hivatkozunk egymáshoz viszonylag közel, a
<literal>&amp;man.parancs.szekció;</literal>
típusú jelölést érdemes csak
az elsõ hivatkozásnál alkalmazni, a
többi inkább legyen egyszerûen csak
<tag>command</tag> elemben. Az ebbõl
készített kimenet, különösen a
HTML esetében így kinézetében
sokkal olvashatóbb.</para>
<para>A jelölési megoldások közti
választás ettõl függetlenül
idõnként nem mindig egyértelmû, de
remélhetõleg a következõ példa
segít ebben.</para>
<example>
<title>Alkalmazások, parancsok és
kapcsolók</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A &lt;application&gt;sendmail&lt;/application&gt; az egyik legelterjedtebb
levelezõ alkalmazás UNIX rendszereken.<![CDATA[</para>
<para>]]>A &lt;application&gt;sendmail&lt;/application&gt; alkalmazás részei a
&lt;citerefentry&gt;
&lt;refentrytitle&gt;sendmail&lt;/refentrytitle&gt;
&lt;manvolnum&gt;8&lt;/manvolnum&gt;
&lt;/citerefentry&gt;, &amp;man.mailq.1; és &amp;man.newaliases.1;
programok.<![CDATA[</para>
<para>]]>A &lt;citerefentry&gt;
&lt;refentrytitle&gt;sendmail&lt;/refentrytitle&gt;
&lt;manvolnum&gt;8&lt;/manvolnum&gt;
&lt;/citerefentry&gt; egyik kapcsolója a &lt;option&gt;-bp&lt;/option&gt;, amellyel a
levelezési sorban található üzenetek aktuális állapotát kérdezhetjük
le. Ezt a &lt;command&gt;sendmail -bp&lt;/command&gt; parancs kiadásával tehetjük
meg.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A <application>sendmail</application> az egyik
legelterjedtebb levelezõ alkalmazás UNIX
rendszereken.</para>
<para>A <application>sendmail</application> alkalmazás
részei a <citerefentry>
<refentrytitle>sendmail</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>, &man.mailq.1; és &man.newaliases.1;
programok.</para>
<para>A <citerefentry>
<refentrytitle>sendmail</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry> egyik kapcsolója a
<option>-bp</option>, amellyel a levelezési sorban
található üzenetek aktuális
állapotát kérdezhetjük le. Ezt a
<command>sendmail -bp</command> parancs
kiadásával tehetjük meg.</para>
</example>
<note>
<para>Figyeljük meg, hogy a
<literal>&amp;man.parancs.szekció;</literal>
jelölés mennyivel könnyebben
olvasható.</para>
</note>
</sect3>
<sect3>
<title>Állományok, könyvtárak,
kiterjesztések</title>
<para>Amikor állományok neveire,
könyvtárakra, esetleg kiterjesztésekre
akarunk hivatkozni, használjunk a
<tag>filename</tag> elemeket.</para>
<example>
<title>A <tag>filename</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A kézikönyv magyar változatának SGML forrása a &lt;filename
class="directory"&gt;/usr/doc/hu_HU.ISO8859-2/books/handbook/&lt;/filename&gt;
könyvtárban található. Ebben a könyvtárban a
&lt;filename&gt;book.xml&lt;/filename&gt; lesz a fõ forrásállomány. Mellette
láthatunk még egy &lt;filename&gt;Makefile&lt;/filename&gt; állományt és több
&lt;filename&gt;.ent&lt;/filename&gt; kiterjesztéssel rendelkezõ
állományt.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A kézikönyv magyar
változatának SGML forrása a <filename>/usr/doc/hu_HU.ISO8859-2/books/handbook</filename>
könyvtárban található. Ebben a
könyvtárban a <filename>book.xml</filename> lesz
a fõ forrásállomány. Mellette
találhatunk még egy
<filename>Makefile</filename> állományt
és több <filename>.ent</filename>
kiterjesztéssel rendelkezõ
állományt.</para>
</example>
</sect3>
<sect3>
<title>A portok nevei</title>
<note>
<title>A &os; kiterjesztése</title>
<para>Ezek az elemek a &os; DocBookhoz készített
kiterjesztéseinek részei, az eredeti DocBook
DTD-ben nem szerepelnek.</para>
</note>
<para>Esetenként szükségünk lehet a &os;
Portgyûjteményében található
bizonyos programok nevének
megemlítésére a
dokumentációban. Ezt a
<tag>filename</tag> elem <literal>role</literal>
tulajdonságának a <literal>package</literal>
értékre állításával
tehetjük meg. Mivel a Portgyûjtemény
tetszõleges helyre telepíthetõ, ezért
mindig csak a port kategóriáját és
nevét adjuk meg, a <filename>/usr/ports</filename>
rész elhagyásával.</para>
<example>
<title>A <tag>filename</tag> elem és a
<literal>package</literal> role együttes
használata</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A hálózati forgalom figyeléséhez telepítsük a &lt;filename
role="package"&gt;net/ethereal&lt;/filename&gt; portot.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A hálózati forgalom
figyeléséhez telepítsük a <package>net/ethereal</package> portot.</para>
</example>
</sect3>
<sect3>
<title>Eszközök</title>
<note>
<title>A &os; kiterjesztése</title>
<para>Ezek az elemek a &os; DocBookhoz készített
kiterjesztéseinek részei, az eredeti DocBook
DTD-ben nem szerepelnek.</para>
</note>
<para>Az eszközök hivatkozását
két módon jelölhetjük. Az eszközre
hivatkozhatunk a <filename>/dev</filename>
könyvtárban megjelenõ neve szerint, vagy
pedig a rendszermagbeli neve szerint. Ez utóbbi
esetben használjuk a <tag>devicename</tag>
jelölést.</para>
<para>Néha elõfordulhat, hogy nincs
választási lehetõségünk.
Bizonyos eszközök, például a
hálózati kártyákhoz nem tartozik
semmilyen bejegyzés a <filename>/dev</filename>
könyvtárban, esetleg az ott megjelenõ
nevük teljesen eltér.</para>
<example>
<title>A <tag>devicename</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A &os; rendszermagjában a &lt;devicename&gt;sio&lt;/devicename&gt;
eszközöket a soros vonali kommunikációra használjuk. A
&lt;devicename&gt;sio&lt;/devicename&gt; eszközök az idõk során több különbözõ
alakban jelentek meg a &lt;filename&gt;/dev&lt;/filename&gt; könyvtárban, például
&lt;filename&gt;/dev/ttyd0&lt;/filename&gt; és &lt;filename&gt;/dev/cuaa0&lt;/filename&gt;
néven.<![CDATA[</para>
<para>]]>Ezzel szemben a hálózati eszközök, mint például az
&lt;devicename&gt;ed0&lt;/devicename&gt; nem jelennek meg a
&lt;filename&gt;/dev&lt;/filename&gt; könyvtárban.<![CDATA[</para>
<para>]]>Az MS-DOS rendszerekben az elsõdleges hajlékonylemezes meghajtót
az &lt;devicename&gt;a:&lt;/devicename&gt; néven érhetjük el, miközben &os;
alatt ennek a neve &lt;filename&gt;/dev/fd0&lt;/filename&gt;.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A &os; rendszermagjában a
<filename>sio</filename> eszközöket a soros
vonali kommunikációra használjuk. A
<filename>sio</filename> eszközök az idõk
során több különbözõ alakban
jelentek meg a <filename>/dev</filename>
könyvtárban, például
<filename>/dev/ttyd0</filename> és
<filename>/dev/cuaa0</filename> néven.</para>
<para>Ezzel szemben a hálózati
eszközök, mint például az
<filename>ed0</filename> nem jelennek meg a
<filename>/dev</filename> könyvtárban.</para>
<para>Az MS-DOS rendszerekben az elsõdleges
hajlékonylemezes meghajtót az
<filename>a:</filename> néven
érhetjük el, miközben &os; alatt ennek a
neve <filename>/dev/fd0</filename>.</para>
</example>
</sect3>
<sect3>
<title>Hálózati nevek, tartományok,
IP-címek és így tovább</title>
<note>
<title>A &os; kiterjesztése</title>
<para>Ezek az elemek a &os; DocBookhoz készített
kiterjesztéseinek részei, az eredeti DocBook
DTD-ben nem szerepelnek.</para>
</note>
<para>A vonatkozó információ
jellegétõl függõen a
hálózatba kapcsolt
számítógépek
azonosítására szolgáló
adatatokat többféle módon is jelölni
tudjuk. Minden esetben a <tag>hostid</tag> elemre
fogunk támaszkodni, amely <literal>role</literal>
tulajdonságával tudjuk megválasztani a
jelölt információ
típusát.</para>
<variablelist>
<varlistentry>
<term>Nem szerepel a <literal>role</literal>
tulajdonság vagy
<literal>role="hostname"</literal></term>
<listitem>
<para>A <literal>role</literal> tulajdonság
megadása nélkül (vagyis az elem
<tag>hostid</tag>&hellip;<tag>/hostid</tag>
alakú) a jelölt információ egy
hálózati név, mint
például <literal>freefall</literal> vagy
<literal>disznohal</literal>. Ugyanezt explicit
módon a <literal>role="hostname"</literal>
hozzáadásával tudjuk
jelölni.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="domainname"</literal></term>
<listitem>
<para>Az elem tartalma egy tartomány nevét
jelöli, mint például
<literal>FreeBSD.org</literal> vagy
<literal>inf.elte.hu</literal>. Ekkor nincs benne
konkrét hálózati név.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="fqdn"</literal></term>
<listitem>
<para>Az elem tartalma egy teljes hálózati
név, amely már tartalmaz
tartománynevet és hálózati
nevet.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="ipaddr"</literal></term>
<listitem>
<para>Az elem egy IP-címet jelöl, négy,
pontokkal tagolt szám
formájában.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="ip6addr"</literal></term>
<listitem>
<para>Az elem egy IPv6 formátumú
IP-címet jelöl.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="netmask"</literal></term>
<listitem>
<para>Az elem tartalma egy hálózati maszk,
amelyet megadhatunk pontokkal elválasztott
számokkal, hexadecimális
számjegyekkel vagy a <literal>/</literal>
szimbólumot követõen egy
számmal.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>role="mac"</literal></term>
<listitem>
<para>Az elemben egy Ethernet MAC-címet adtunk meg,
kétjegyû hexadecimális számok
kettõspontokkal tagolt sorozataként.</para>
</listitem>
</varlistentry>
</variablelist>
<example>
<title>A <tag>hostid</tag> elem és a
különbözõ role
értékek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A gépünk mindig elérhetõ &lt;hostid&gt;localhost&lt;/hostid&gt; néven,
amelyhez a &lt;hostid role="ipaddr"&gt;127.0.0.1&lt;/hostid&gt; IP-cím
tartozik.<![CDATA[</para>
<para>]]>A &lt;hostid role="domainname"&gt;FreeBSD.org&lt;/hostid&gt; tartomány több
különbözõ gépet foglal magában, többek közt a &lt;hostid
role="fqdn"&gt;freefall.FreeBSD.org&lt;/hostid&gt; és &lt;hostid
role="fqdn"&gt;pointyhat.FreeBSD.org&lt;/hostid&gt; címeket.<![CDATA[</para>
<para>]]>Amikor egy interfészhez IP-álnéveket társítunk (az
&lt;command&gt;ifconfig&lt;/command&gt; paranccsal), akkor ehhez
&lt;emphasis&gt;mindig&lt;/emphasis&gt; a &lt;hostid
role="netmask"&gt;255.255.255.255&lt;/hostid&gt; hálózati maszkot adjuk meg
(amelyet &lt;hostid role="netmask"&gt;0xffffffff&lt;/hostid&gt; formában is
írhatunk).<![CDATA[</para>
<para>]]>A MAC-cím az összes létezõ hálózati eszközt egyértelmûen
azonosítja. A MAC-címek általában a &lt;hostid
role="mac"&gt;08:00:20:87:ef:d0&lt;/hostid&gt; címhez hasonlóak.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A gépünk mindig elérhetõ
<systemitem>localhost</systemitem> néven, amelyhez a <systemitem class="ipaddress">127.0.0.1</systemitem> IP-cím tartozik.</para>
<para>A <systemitem class="fqdomainname">FreeBSD.org</systemitem>
tartomány több különbözõ
gépet foglal magában, többek közt a
<systemitem class="fqdomainname">freefall.FreeBSD.org</systemitem> és
<systemitem class="fqdomainname">pointyhat.FreeBSD.org</systemitem>
címeket.</para>
<para>Amikor egy interfészhez
IP-álnéveket társítunk (az
<command>ifconfig</command> paranccsal), akkor ehhez
<emphasis>mindig</emphasis> a <systemitem class="netmask">255.255.255.255</systemitem>
hálózati maszkot adjuk meg (amelyet <systemitem class="netmask">0xffffffff</systemitem> formában is
írhatunk).</para>
<para>A MAC-cím az összes létezõ
hálózati eszközt egyértelmûen
azonosítja. A MAC-címek
általában a <systemitem class="etheraddress">08:00:20:87:ef:d0</systemitem> címhez
hasonlóak.</para>
</example>
</sect3>
<sect3>
<title>Felhasználói nevek</title>
<note>
<title>A &os; kiterjesztése</title>
<para>Ezek az elemek a &os; DocBookhoz készített
kiterjesztéseinek részei, az eredeti DocBook
DTD-ben nem szerepelnek.</para>
</note>
<para>Ha felhasználókra (például
<literal>root</literal> vagy <literal>bin</literal>) kell
hivatkoznunk a szövegben, használjuk a
<tag>username</tag> elemet.</para>
<example>
<title>A <tag>username</tag> elem</title>
<para>A felhasználás módja:</para>
<programlisting><![CDATA[<para>]]>A rendszerünk karbantartásával kapcsolatos legtöbb feladatot
kizárólag csak a &lt;username&gt;root&lt;/username&gt; felhasználóval tudjuk
elvégezni.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A rendszerünk karbantartásával
kapcsolatos legtöbb feladatot kizárólag
csak a <systemitem class="username">root</systemitem>
felhasználóval tudjuk elvégezni.</para>
</example>
</sect3>
<sect3>
<title>A <filename>Makefile</filename>
állományokkal kapcsolatos
jelölések</title>
<note>
<title>A &os; kiterjesztése</title>
<para>Ezek az elemek a &os; DocBookhoz készített
kiterjesztéseinek részei, az eredeti DocBook
DTD-ben nem szerepelnek.</para>
</note>
<para>A <filename>Makefile</filename> állományok
egyes részeinek jelöléséhez a
<tag>maketarget</tag> és
<tag>makevar</tag> elemeket tudjuk
használni.</para>
<para>A <tag>maketarget</tag> azokat a
<filename>Makefile</filename> állományokban
megadott fordítási célokat
azonosítja, amelyeket a <command>make</command>
paramétereként lehet használni. A
<tag>makevar</tag> pedig azokat a (környezetben,
a <command>make</command> hívásakor vagy a
<filename>Makefile</filename> állományon
belül definiált) változókat
azonosítja, amelyekkel a fordítás
folyamát lehet szabályozni.</para>
<example>
<title>A <tag>maketarget</tag> és a
<tag>makevar</tag> elemek</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A &lt;filename&gt;Makefile&lt;/filename&gt; állományokban két igen gyakori cél
az &lt;maketarget&gt;all&lt;/maketarget&gt; és a
&lt;maketarget&gt;clean&lt;/maketarget&gt;.<![CDATA[</para>
<para>]]>Az &lt;maketarget&gt;all&lt;/maketarget&gt; megadásakor általában
újrafordítjuk az alkalmazást, a &lt;maketarget&gt;clean&lt;/maketarget&gt;
megadásakor pedig eltávolítjuk a fordítás közben keletkezett
ideiglenes állományokat (például az &lt;filename&gt;.o&lt;/filename&gt;
állományokat).<![CDATA[</para>
<para>]]>A &lt;maketarget&gt;clean&lt;/maketarget&gt; viselkedését számos változó
befolyásolja, többek közt a &lt;makevar&gt;CLOBBER&lt;/makevar&gt; és a
&lt;makevar&gt;RECURSE&lt;/makevar&gt;.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A <filename>Makefile</filename>
állományokban két igen gyakori
cél az <buildtarget>all</buildtarget> és a
<buildtarget>clean</buildtarget>.</para>
<para>Az <buildtarget>all</buildtarget> megadásakor
általában újrafordítjuk az
alkalmazást, a <buildtarget>clean</buildtarget>
megadásakor pedig eltávolítjuk a
fordítás közben keletkezett ideiglenes
állományokat (például az
<filename>.o</filename> állományokat).</para>
<para>A <buildtarget>clean</buildtarget>
viselkedését számos változó
befolyásolja, többek közt a
<varname>CLOBBER</varname> és a
<varname>RECURSE</varname>.</para>
</example>
</sect3>
<sect3>
<title>Formázatlan szöveg</title>
<para>Sokszor lehet szükségünk
<quote>formázatlan</quote> szövegekre a
dokumentáció írása közben.
Ilyen szöveg jellemzõ módon egy valamelyik
másik állományból átvett
részlet, vagy amelyet magából a
dokumentációból kell szó szerint
átmásolni egy állományba.</para>
<para>Néhány esetben a korábban már
bemutatott <tag>programlisting</tag> pontosan
elegendõ ehhez a feladathoz. Azonban ez a
jelölési módszer nem minden esetben
megfelelõ, különösen olyan helyzetekben,
amikor az állomány egy részét
magába a bekezdésbe akarjuk tenni.</para>
<para>Ilyen alkalmakkor használjuk a
<tag>literal</tag> elemet.</para>
<example>
<title>A <tag>literal</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A rendszermag konfigurációs állományában a
&lt;literal&gt;maxusers 10&lt;/literal&gt; sor határozza meg különbözõ
rendszerszintû táblázatok méretét, és ezáltal ad egy durva becslést
arra, hogy a rendszerünk mennyi bejelentkezést lesz képes egyszerre
kezelni.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A rendszermag konfigurációs
állományában a <literal>maxusers 10</literal>
sor határozza meg különbözõ
rendszerszintû táblázatok
méretét, és ezáltal ad egy durva
becslést arra, hogy a rendszerünk mennyi
bejelentkezést lesz képes egyszerre
kezelni.</para>
</example>
</sect3>
<sect3>
<title>Az olvasó által
<emphasis>kötelezõen</emphasis> kitöltendõ
részek jelölése</title>
<para>Minden bizonnyal lesznek olyan részek a
dokumentációban, ahol meg szeretnénk
mutatni az olvasónak mit kell csinálnia, esetleg
hivatkozni akarunk egy állomány nevére
vagy egy parancsra stb., viszont nem közvetlenül a
megadott nevet kell bemásolnia, hanem
önmagától kell kipótolnia egy
sémát.</para>
<para>Pontosan ilyen eshetõségekre
találták ki a <tag>replaceable</tag>
elemet. Más elemeken <emphasis>belül</emphasis>
használva olyan részeket tudunk vele
megjelölni, amelyeket az olvasónak kell
kitöltenie.</para>
<example>
<title>A <tag>replaceable</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<screen>&prompt.user; <userinput>man <replaceable>]]>parancs<![CDATA[</replaceable></userinput></screen>]]></programlisting>
<para>Így jelenik meg:</para>
<informalexample>
<screen>&prompt.user; <userinput>man parancs</userinput></screen>
</informalexample>
<para>A <tag>replaceable</tag> több
különbözõ elemen belül is
alkalmazható, egyik ilyen a
<tag>literal</tag>. Ebben a példában
azt is megmutatjuk, hogy a <tag>replaceable</tag>
elembe ténylegesen csak azt a részt kell
tennünk, amelyet <emphasis>az</emphasis>
olvasónak kell hozzátennie, rajta
kívül semmi mást nem kell
megváltoztatnia.</para>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>A rendszermag konfigurációs állományában a &lt;literal&gt;maxusers &lt;replaceable&gt;n&lt;/replaceable&gt;&lt;/literal&gt; sor határozza
meg különbözõ rendszerszintû táblázatok méretét, és ezáltal ad egy
durva becslést arra, hogy a rendszerünk mennyi bejelentkezést
lesz képes egyszerre kezelni.<![CDATA[</para>
<para>]]>Asztali munkaállomások esetén az <replaceable>n</replaceable> helyére írhatjuk például a &lt;literal&gt;32&lt;/literal&gt;
értéket.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>A rendszermag konfigurációs
állományában a <literal>maxusers
n</literal>
sor határozza meg különbözõ
rendszerszintû táblázatok
méretét, és ezáltal ad egy durva
becslést arra, hogy a rendszerünk mennyi
bejelentkezést lesz képes egyszerre
kezelni.</para>
<para>Asztali munkaállomások esetén az
<replaceable>n</replaceable> helyére írhatjuk
például a <literal>32</literal>
értéket.</para>
</example>
</sect3>
<sect3>
<title>Hibaüzenetek idézése</title>
<para>Olykor szükségünk lehet a &os;
által jelzett hibák jelölésére.
A hibák során keletkezõ pontos
hibaüzeneteket tegyük <tag>errorname</tag>
elemekbe.</para>
<example>
<title>Az <tag>errorname</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[
<screen><errorname>Panic: cannot mount root</errorname></screen>]]>
</programlisting>
<para>Így jelenik meg:</para>
<informalexample>
<screen><errorname>Panic: cannot mount root</errorname></screen>
</informalexample>
</example>
</sect3>
</sect2>
<sect2>
<title>Képek</title>
<important>
<para>A dokumentációban a képek
használatának támogatása jelen
pillanatban még csak kísérleti
jellegû. Az itt leírt ismeretek
valószínûleg nem fognak változni, de
nem szavatoljuk.</para>
<para>A különféle képformátumok
közti átalakításokhoz még
telepítenünk kell a <package>graphics/ImageMagick</package> portot. Ez egy
nagy méretû port és a legtöbb
részére nincs is konkrétan
szükségünk, viszont jelentõsen meg tudja
könnyíteni a dolgunkat, amikor
<filename>Makefile</filename> állományokkal
és egyéb infrastrukturális elemekkel
dolgozunk. Ez a port <emphasis>nem</emphasis> része a
<package>textproc/docproj</package>
metaportnak, külön kell egyedileg
telepítenünk.</para>
<para>A képek használatára talán a
legjobb példát a
<filename>doc/en_US.ISO8859-1/articles/vm-design</filename>
szolgáltatja. Ha tehát nem
értenénk teljesen a szakaszban leírtakat,
nézzük meg ezt az állományt
és a gyakorlatban is látni fogjuk hogyan
kapcsolódnak össze az felhasznált elemek.
Ne restelljünk kísérletezgetni a
különbözõ formázási
stílusokkal, így láthatjuk miként
jelennek meg a jelölt képek a formázott
kimenetben.</para>
</important>
<sect3>
<title>Képformátumok</title>
<para>Jelenleg kétféle képformátum
támogatott. A beillesztendõ kép
jellegétõl függ, hogy ezek közül
ténylegesen melyiket kell majd használnunk a
dokumentumban.</para>
<para>Az alapvetõen vektoros szerkezetû
képeket, mint például a
hálózati kapcsolatokat bemutató
diagramokat, idõvonalakat és ehhez
hasonlókat Encapsulated Postscript formátumban
érdemes ábrázolnunk. Gondoskodjunk
róla, hogy ezek a képek
<filename>.eps</filename> kiterjesztéssel
rendelkezzenek.</para>
<para>A raszteres képeket, mint például a
képernyõ elmentett tartalmát Portable Network
Graphic formátumban készítsük el.
Figyeljünk rá, hogy az ilyen típusú
képek kiterjesztése mindig
<filename>.png</filename> legyen.</para>
<para>Ezek tehát
<emphasis>kizárólagosan</emphasis> azok a
formátumok, amelyek bekerülhetnek a
repositoryba.</para>
<para>A képekhez mindig válasszuk a megfelelõ
formátumot, teljesen elfogadott a
dokumentációban az EPS és PNG
formátumú képek vegyes
alkalmazása. A <filename>Makefile</filename>
állományok gondoskodni fognak a képek
formátumuknak megfelelõ szabályos
feldolgozásáról. <emphasis>Ugyanazt a
képet a repositoryban ne tároljuk el mind a
két formátumban!</emphasis></para>
<important>
<para>A Dokumentációs Projekt
elõreláthatólag a jövõben majd a
vektoros képek
ábrázolására a Scalable Vector
Graphic (SVG) formátumot fogja használni,
azonban jelenleg még nem állnak
rendelkezésre olyan SVG szerkesztõk, amelyek ezt
a gyakorlatban is hatékonnyá
tennék.</para>
</important>
</sect3>
<sect3>
<title>Jelölések</title>
<para>A képek jelölése viszonylag
egyszerû. Elõször is
készítsünk egy
<tag>mediaobject</tag> elemet. A
<tag>mediaobject</tag> elembe ezután
további, pontosabban specifikáló
objektumokat helyezhetünk el. Most két ilyen
elemmel foglakozunk, ezek az <tag>imageobject</tag>
és a <tag>textobject</tag>.</para>
<para>Egy <tag>imageobject</tag> és két
<tag>textobject</tag> elemet kell megadnunk. Az
<tag>imageobject</tag> a beilleszteni
kívánt kép nevére fog hivatkozni
(kiterjesztés nélkül). A
<tag>textobject</tag> elemekben olyan
információ szerepel, amelyet az olvasó a
kép mellett vagy éppen helyett fog látni
a dokumentumban.</para>
<para>Ilyen két esetben fordulat elõ:</para>
<itemizedlist>
<listitem>
<para>A dokumentum HTML változatát olvassuk.
Ekkor minden képhez szükség van
még egy helyettesítõ szövegre,
amelyet a kép betöltõdésekor
láthatunk, vagy amikor az egérmutatót
a kép felé visszük.</para>
</listitem>
<listitem>
<para>A dokumentumot nyers szöveges formátumban
olvassuk. Ekkor a kép ASCII karakterekbõl
kirakott változatát kellene látnia az
olvasónak.</para>
</listitem>
</itemizedlist>
<para>Egy példán keresztül mindez
valószínûleg sokkal könnyebben
érthetõvé válik. Tegyük
tehát most fel, hogy van egy <filename>abra1.png</filename>
nevû képünk, amelyet szeretnénk
betenni a dokumentumba. Ez a kép egy A betût
ábrázol egy téglalapban. A
hozzá tartozó jelölés a
következõ lesz:</para>
<programlisting>&lt;mediaobject&gt;
&lt;imageobject&gt;
&lt;imagedata fileref="abra1"&gt; <co xml:id="co-image-ext"/>
&lt;/imageobject&gt;
&lt;textobject&gt;
&lt;literallayout class="monospaced"&gt;+---------------+ <co xml:id="co-image-literal"/>
| A |
+---------------+&lt;/literallayout&gt;
&lt;/textobject&gt;
&lt;textobject&gt;
&lt;phrase&gt;Egy kép&lt;/phrase&gt; <co xml:id="co-image-phrase"/>
&lt;/textobject&gt;
&lt;/mediaobject&gt;</programlisting>
<calloutlist>
<callout arearefs="co-image-ext">
<para>Helyezzünk el egy <tag>imagedata</tag>
elemet az <tag>imageobject</tag> elembe. A
<literal>fileref</literal> tulajdonságban kell
megadnunk kiterjesztés nélkül a
képhez tartozó állomány
nevét. A stíluslapok maguktól
megállapítják a neki megfelelõ
kiterjesztést.</para>
</callout>
<callout arearefs="co-image-literal">
<para>Az elsõ <tag>textobject</tag> elemben
szerepelnie kell egy <tag>literallayout</tag>
elemnek, ahol a <literal>class</literal>
tulajdonság értéke
<literal>monospaced</literal> legyen. Itt tudjuk
megmutatni milyen jól tudunk ASCII karakterekkel
rajzolni. Ezt a dokumentum nyers szöveges
változatának
elõállításakor fogjuk
felhasználni.</para>
<para>A <tag>literallayout</tag> elem
belsejének elsõ és utolsó
sorában megfigyelhetjük, hogy
közvetlenül a szöveges ábra mellett
kezdõdnek, így garantálhatjuk, hogy
semmilyen további felesleges szóköz nem
jelenik meg a generált változatban.</para>
</callout>
<callout arearefs="co-image-phrase">
<para>A második <tag>textobject</tag> elemben
egy <tag>phrase</tag> elemnek kell lennie. Ennek
tartalma lesz a HTML változatban a képhez
tartozó <literal>alt</literal> tulajdonság
értéke.</para>
</callout>
</calloutlist>
</sect3>
<sect3>
<title>A <filename>Makefile</filename>
felépítése</title>
<para>A <filename>Makefile</filename>
állományokban az <varname>IMAGES</varname>
változóban kell felsorolnunk a dokumentumhoz
tartozó képeket. Ebben a
változóban kell megadnunk a képek
<emphasis>forrását</emphasis>. Tehát
például, ha van három
ábránk, név szerint az
<filename>abra1.eps</filename>, <filename>abra2.png</filename>
és <filename>abra3.png</filename>, akkor ennek
megfelelõen a <filename>Makefile</filename>
állománynak a következõ sorokat
kellene tartalmaznia:</para>
<programlisting>&hellip;
IMAGES= abra1.eps abra2.png abra3.png
&hellip;</programlisting>
<para>vagy</para>
<programlisting>&hellip;
IMAGES= abra1.eps
IMAGES+= abra2.png
IMAGES+= abra3.png
&hellip;</programlisting>
<para>A <filename>Makefile</filename> magától el
fogja készíteni a dokumentum
lefordításához szükséges
képek teljes listáját, nekünk
egyedül tehát csak azokat a képeket kell
megadnunk, amelyeket <emphasis>mi</emphasis>
készítettünk.</para>
</sect3>
<sect3>
<title>Képek és fejezetek
alkönyvtárakban</title>
<para>Nem árt óvatosnak lennünk, amikor a
dokumentumunkat kisebb állományokra bontjuk
szét (lásd <xref linkend="sgml-primer-include-using-gen-entities"/>) több
különbözõ
alkönyvtárban.</para>
<para>Tegyük fel, hogy van egy három fejezetbõl
álló könyvünk, ahol az egyes fejezeteket
a saját könyvtáraikban tároljuk:
<filename>fejezet1/fejezet.xml</filename>,
<filename>fejezet2/fejezet.xml</filename> és
<filename>fejezet3/fejezet.xml</filename>. Ha az egyes
fejezetekhez képeket akartunk társítani,
akkor javasolt ezeket a fejezetek
alkönyvtárába
(<filename>fejezet1</filename>, <filename>fejezet2</filename>,
<filename>fejezet3</filename>) tennünk.</para>
<para>Ekkor azonban ne felejtsük el, hogy a
<filename>Makefile</filename> állomány
<varname>IMAGES</varname> változójában
<emphasis>és</emphasis> az <tag>imagedata</tag>
elemekben is a könyvtárak neveivel együtt
kell hivatkoznunk a képekre.</para>
<para>Például a
<filename>fejezet1/abra.png</filename> kép
esetében a <filename>fejezet1/fejezet.xml</filename>
állományban a következõt kell
megadnunk:</para>
<programlisting>&lt;mediaobject&gt;
&lt;imageobject&gt;
&lt;imagedata fileref="fejezet1/abra1"&gt; <co xml:id="co-image-dir"/>
&lt;/imageobject&gt;
&hellip;
&lt;/mediaobject&gt;</programlisting>
<calloutlist>
<callout arearefs="co-image-dir">
<para>A könyvtár nevét is meg kell adnunk
a <literal>fileref</literal> tulajdonságban.</para>
</callout>
</calloutlist>
<para>Az ennek megfelelõ <filename>Makefile</filename>
állomány tartalma:</para>
<programlisting>&hellip;
IMAGES= fejezet1/fejezet1.png
&hellip;</programlisting>
<para>Ezzel már minden remekül
mûködik.</para>
</sect3>
</sect2>
<sect2>
<title>Hivatkozások</title>
<note>
<para>A hivatkozások is belsõ elemek.</para>
</note>
<sect3>
<title>Hivatkozás ugyazon a dokumentumon
belül</title>
<para>A dokumentum belül úgy tudunk
hivatkozásokat készíteni, ha
egyrészt megadjuk honnan hivatkozunk (tehát
szükségünk lesz egy olyan elemre, amelyre az
olvasó kattinthat vagy megjelölhetõ a
hivatkozás forrásaként),
másrészt megadjuk hova hivatkozunk (tehát
a célt).</para>
<para>A DocBook összes eleme rendelkezik egy
<literal>id</literal> tulajdonsággal, amelyben az adott
elem adott példányához tudunk kapcsolni
egy egyedi azonosítót.</para>
<para>Ezt az értéket kell megadnunk a
hivatkozás forrásának
megjelölésekor.</para>
<para>Általában tehát amikor fejezeteket
vagy szakaszokat hivatkozunk, érdemes felvennünk
hozzájuk egy <literal>id</literal>
tulajdonságot.</para>
<example>
<title>Az <literal>id</literal> tulajdonság
fejezeteknél és szakaszoknál</title>
<programlisting><![CDATA[<chapter id="fejezet">
<title>]]>Bevezetés<![CDATA[</title>
<para>]]>Ez a bevezetés. Ebben szerepel egy szintén azonosítóval
rendelkezõ alszakasz.<![CDATA[</para>
<sect1 id="fejezet1-szakasz1">
<title>]]>Elsõ alszakasz<![CDATA[</title>
<para>]]>Ez az alszakasz.<![CDATA[</para>
</sect1>
</chapter>]]></programlisting>
</example>
<para>A dokumentáció írásakor
nyilván ennél beszédesebb
azonosítókat lesz majd érdemes
kitalálnunk. Mindig ügyeljünk arra, hogy az
azonosítóknak egyedieknek kell lenniük a
dokumentumban (tehát nem csak az adott
állományon, hanem a teljes dokumentum
belül). Figyeljük meg hogyan képeztük a
példában az alszakasz <literal>id</literal>
tulajdonságát a fejezet <literal>id</literal>
tulajdonságának
értékébõl. Ezzel szavatoltuk az
azonosító egyediségét.</para>
<para>Ha a dokumentum valamelyik közbensõ
elemére (jellemzõen egy bekezdés vagy egy
példa közepére) akarunk hivatkozni, akkor
használjuk az <tag>anchor</tag> elemet. Ennek
az elemnek nincs tartalma, azonban rendelkezik
<literal>id</literal> tulajdonsággal.</para>
<example>
<title>Az <tag>anchor</tag> elem</title>
<programlisting><![CDATA[<para>]]>Ebben a bekezdésben elrejtettünk egy &lt;anchor
id="bekezd"&gt;hivatkozás forrását. Ez a dokumentumban nem fog
látszani.<![CDATA[</para>]]></programlisting>
</example>
<para>Ha a dokumentum egy <literal>id</literal>
tulajdonsággal rendelkezõ részére
szeretnénk létrehozni egy hivatkozást
(amelyet például kattintással el lehet
érni), akkor használjuk az
<tag>xref</tag> vagy <tag>link</tag>
elemeket.</para>
<para>Mind a két imént említett elemnek van
egy <literal>linkend</literal> tulajdonsága. Ennek az
értéke lényegében ugyanaz lesz,
amelyet a hivatkozás forrásában az
<literal>id</literal> tulajdonság
értékének megadtunk (nem
számít, hogy ez szerepelt-e már a
dokumentumban a hivatkozás helye elõtt, mert
elõre és visszafele is lehet hivatkozni).</para>
<para>Az <tag>xref</tag> elem használatakor a
hivatkozás szövege magától jön
létre, nem tudjuk befolyásolni.</para>
<example>
<title>Az <tag>xref</tag> elem</title>
<para>Tegyük fel, hogy felbukkan a következõ
szövegrészlet valahol a dokumentumban, amely
hivatkozik a korábbi <literal>id</literal>
tulajdonságot bemutató példánk
azonosítóira:</para>
<programlisting><![CDATA[<para>]]>A témával kapcsolatos részleteket az
&lt;xref linkend="fejezet1"&gt; foglalja össze.<![CDATA[</para>
<para>]]>További részleteket pedig a &lt;xref linkend="fejezet1-szakasz1"&gt; tár
fel.<![CDATA[</para>]]></programlisting>
<para>Ekkor tehát a hivatkozás szövege
magától létrejön, így a
következõ szöveget kapjuk (a
<emphasis>kiemelt rész jelzi</emphasis> a
hivatkozás szövegét):</para>
<blockquote>
<para>A témával kapcsolatos részleteket
az <emphasis>Elsõ fejezet</emphasis> foglalja
össze.</para>
<para>További részleteket pedig az
<emphasis>Elsõ alszakasz</emphasis> tár
fel.</para>
</blockquote>
</example>
<para>Figyeljük meg hogyan képezõdött a
fejezet számából vagy a szakasz
címébõl a megfelelõ
hivatkozás.</para>
<note>
<para>Az iméntiekbõl következik, hogy az
<tag>xref</tag> elemmel <emphasis>nem
lehet</emphasis> <tag>anchor</tag> elemek
<literal>id</literal> tulajdonságaira hivatkozni. Az
<tag>anchor</tag> elemben nincs semmi, ezért
az <tag>xref</tag> nem képes
magától létrehozni hozzá a
hivatkozás szövegét.</para>
</note>
<para>Ha szeretnénk kézzel megadni a
hivatkozások szövegét, akkor
használjuk a <tag>link</tag> elemet, amelynek a
tartalmában szerepeltethetjük ezt.</para>
<example>
<title>A <tag>link</tag> elem</title>
<para>Tegyük fel, hogy a következõ
szövegrészlet jelenik meg valahol a
dokumentumnkban, és az <literal>id</literal>
tulajdonságot bemutató példában
definiált azonosítókra
hivatkozik.</para>
<programlisting><![CDATA[<para>]]>Errõl bõvebb tájékoztatást &lt;link linkend="fejezet1"&gt;az elsõ
fejezetben&lt;/link&gt; kapunk.<![CDATA[</para>
<para>]]>Errõl a részrõl pedig &lt;link linkend="fejezet1-szakasz1"&gt;ebben&lt;/link&gt; a szakaszban olvashatunk
többet.<![CDATA[</para>]]></programlisting>
<para>Ez a következõképpen jelenik meg (ahol
a <emphasis>kiemelt</emphasis> szövegek jelzik a
hivatkozásokat magukat):</para>
<blockquote>
<para>Errõl bõvebb
tájékoztatást <emphasis>az elsõ
fejezetben</emphasis> kapunk.</para>
<para>Errõl a részrõl pedig
<emphasis>ebben</emphasis> a szakaszban olvashatunk
többet.</para>
</blockquote>
</example>
<note>
<para>Ez utóbbi nem teljesen egy jó
példa. Lehetõleg ne <quote>ebben</quote> vagy
<quote>itt</quote> néven hivatkozzunk, mert az
olvasó így nem fogja közvetlenül
látni, hogy az adott hivatkozás pontosan hova
is viszi.</para>
</note>
<note>
<para>A <tag>link</tag> elemmel már
<emphasis>tudunk</emphasis> hivatkozni
<tag>anchor</tag> elemek <literal>id</literal>
tulajdonságaira, hiszen a <tag>link</tag>
elemben már megadható a hivatkozás
szövege.</para>
</note>
</sect3>
<sect3>
<title>A Világhálón található
dokumentumok hivatkozása</title>
<para>A külsõ dokumentumok hivatkozása
valamennyivel könnyebb a belsõ hivatkozások
használatánál, mivel ehhez csak annyit
kell tudunk, milyen címre akarunk mutatni. Erre az
<tag>ulink</tag> elem alkalmas. Rendelkezik egy
<literal>url</literal> tulajdonsággal, amelyben a
hivatkozni kívánt oldal címét kell
megadnunk. Az elem belsejében pedig a
hivatkozás olvasó felé megjelenõ
szövegét adhatjuk meg.</para>
<example>
<title>Az <tag>ulink</tag> elem</title>
<para>A használat módja:</para>
<programlisting><![CDATA[<para>]]>Természetesen már most felhagyhatunk a dokumentum olvasásával és
helyette megnézhetjük a &lt;ulink
url="&amp;url.base;/index.html"&gt;&os; honlapját&lt;/ulink&gt;.<![CDATA[</para>]]></programlisting>
<para>Így jelenik meg:</para>
<para>Természetesen már most felhagyhatunk a
dokumentum olvasásával és helyette
megnézhetjük a <link xlink:href="&url.base;/index.html">&os; honlapját</link>.</para>
</example>
</sect3>
</sect2>
</sect1>
</chapter>