• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-ccocoa誰得qtrubypythongamewindowsbathyscaphephpguic翻訳omegattwitterframeworktestbtronarduinovb.net計画中(planning stage)directxpreviewerゲームエンジンdom

Commit MetaInfo

Revisão2e4de0a19af79ec685da15818d7c86d8a0871e3f (tree)
Hora2017-07-26 19:22:22
AutorMichio Matsuyama <matsuand@debi...>
CommiterMichio Matsuyama

Mensagem de Log

Update 20170726.

Mudança Sumário

Diff

--- /dev/null
+++ b/src/prologue/ignorance.xml
@@ -0,0 +1,32 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4+ <!ENTITY % general-entities SYSTEM "../general.ent">
5+ %general-entities;
6+]>
7+
8+<sect1 id="pre-ignorance">
9+ <?dbhtml filename="ignorance.html"?>
10+
11+ <title>翻訳に対する無知と誤解</title>
12+
13+ <para>
14+ 世にある翻訳指南書を一つでも手にとって見てみてください。
15+ 必ず語られていることがあります。
16+ 翻訳は英文解釈とは違うということです。
17+ </para>
18+
19+ <para>
20+ 学生の頃から英語は苦手で、という人の話を聞くことがあります。
21+ でも中学校、高校と英語を学んできていると、まあそこそこ英語は分かるという人もいます。
22+ 英語が出来れば翻訳はとりあえずできると思っているはずです。
23+ そこが大きな勘違いなのです。
24+ 英日翻訳の場合、最終的には日本語文章を作り出すことが目的であり、日本語を正しく分かりやすく表現できる能力がなければなりません。
25+ より自然で分かりやすい日本語を目指して推敲の段階で見直す見識がなければなりません。
26+ </para>
27+
28+ <para>
29+ 更新日: 2017/07/02
30+ </para>
31+
32+</sect1>
--- /dev/null
+++ b/src/words/adj_all.xml
@@ -0,0 +1,107 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4+ <!ENTITY % general-entities SYSTEM "../general.ent">
5+ %general-entities;
6+]>
7+
8+
9+<sect2 id="sect2-words-adj-all">
10+ <?dbhtml filename="adj_all.html"?>
11+
12+ <title>all</title>
13+ <indexterm zone="sect2-words-adj-all">
14+ <primary sortas="e-all">all</primary>
15+ </indexterm>
16+
17+ <para>
18+ all を「すべて」と訳すかどうかは迷うことがあります。
19+ へたをすると "直訳街道まっしぐら" となるからです。
20+ </para>
21+ <indexterm zone="sect2-words-adj-all">
22+ <primary sortas="j-&す;&べ;&て;">すべて(all)</primary>
23+ </indexterm>
24+
25+ <sect3 id="sect3-words-adj-all-orig">
26+
27+ <title>原文</title>
28+ <blockquotetrans>
29+ <title><citetitle pubwork="book">Using Samba</citetitle> (samba-4.6.5.tar.gz 内)</title>
30+ <attribution>Chapter 4. Disk Shares</attribution>
31+ <para>
32+ <emphasis>All</emphasis> the sections defined in the <filename>smb.conf</filename>
33+ file, with the exception of the <literal>[global]</literal> section,
34+ will be available as a disk or printer share to clients connecting to
35+ the Samba server.
36+ </para>
37+ </blockquotetrans>
38+
39+ </sect3>
40+
41+ <sect3 id="sect3-words-adj-all-trans1">
42+
43+ <title>直訳例</title>
44+ <blockquotetrans>
45+ <attribution></attribution>
46+ <para>
47+ <filename>smb.conf</filename> ファイル内に定義されている、<literal>[global]</literal> セクションを除く<emphasis
48+ role="bold">すべての</emphasis>セクションは、Samba サーバーに接続するクライアントに対して、ディスク共有やプリンター共有として利用される。
49+ </para>
50+ </blockquotetrans>
51+
52+ </sect3>
53+
54+ <sect3 id="sect3-words-adj-all-exp">
55+
56+ <title>直訳例評価</title>
57+
58+<!--
59+ <para>
60+ 本当はもう少し簡単な原文を取り上げるべきだったかもしれません。
61+ 直訳例は All を「すべて」と訳すことと、「<literal>[global]</literal> セクションを除く...」という訳し方が重なって、ひどい直訳文になっています。
62+ </para>
63+
64+ <para>
65+ まずここで取り上げるのは、all が主語を形容しているときです。
66+ これが述語を形容していたり、副詞用法として用いられている場合には、話は変わります。
67+ 主語と用いられている場合でも、特に抽象名詞や無生物主語に結びついているときには、「すべて」と訳すことが、かなり直訳的になる傾向があります。
68+ </para>
69+
70+ <para>
71+ 分かりやすく短い例文を示します。
72+ All sugar is sweet.
73+ 「すべての砂糖は甘い。」
74+ ... これが典型的な直訳です。
75+ では直訳的、と言われたというので、訳し直すとしましょう。
76+ どう訳しますか?
77+ 簡単です。
78+ 「砂糖は甘い。」です。
79+ </para>
80+-->
81+
82+ </sect3>
83+
84+ <sect3 id="sect3-words-adj-all-try">
85+
86+ <title>試訳</title>
87+
88+ <blockquotetrans>
89+<!--
90+ <para>
91+ <filename>smb.conf</filename> ファイル内に定義されているセクションは、<literal>[global]</literal> セクションは除く<emphasis
92+ role="bold">すべての</emphasis>セクションは、Samba サーバーに接続するクライアントに対して、ディスク共有やプリンター共有として利用される。
93+ </para>
94+-->
95+ </blockquotetrans>
96+
97+ <para>
98+
99+ </para>
100+
101+ </sect3>
102+
103+ <para>
104+ 更新日: 2017/07/11
105+ </para>
106+
107+</sect2>
--- /dev/null
+++ b/src/words/adv_again.xml
@@ -0,0 +1,125 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4+ <!ENTITY % general-entities SYSTEM "../general.ent">
5+ %general-entities;
6+]>
7+
8+<sect2 id="sect2-words-adv-again">
9+ <?dbhtml filename="adv_again.html"?>
10+
11+ <title>again</title>
12+ <indexterm zone="sect2-words-adv-again">
13+ <primary sortas="e-again">again</primary>
14+ </indexterm>
15+
16+ <para>
17+ ここで取り上げる again は、say again とか try again とかいうときのように、動詞の反復や繰り返しを表わす使い方ではありません。
18+ よく単独で Again, 何々、と用いられるときを意味します。
19+ </para>
20+
21+ <sect3 id="sect3-words-adv-again-orig">
22+
23+ <title>原文</title>
24+ <blockquotetrans>
25+ <title><citetitle pubwork="book">Using Samba</citetitle> (samba-4.6.5.tar.gz 内)</title>
26+ <attribution>Chapter 2. Installing Samba on a Unix System</attribution>
27+ <para>
28+ <emphasis>Again</emphasis>, check the documentation and the makefile included in the source
29+ directory to see which directives and variables were used when the binary
30+ was compiled.
31+ </para>
32+ </blockquotetrans>
33+
34+ </sect3>
35+
36+ <sect3 id="sect3-words-adv-again-trans1">
37+
38+ <title>直訳例</title>
39+ <blockquotetrans>
40+ <attribution></attribution>
41+ <para>
42+ <emphasis role="bold">もう一度言うが</emphasis>、ソースディレクトリにあるドキュメントや makefile をよく読み、バイナリがコンパイルされた際に、どのようなディレクティブや変数が用いられたかを確認すること。
43+ </para>
44+ </blockquotetrans>
45+
46+ </sect3>
47+
48+ <sect3 id="sect3-words-adv-again-exp">
49+
50+ <title>直訳例評価</title>
51+
52+ <para>
53+ 「もう一度言う」などと訳してしまって、本当に大丈夫ですか?
54+ この原文だけから判断するなら、それで良い場合もあります。
55+ ただ「もう一度言う」が常に正しいとは限りませんから、誤訳を生むことになりますよ。
56+ </para>
57+
58+ <para>
59+ この原文の場合「... を確認すること」という内容を、<emphasis role="bold">同じもの</emphasis>に対して言うのが二度め、三度めですか?
60+ それであれば「もう一度言う」でも誤りではありません。
61+ ところが原文の Again は実は違うのです。
62+ <emphasis role="bold">同じもの</emphasis>に対して Again と言っているのではなく、<emphasis role="bold">似たようなもの</emphasis>(違うもの)について Again と言っているのです。
63+ 原文の前段の文章もすべて提示しないと、正しく判断できない話ではありますが。
64+ </para>
65+
66+ <para>
67+ 似たものについて Again と言っているのなら、そのときの Again は「やはり」です。
68+ さっき出てきた内容と似ているから、ここでも同じように ... を確認しなさいよ、という意味です。
69+ <indexterm zone="sect2-words-adv-again">
70+ <primary sortas="j-&や;&は;&り;">やはり (again)</primary>
71+ </indexterm>
72+ 「ここもやはり」とか「やっぱりここでも」とか、応用がいくつもでてきます。
73+ </para>
74+
75+ </sect3>
76+
77+ <sect3 id="sect3-words-adv-again-try">
78+
79+ <title>試訳</title>
80+
81+ <blockquotetrans>
82+ <para>
83+ <emphasis role="bold">やはりここでも</emphasis>、ソースディレクトリにあるドキュメントや makefile をよく読み、バイナリがコンパイルされた際に、どのようなディレクティブや変数が用いられたかを確認すること。
84+ </para>
85+ </blockquotetrans>
86+
87+ <para>
88+ again に対する訳として「やはり」とするなんて、英和辞書には載っていません。
89+ でもこれが意外としっくりする日本語になります。
90+ </para>
91+
92+ <para>
93+ 私の言だけでは信用できない方のために、英和翻訳表現辞典から again の項で説明される内容を引用します。
94+ </para>
95+
96+ <blockquote>
97+ <attribution>英和翻訳表現辞典、中村保男、谷田貝恒男著、研究社</attribution>
98+ <para>
99+ (中略)「<emphasis role="bold">この場合もやはり</emphasis>」という意味で使われる場合があることを忘れてはならない。
100+ <emphasis>Again</emphasis>, the pioneering work was done over centuries by religious people in Asia.
101+ 「<emphasis role="bold">この場合も先と同様に</emphasis>、先駆的な仕事は東洋の宗教家によって数世紀にわたって行われた。」
102+ </para>
103+ </blockquote>
104+
105+ </sect3>
106+
107+ <sect3 id="sect3-words-adv-again-example">
108+
109+ <title>訳例いろいろ</title>
110+
111+ <para>
112+ Again, note the pipeline attachment below the printer, which identifies it as being on a network.
113+ (<citetitle pubwork="book">Using Samba</citetitle>)
114+ /
115+ 「<emphasis role="bold">やはりここも同様に</emphasis>、プリンターアイコンの下にパイプラインの絵柄がついていて、ネットワークプリンターであることがわかる。」
116+ (この文章の前に、フォルダアイコンの下側にパイプラインの絵柄がついているネットワークドライブの話がある。その話を受け継いでの本文であるため、「もう一度言う」と訳すと誤訳になる。「先ほどと同じような話として」の意味にならなければならない。)
117+ </para>
118+
119+ </sect3>
120+
121+ <para>
122+ 更新日: 2017/07/11
123+ </para>
124+
125+</sect2>
--- /dev/null
+++ b/src/words/conjunction_unless.xml
@@ -0,0 +1,121 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4+ <!ENTITY % general-entities SYSTEM "../general.ent">
5+ %general-entities;
6+]>
7+
8+
9+<sect2 id="sect2-words-conjunction-unless">
10+ <?dbhtml filename="conjunction_unless.html"?>
11+
12+ <title>unless</title>
13+ <indexterm zone="sect2-words-conjunction-unless">
14+ <primary sortas="e-unless">unless</primary>
15+ </indexterm>
16+
17+ <para>
18+ unless は「~しない限り」と訳します。
19+ ここに否定表現がすでに含まれているわけですが、どのように否定するかで、直訳調か自然な日本語かが分かれます。
20+ </para>
21+ <indexterm zone="sect2-words-conjunction-unless">
22+ <primary sortas="j-&し;&な;&い;&か;&き;&り;">しない限り(unless)</primary>
23+ </indexterm>
24+
25+ <sect3 id="sect3-words-conjunction-unless-orig">
26+
27+ <title>原文</title>
28+ <blockquotetrans>
29+ <title><citetitle pubwork="book">Using Samba</citetitle> (samba-4.6.5.tar.gz 内)</title>
30+ <attribution>Chapter 2. Installing Samba on a Unix System</attribution>
31+ <para>
32+ At the very bottom of the page, set the wins support field to Yes, <emphasis>unless</emphasis>
33+ you already have a WINS server on your network.
34+ </para>
35+ </blockquotetrans>
36+
37+ <para>
38+ この原文は、ブラウザーから Samba の設定を行う SWAT 画面についての説明です。
39+ wins support field は wins support と名付けられた入力欄を指します。
40+ </para>
41+
42+ </sect3>
43+
44+ <sect3 id="sect3-words-conjunction-unless-trans1">
45+
46+ <title>直訳例</title>
47+ <blockquotetrans>
48+ <attribution></attribution>
49+ <para>
50+ ネットワーク上に<emphasis role="bold">すでに</emphasis> WINS サーバーを持っている<emphasis role="bold">のでない限り</emphasis>、このページの最下段にある wins support 欄を yes に設定する。
51+ </para>
52+ </blockquotetrans>
53+
54+ </sect3>
55+
56+ <sect3 id="sect3-words-conjunction-unless-exp">
57+
58+ <title>直訳例評価</title>
59+
60+ <para>
61+ unless を「~しない限り」と訳すものだという英文解釈の呪縛から、どうやら逃れられないようです。
62+ 上のように訳したら、思いっきり直訳じゃないですか。
63+ 否定を訳す場所が違います。
64+ </para>
65+
66+ </sect3>
67+
68+ <sect3 id="sect3-words-conjunction-unless-try">
69+
70+ <title>試訳</title>
71+
72+ <blockquotetrans>
73+ <para>
74+ 1. ネットワーク上に<emphasis role="bold">まだ</emphasis> WINS サーバーが<emphasis role="bold">ないのであれば</emphasis>、このページの最下段にある wins support 欄を yes に設定する。
75+ </para>
76+ </blockquotetrans>
77+
78+ <para>
79+ 直訳例では you already have ... という文節全体を unless が否定しています。
80+ 一方、試訳は、文節の中の動詞を否定にして if you have not yet ... という英文と解釈して訳しています。
81+ 感覚的に見て、文節全体を否定する表現、つまり直訳例は日本語には馴染みません。
82+ </para>
83+
84+ <para>
85+ なお細かなことを言うと unless の前にはカンマがあります。
86+ このようにカンマがつくと、これを非限定用法と呼び、逆にカンマがつかないと限定用法と呼びます。
87+ 直訳例にしても試訳にしても、原文のカンマをなかったものとして、実は限定用法と解釈して訳しています。
88+ では英文解釈どおりに非限定用法を忠実に守って訳すとどうなるかというと、以下のようになります。
89+ </para>
90+
91+ <blockquotetrans>
92+ <para>
93+ × このページの最下段にある wins support 欄を yes に設定する。
94+ ネットワーク上に<emphasis role="bold">すでに</emphasis> WINS サーバーを持っている<emphasis role="bold">場合は除く</emphasis>。
95+ </para>
96+ <para>
97+ × このページの最下段にある wins support 欄を yes に設定する。
98+ ネットワーク上に<emphasis role="bold">まだ</emphasis> WINS サーバーが<emphasis role="bold">ない場合に限る</emphasis>。
99+ </para>
100+ </blockquotetrans>
101+
102+ <para>
103+ 本来、非限定用法による unless は、カンマの後に付け加えることで、前文が成立<emphasis role="bold">しない</emphasis>条件を強調する目的があります。
104+ 「こういった場合は除くよ」とこう訳すと、なんとも欧米的な表現で日本語らしくありません。
105+ それでも非限定用法の忠実な訳にこだわるなら、以下のような訳も考えられます。
106+ </para>
107+
108+ <blockquotetrans>
109+ <para>
110+ 2. このページの最下段にある wins support 欄を yes に設定する。
111+ ネットワーク上に<emphasis role="bold">すでに</emphasis> WINS サーバーが<emphasis role="bold">あれば</emphasis>、これを行う必要はない。
112+ </para>
113+ </blockquotetrans>
114+
115+ </sect3>
116+
117+ <para>
118+ 更新日: 2017/07/26
119+ </para>
120+
121+</sect2>
--- a/src/words/notethat.xml
+++ /dev/null
@@ -1,13 +0,0 @@
1-<?xml version="1.0" encoding="UTF-8"?>
2-<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4-
5-<sect2 id="sect2-words-exp-notethat">
6- <?dbhtml dir="words"?>
7- <?dbhtml filename="exp-notethat.html"?>
8-
9- <title>Note that</title>
10-
11-
12-
13-</sect2>
--- /dev/null
+++ b/src/words/prepos_with.xml
@@ -0,0 +1,103 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4+ <!ENTITY % general-entities SYSTEM "../general.ent">
5+ %general-entities;
6+]>
7+
8+<sect2 id="sect2-words-prepos-with">
9+ <?dbhtml filename="prepos_with.html"?>
10+
11+ <title>with</title>
12+ <indexterm zone="sect2-words-prepos-with">
13+ <primary sortas="e-with">with</primary>
14+ </indexterm>
15+
16+ <para>
17+ パッと思いつく with の訳語は「...と一緒に」です。
18+ それでいいのか、辞書を調べましょう。
19+ </para>
20+ <indexterm zone="sect2-words-prepos-with">
21+ <primary sortas="j-&と;&い;&つ;&し;&よ;&に;">と一緒に(with)</primary>
22+ </indexterm>
23+
24+ <sect3 id="sect3-words-prepos-with-orig">
25+
26+ <title>原文</title>
27+ <blockquotetrans>
28+ <title><citetitle pubwork="book">Beyond Linux From Scratch Version 8.0</citetitle></title>
29+ <attribution>Tripwire-2.4.3.3</attribution>
30+ <para>
31+ <command>cp -v policy/*.txt /usr/doc/tripwire-2.4.3.3</command>:
32+ This command installs the tripwire sample policy files with the other tripwire documentation.
33+ </para>
34+ </blockquotetrans>
35+
36+ </sect3>
37+
38+ <sect3 id="sect3-words-prepos-with-trans1">
39+
40+ <title>直訳例</title>
41+ <blockquotetrans>
42+ <para>
43+ (コマンド表記略)
44+ このコマンドは、他の tripwire ドキュメント<emphasis role="bold">とともに</emphasis> tripwire サンプルポリシーファイルをインストールする。
45+ </para>
46+ </blockquotetrans>
47+
48+ <para>
49+ </para>
50+
51+ </sect3>
52+
53+ <sect3 id="sect3-words-prepos-with-exp">
54+
55+ <title>直訳例評価</title>
56+<!--
57+ <para>
58+ 英文解釈的には with の後ろ側を訳して前に戻って訳すため、上のような直訳例が作り出されます。
59+ まずこの日本語はどこか変だな、と思って頂かなければなりません。
60+ 日本語ではこのような言い回しはしません。
61+ 「...とともに」という語が、いかにも with の直訳といった感じです。
62+ いかがですか?
63+ </para>
64+
65+ <para>
66+ そもそも原文の意味をよく解釈してください。
67+ 前段の文章や文脈を示していませんから、正確な解釈は難しいかもしれませんが、この文章が何を言っているかは以下のようになります。
68+ 「このコマンドを実行することで、たくさんのドキュメントファイルがインストールされる。その中で tripwire サンプルポリシーファイルもインストールされる。」
69+ さらには言外に以下のようなニュアンスすら言い含められています。
70+ 「ドキュメントのインストールだけを行うかのようなコマンドのようではあるが、見逃さずにいてください。tripwire サンプルポリシーファイルもインストールされるのです。」
71+ ということ。
72+ </para>
73+
74+ <para>
75+ </para>
76+-->
77+ </sect3>
78+
79+ <sect3 id="sect3-words-prepos-with-try">
80+
81+ <title>試訳</title>
82+
83+ <blockquotetrans>
84+ <para>
85+ 1.(コマンド表記略)
86+ このコマンドはドキュメントをインストールする<emphasis role="bold">とともに</emphasis>(<emphasis role="bold">と同時に</emphasis>) tripwire サンプルポリシーファイルもインストールする。
87+ </para>
88+ <para>
89+ 2.(コマンド表記略)
90+ このコマンドを実行することで、ドキュメント<emphasis role="bold">に加えて</emphasis> tripwire サンプルポリシーファイルもインストールする。
91+ </para>
92+ </blockquotetrans>
93+
94+ <para>
95+ </para>
96+
97+ </sect3>
98+
99+ <para>
100+ 更新日: 2017/07/11
101+ </para>
102+
103+</sect2>
--- /dev/null
+++ b/src/words/sec1_conjunction.xml
@@ -0,0 +1,12 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4+
5+<sect1 id="sect1-words-conjunction">
6+ <?dbhtml filename="sec1_conjunction.html"?>
7+
8+ <title>接続詞</title>
9+
10+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="conjunction_unless.xml"/>
11+
12+</sect1>
--- /dev/null
+++ b/src/xslt/my-navigational.xsl
@@ -0,0 +1,346 @@
1+<?xml version='1.0' encoding='ISO-8859-1'?>
2+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3+ xmlns="http://www.w3.org/1999/xhtml"
4+ version="1.0">
5+
6+ <!-- This stylesheet controls how page header and navigational links
7+ are generated. -->
8+
9+ <!-- html.head:
10+ Drop all navigational links from inside head xhtml output. -->
11+ <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
12+ <xsl:template name="html.head">
13+ <head>
14+ <xsl:call-template name="system.head.content"/>
15+ <xsl:call-template name="head.content"/>
16+ <xsl:call-template name="user.head.content"/>
17+ </head>
18+ </xsl:template>
19+
20+ <!-- header.navigation:
21+ Self-made template that full replaces the original one -->
22+ <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
23+ <xsl:template name="header.navigation">
24+ <xsl:param name="prev" select="/foo"/>
25+ <xsl:param name="next" select="/foo"/>
26+ <xsl:variable name="up" select="parent::*"/>
27+ <xsl:variable name="home" select="/*[1]"/>
28+ <!-- Don't generate the header in index.html -->
29+ <xsl:if test="$home != .">
30+ <div class="navheader">
31+ <!-- Book title and version -->
32+ <h4>
33+ <xsl:apply-templates select="$home" mode="object.title.markup"/>
34+ <xsl:text> - </xsl:text>
35+ <xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
36+ </h4>
37+ <!-- Except for preface, part, and index, add the title of the parent -->
38+ <xsl:if test="$up != $home">
39+ <h3>
40+ <xsl:apply-templates select="$up" mode="object.title.markup"/>
41+ </h3>
42+ </xsl:if>
43+ <!-- Create header navigational links -->
44+ <xsl:call-template name="navigational.links">
45+ <xsl:with-param name="prev" select="$prev"/>
46+ <xsl:with-param name="next" select="$next"/>
47+ <xsl:with-param name="up" select="$up"/>
48+ <xsl:with-param name="home" select="$home"/>
49+ </xsl:call-template>
50+ </div>
51+ </xsl:if>
52+ </xsl:template>
53+
54+ <!-- footer.navigation:
55+ Self-made template that full replaces the original one -->
56+ <!-- The original template is in {docbook-xsl}/xhtml/chunk-common.xsl -->
57+ <xsl:template name="footer.navigation">
58+ <xsl:param name="prev" select="/foo"/>
59+ <xsl:param name="next" select="/foo"/>
60+ <xsl:variable name="up" select="parent::*"/>
61+ <xsl:variable name="home" select="/*[1]"/>
62+ <!-- Create footer navigational links -->
63+ <div class="navfooter">
64+ <xsl:call-template name="navigational.links">
65+ <xsl:with-param name="prev" select="$prev"/>
66+ <xsl:with-param name="next" select="$next"/>
67+ <xsl:with-param name="up" select="$up"/>
68+ <xsl:with-param name="home" select="$home"/>
69+ </xsl:call-template>
70+ </div>
71+ </xsl:template>
72+
73+ <!-- navigational.links:
74+ Self-made template to generate navigational links.
75+ Most of the code come from the original header.navigation and
76+ footer.navigation templates, with this changes:
77+ Changed the output format from table to ul.
78+ Placed the same links on both header and footer.
79+ Added a title attribute to the link containing the target title
80+ (it content is displayed when placing the mouse over the link)
81+ For "Prev" and "Next" links, added the target title under it.
82+ When "Next" target is the Index, added gentext support for the
83+ Index title.
84+ Skip links to dummy sect1. -->
85+ <xsl:template name="navigational.links">
86+ <xsl:param name="prev"/>
87+ <xsl:param name="next"/>
88+ <xsl:param name="up"/>
89+ <xsl:param name="home"/>
90+ <ul>
91+ <!-- No prev link when prev is home -->
92+ <xsl:if test="count($prev)&gt;0 and $prev != $home">
93+ <li class="prev">
94+ <xsl:choose>
95+
96+ <!-- If prev is a dummy sect1 that is the first one in a chapter,
97+ links to the parent chapter.-->
98+ <xsl:when test="$prev[@role='dummy'] and
99+ count(preceding-sibling::sect1)=1">
100+ <a accesskey="p">
101+ <xsl:attribute name="href">
102+ <xsl:call-template name="href.target">
103+ <xsl:with-param name="object" select=".."/>
104+ </xsl:call-template>
105+ </xsl:attribute>
106+ <xsl:attribute name="title">
107+ <xsl:value-of select="../title"/>
108+ </xsl:attribute>
109+ <xsl:call-template name="navig.content">
110+ <xsl:with-param name="direction" select="'prev'"/>
111+ </xsl:call-template>
112+ </a>
113+ <p>
114+ <xsl:value-of select="../title"/>
115+ </p>
116+ </xsl:when>
117+
118+ <!-- If prev is a dummy sect1 that is not the first one in a chapter,
119+ links to the previous sect1.-->
120+ <xsl:when test="$prev[@role='dummy'] and
121+ count(preceding-sibling::sect1)&gt;1">
122+ <a accesskey="p">
123+ <xsl:attribute name="href">
124+ <xsl:call-template name="href.target">
125+ <xsl:with-param name="object" select="preceding-sibling::sect1[position()=2]"/>
126+ </xsl:call-template>
127+ </xsl:attribute>
128+ <xsl:attribute name="title">
129+ <xsl:value-of select="preceding-sibling::sect1[position()=2]/title"/>
130+ </xsl:attribute>
131+ <xsl:call-template name="navig.content">
132+ <xsl:with-param name="direction" select="'prev'"/>
133+ </xsl:call-template>
134+ </a>
135+ <p>
136+ <xsl:value-of select="preceding-sibling::sect1[position()=2]/title"/>
137+ </p>
138+ </xsl:when>
139+
140+ <!-- Code for the "To Boot or To Chroot" CLFS links jumps. -->
141+ <xsl:when test="$prev[@id='ch-chroot-devices'] or $prev[@id='ch-boot-whatnext']">
142+ <a accesskey="p">
143+ <xsl:attribute name="href">
144+ <xsl:call-template name="href.target">
145+ <xsl:with-param name="object" select="//sect1[@id='ch-temp-system-choose']"/>
146+ </xsl:call-template>
147+ </xsl:attribute>
148+ <xsl:attribute name="title">
149+ <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
150+ </xsl:attribute>
151+ <xsl:call-template name="navig.content">
152+ <xsl:with-param name="direction" select="'prev'"/>
153+ </xsl:call-template>
154+ </a>
155+ <p>
156+ <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
157+ </p>
158+ </xsl:when>
159+
160+ <!-- Normal prev links -->
161+ <xsl:otherwise>
162+ <a accesskey="p">
163+ <xsl:attribute name="href">
164+ <xsl:call-template name="href.target">
165+ <xsl:with-param name="object" select="$prev"/>
166+ </xsl:call-template>
167+ </xsl:attribute>
168+ <xsl:attribute name="title">
169+ <xsl:value-of select="$prev/title"/>
170+ </xsl:attribute>
171+ <xsl:call-template name="navig.content">
172+ <xsl:with-param name="direction" select="'prev'"/>
173+ </xsl:call-template>
174+ </a>
175+ <p>
176+ <xsl:value-of select="$prev/title"/>
177+ </p>
178+ </xsl:otherwise>
179+ </xsl:choose>
180+ </li>
181+ </xsl:if>
182+
183+
184+ <!-- Next link except in the last page and in the CLFS "choose" page -->
185+ <xsl:if test="count($next)&gt;0 and (not(@id) or @id!='ch-temp-system-choose')">
186+ <li class="next">
187+ <xsl:choose>
188+
189+ <!-- Current page is sect1 a next is a dummy sect1, link to the next one -->
190+ <xsl:when test="$next[@role='dummy'] and local-name(.) = 'sect1'">
191+ <a accesskey="n">
192+ <xsl:attribute name="href">
193+ <xsl:call-template name="href.target">
194+ <xsl:with-param name="object" select="following-sibling::sect1[position()=2]"/>
195+ </xsl:call-template>
196+ </xsl:attribute>
197+ <xsl:attribute name="title">
198+ <xsl:value-of select="following-sibling::sect1[position()=2]/title"/>
199+ </xsl:attribute>
200+ <xsl:call-template name="navig.content">
201+ <xsl:with-param name="direction" select="'next'"/>
202+ </xsl:call-template>
203+ </a>
204+ <p>
205+ <xsl:value-of select="following-sibling::sect1[position()=2]/title"/>
206+ </p>
207+ </xsl:when>
208+
209+ <!-- Current page is chapter and next is a dummy sect1, link to the next one -->
210+ <xsl:when test="$next[@role='dummy'] and local-name(.) = 'chapter'">
211+ <a accesskey="n">
212+ <xsl:attribute name="href">
213+ <xsl:call-template name="href.target">
214+ <xsl:with-param name="object" select="descendant::sect1[position()=2]"/>
215+ </xsl:call-template>
216+ </xsl:attribute>
217+ <xsl:attribute name="title">
218+ <xsl:value-of select="descendant::sect1[position()=2]/title"/>
219+ </xsl:attribute>
220+ <xsl:call-template name="navig.content">
221+ <xsl:with-param name="direction" select="'next'"/>
222+ </xsl:call-template>
223+ </a>
224+ <p>
225+ <xsl:value-of select="descendant::sect1[position()=2]/title"/>
226+ </p>
227+ </xsl:when>
228+
229+ <!-- Code for the "To Boot or To Chroot" CLFS links jumps. -->
230+ <xsl:when test="$next[@id='chapter-chroot'] or $next[@id='chapter-boot']">
231+ <a accesskey="n">
232+ <xsl:attribute name="href">
233+ <xsl:call-template name="href.target">
234+ <xsl:with-param name="object" select="//part[@id='part5']"/>
235+ </xsl:call-template>
236+ </xsl:attribute>
237+ <xsl:attribute name="title">
238+ <xsl:value-of select="//part[@id='part5']/title"/>
239+ </xsl:attribute>
240+ <xsl:call-template name="navig.content">
241+ <xsl:with-param name="direction" select="'next'"/>
242+ </xsl:call-template>
243+ </a>
244+ <p>
245+ <xsl:value-of select="//part[@id='part5']/title"/>
246+ </p>
247+ </xsl:when>
248+
249+ <!-- Normal next links. Take care of Index gentext support. -->
250+ <xsl:otherwise>
251+ <a accesskey="n">
252+ <xsl:attribute name="href">
253+ <xsl:call-template name="href.target">
254+ <xsl:with-param name="object" select="$next"/>
255+ </xsl:call-template>
256+ </xsl:attribute>
257+ <xsl:attribute name="title">
258+ <xsl:choose>
259+ <xsl:when test="local-name($next)='index'">
260+ <xsl:call-template name="gentext">
261+ <xsl:with-param name="key">Index</xsl:with-param>
262+ </xsl:call-template>
263+ </xsl:when>
264+ <xsl:otherwise>
265+ <xsl:value-of select="$next/title"/>
266+ </xsl:otherwise>
267+ </xsl:choose>
268+ </xsl:attribute>
269+ <xsl:call-template name="navig.content">
270+ <xsl:with-param name="direction" select="'next'"/>
271+ </xsl:call-template>
272+ </a>
273+ <p>
274+ <xsl:choose>
275+ <xsl:when test="local-name($next)='index'">
276+ <xsl:call-template name="gentext">
277+ <xsl:with-param name="key">Index</xsl:with-param>
278+ </xsl:call-template>
279+ </xsl:when>
280+ <xsl:otherwise>
281+ <xsl:value-of select="$next/title"/>
282+ </xsl:otherwise>
283+ </xsl:choose>
284+ </p>
285+ </xsl:otherwise>
286+ </xsl:choose>
287+ </li>
288+ </xsl:if>
289+
290+
291+ <li class="up">
292+ <xsl:choose>
293+ <!-- Up link except if up is home -->
294+ <xsl:when test="count($up)&gt;0 and $up != $home">
295+ <a accesskey="u">
296+ <xsl:attribute name="href">
297+ <xsl:call-template name="href.target">
298+ <xsl:with-param name="object" select="$up"/>
299+ </xsl:call-template>
300+ </xsl:attribute>
301+ <xsl:attribute name="title">
302+ <xsl:apply-templates select="$up" mode="object.title.markup"/>
303+ </xsl:attribute>
304+ <xsl:call-template name="navig.content">
305+ <xsl:with-param name="direction" select="'up'"/>
306+ </xsl:call-template>
307+ </a>
308+ </xsl:when>
309+ <!-- Hack to let the CSS code do its work when there is no up link -->
310+ <xsl:otherwise>
311+ <xsl:text>.</xsl:text>
312+ </xsl:otherwise>
313+ </xsl:choose>
314+ </li>
315+
316+
317+ <li class="home">
318+ <xsl:choose>
319+ <!-- No home link in home page -->
320+ <xsl:when test="$home != .">
321+ <a accesskey="h">
322+ <xsl:attribute name="href">
323+ <xsl:call-template name="href.target">
324+ <xsl:with-param name="object" select="$home"/>
325+ </xsl:call-template>
326+ </xsl:attribute>
327+ <xsl:attribute name="title">
328+ <xsl:value-of select="$home/bookinfo/title"/>
329+ <xsl:text> - </xsl:text>
330+ <xsl:value-of select="$home/bookinfo/subtitle"/>
331+ </xsl:attribute>
332+ <xsl:call-template name="navig.content">
333+ <xsl:with-param name="direction" select="'home'"/>
334+ </xsl:call-template>
335+ </a>
336+ </xsl:when>
337+ <!-- Hack to let the CSS code do its work when there is no home link -->
338+ <xsl:otherwise>
339+ <xsl:text>.</xsl:text>
340+ </xsl:otherwise>
341+ </xsl:choose>
342+ </li>
343+ </ul>
344+ </xsl:template>
345+
346+</xsl:stylesheet>
--- /dev/null
+++ b/src/xslt/my-toc.xsl
@@ -0,0 +1,25 @@
1+<?xml version='1.0'?>
2+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3+ version='1.0'>
4+
5+ <xsl:param name="generate.toc">
6+ appendix toc,title
7+ article/appendix nop
8+ article toc,title
9+ book toc,title,figure,table,example,equation
10+ chapter toc,title
11+ part toc,title
12+ preface toc,title
13+ qandadiv toc
14+ qandaset toc
15+ reference toc,title
16+ sect1 toc,title
17+ sect2 toc
18+ sect3 toc
19+ sect4 toc
20+ sect5 toc
21+ section toc
22+ set toc,title
23+ </xsl:param>
24+
25+</xsl:stylesheet>