# HG changeset patch # User Dongsheng Song # Date 1238468658 -28800 # Node ID 65b82a891cf78ce7028b9a5624c1c373eb5d2bc3 # Parent f7add9f718a861f14fbeee93e861d02c46ecd253 Add epub format diff -r f7add9f718a8 -r 65b82a891cf7 Makefile --- a/Makefile Tue Mar 31 10:02:16 2009 +0800 +++ b/Makefile Tue Mar 31 11:04:18 2009 +0800 @@ -3,18 +3,18 @@ # include Makefile.vars -FORMATS=html html-single pdf +FORMATS=html html-single pdf epub PO_LANGUAGES := zh DBK_LANGUAGES := en LANGUAGES := $(DBK_LANGUAGES) $(PO_LANGUAGES) UPDATEPO = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-updatepo -M UTF-8 \ - -f docbook -o doctype='docbook' -o includeexternal \ - -o nodefault=' ' \ - -o untranslated=' ' + -f docbook -o doctype=docbook -o includeexternal \ + -o nodefault=" " \ + -o untranslated=" " TRANSLATE = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-translate -M UTF-8 \ - -f docbook -o doctype='docbook' \ + -f docbook -o doctype=docbook \ -k 0 #rev_id = $(shell hg parents --template '{node|short} ({date|isodate})') @@ -43,6 +43,7 @@ en/figs/wdir-pre-branch.png help: + @echo " make epub [LINGUA=en|zh|...]" @echo " make html [LINGUA=en|zh|...]" @echo " make html-single [LINGUA=en|zh|...]" @echo " make pdf [LINGUA=en|zh|...]" @@ -119,7 +120,11 @@ else updatepo: ifneq "$(findstring $(LINGUA),$(PO_LANGUAGES))" "" - (cd po && $(UPDATEPO) -m ../en/00book.xml -p $(LINGUA).po) + (cd po; \ + $(UPDATEPO) -m ../en/00book.xml -p $(LINGUA).po; \ + cat $(LINGUA).po | sed 's/&emdash;/—/' > $(LINGUA).po.tmp; \ + mv $(LINGUA).po.tmp $(LINGUA).po \ + ) $(MAKE) tidypo LINGUA=$(LINGUA) endif endif @@ -140,6 +145,7 @@ build/$(LINGUA)/source/hgbook.xml: $(wildcard $(LINGUA)/*.xml) $(images) $(LINGUA)/examples/.run $(images) mkdir -p build/$(LINGUA)/source/figs cp $(LINGUA)/figs/*.png build/$(LINGUA)/source/figs + cp stylesheets/hgbook.css build/$(LINGUA)/source (cd $(LINGUA); xmllint --nonet --noent --xinclude --postvalid --output ../$@.tmp 00book.xml) cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@ else @@ -152,6 +158,7 @@ build/$(LINGUA)/source/hgbook.xml: build/en/source/hgbook.xml po/$(LINGUA).po $(images) mkdir -p build/$(LINGUA)/source/figs cp en/figs/*.png build/$(LINGUA)/source/figs + cp stylesheets/hgbook.css build/$(LINGUA)/source $(TRANSLATE) -m build/en/source/hgbook.xml -p po/$(LINGUA).po -l $@.tmp cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@ endif @@ -159,6 +166,19 @@ endif ifndef LINGUA +epub: + for l in $(LANGUAGES); do \ + $(MAKE) $@ LINGUA=$$l; \ + done +else +epub: build/$(LINGUA)/epub/hgbook.epub + +build/$(LINGUA)/epub/hgbook.epub: build/$(LINGUA)/source/hgbook.xml + mkdir -p build/$(LINGUA)/epub + (cd build/$(LINGUA)/source; $(DB2EPUB) -c hgbook.css -v hgbook.xml; mv hgbook.epub ../epub) +endif + +ifndef LINGUA html: for l in $(LANGUAGES); do \ $(MAKE) $@ LINGUA=$$l; \ diff -r f7add9f718a8 -r 65b82a891cf7 po/zh.po --- a/po/zh.po Tue Mar 31 10:02:16 2009 +0800 +++ b/po/zh.po Tue Mar 31 11:04:18 2009 +0800 @@ -41,7 +41,7 @@ msgid "" msgstr "" "Project-Id-Version: hgbook 1.2\n" -"POT-Creation-Date: 2009-03-30 21:36+0800\n" +"POT-Creation-Date: 2009-03-31 10:46+0800\n" "PO-Revision-Date: 2009-03-31 10:12+0800\n" "Last-Translator: \n" "Language-Team: Simplified Chinese \n" @@ -436,9 +436,8 @@ #. type: Content of: #: ../en/appB-mq-ref.xml:14 -msgid "" -"<command role=\"hg-ext-mq\">qapplied</command>&emdash;print applied patches" -msgstr "<command role=\"hg-ext-mq\">qapplied</command>&emdash;显示已应用的补丁" +msgid "<command role=\"hg-ext-mq\">qapplied</command>—print applied patches" +msgstr "<command role=\"hg-ext-mq\">qapplied</command>—显示已应用的补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:17 @@ -451,9 +450,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:24 msgid "" -"<command role=\"hg-ext-mq\">qcommit</command>&emdash;commit changes in the " -"queue repository" -msgstr "<command role=\"hg-ext-mq\">qcommit</command>&emdash;提交队列中的修改" +"<command role=\"hg-ext-mq\">qcommit</command>—commit changes in the queue " +"repository" +msgstr "<command role=\"hg-ext-mq\">qcommit</command>—提交队列中的修改" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:27 @@ -478,11 +477,11 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:43 msgid "" -"<command role=\"hg-ext-mq\">qdelete</command>&emdash;delete a patch from the " +"<command role=\"hg-ext-mq\">qdelete</command>—delete a patch from the " "<filename role=\"special\">series</filename> file" msgstr "" -"<command role=\"hg-ext-mq\">qdelete</command>&emdash;从文件 <filename role=" -"\"special\">series</filename> 中删除补丁" +"<command role=\"hg-ext-mq\">qdelete</command>—从文件 <filename role=\"special" +"\">series</filename> 中删除补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:48 @@ -512,10 +511,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:66 msgid "" -"<command role=\"hg-ext-mq\">qdiff</command>&emdash;print a diff of the " -"topmost applied patch" -msgstr "" -"<command role=\"hg-ext-mq\">qdiff</command>&emdash;显示最新应用补丁的差异" +"<command role=\"hg-ext-mq\">qdiff</command>—print a diff of the topmost " +"applied patch" +msgstr "<command role=\"hg-ext-mq\">qdiff</command>—显示最新应用补丁的差异" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:69 @@ -528,11 +526,11 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:75 msgid "" -"<command role=\"hg-ext-mq\">qfold</command>&emdash;merge (<quote>fold</" -"quote>) several patches into one" -msgstr "" -"<command role=\"hg-ext-mq\">qfold</command>&emdash;将多个补丁合并(<quote>折叠" -"</quote>)成一个" +"<command role=\"hg-ext-mq\">qfold</command>—merge (<quote>fold</quote>) " +"several patches into one" +msgstr "" +"<command role=\"hg-ext-mq\">qfold</command>—将多个补丁合并(<quote>折叠</" +"quote>)成一个" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:78 @@ -587,9 +585,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:119 msgid "" -"<command role=\"hg-ext-mq\">qheader</command>&emdash;display the header/" -"description of a patch" -msgstr "<command role=\"hg-ext-mq\">qheader</command>&emdash;显示补丁头部描述" +"<command role=\"hg-ext-mq\">qheader</command>—display the header/description " +"of a patch" +msgstr "<command role=\"hg-ext-mq\">qheader</command>—显示补丁头部描述" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:123 @@ -602,10 +600,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:130 msgid "" -"<command role=\"hg-ext-mq\">qimport</command>&emdash;import a third-party " -"patch into the queue" -msgstr "" -"<command role=\"hg-ext-mq\">qimport</command>&emdash;将第三方补丁导入队列" +"<command role=\"hg-ext-mq\">qimport</command>—import a third-party patch into " +"the queue" +msgstr "<command role=\"hg-ext-mq\">qimport</command>—将第三方补丁导入队列" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:133 @@ -629,9 +626,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:149 msgid "" -"<command role=\"hg-ext-mq\">qinit</command>&emdash;prepare a repository to " -"work with MQ" -msgstr "<command role=\"hg-ext-mq\">qinit</command>&emdash;为使用 MQ 配置版本库" +"<command role=\"hg-ext-mq\">qinit</command>—prepare a repository to work with " +"MQ" +msgstr "<command role=\"hg-ext-mq\">qinit</command>—为使用 MQ 配置版本库" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:152 @@ -661,8 +658,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:178 -msgid "<command role=\"hg-ext-mq\">qnew</command>&emdash;create a new patch" -msgstr "<command role=\"hg-ext-mq\">qnew</command>&emdash;创建新补丁" +msgid "<command role=\"hg-ext-mq\">qnew</command>—create a new patch" +msgstr "<command role=\"hg-ext-mq\">qnew</command>—创建新补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:181 @@ -704,9 +701,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:215 msgid "" -"<command role=\"hg-ext-mq\">qnext</command>&emdash;print the name of the next " -"patch" -msgstr "<command role=\"hg-ext-mq\">qnext</command>&emdash;显示下个补丁的名称" +"<command role=\"hg-ext-mq\">qnext</command>—print the name of the next patch" +msgstr "<command role=\"hg-ext-mq\">qnext</command>—显示下个补丁的名称" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:218 @@ -719,9 +715,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:227 -msgid "" -"<command role=\"hg-ext-mq\">qpop</command>&emdash;pop patches off the stack" -msgstr "<command role=\"hg-ext-mq\">qpop</command>&emdash;删除堆栈顶部的补丁" +msgid "<command role=\"hg-ext-mq\">qpop</command>—pop patches off the stack" +msgstr "<command role=\"hg-ext-mq\">qpop</command>—删除堆栈顶部的补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:230 @@ -804,9 +799,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:288 msgid "" -"<command role=\"hg-ext-mq\">qprev</command>&emdash;print the name of the " -"previous patch" -msgstr "<command role=\"hg-ext-mq\">qprev</command>&emdash;显示上个补丁的名称" +"<command role=\"hg-ext-mq\">qprev</command>—print the name of the previous " +"patch" +msgstr "<command role=\"hg-ext-mq\">qprev</command>—显示上个补丁的名称" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:291 @@ -819,9 +814,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:300 -msgid "" -"<command role=\"hg-ext-mq\">qpush</command>&emdash;push patches onto the stack" -msgstr "<command role=\"hg-ext-mq\">qpush</command>&emdash;增加补丁到堆栈" +msgid "<command role=\"hg-ext-mq\">qpush</command>—push patches onto the stack" +msgstr "<command role=\"hg-ext-mq\">qpush</command>—增加补丁到堆栈" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:303 @@ -918,9 +912,9 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:368 msgid "" -"<command role=\"hg-ext-mq\">qrefresh</command>&emdash;update the topmost " -"applied patch" -msgstr "<command role=\"hg-ext-mq\">qrefresh</command>&emdash;更新最新的补丁" +"<command role=\"hg-ext-mq\">qrefresh</command>—update the topmost applied " +"patch" +msgstr "<command role=\"hg-ext-mq\">qrefresh</command>—更新最新的补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:372 @@ -994,8 +988,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:424 -msgid "<command role=\"hg-ext-mq\">qrename</command>&emdash;rename a patch" -msgstr "<command role=\"hg-ext-mq\">qrename</command>&emdash;改名补丁" +msgid "<command role=\"hg-ext-mq\">qrename</command>—rename a patch" +msgstr "<command role=\"hg-ext-mq\">qrename</command>—改名补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:427 @@ -1015,10 +1009,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:438 -msgid "" -"<command role=\"hg-ext-mq\">qrestore</command>&emdash;restore saved queue " -"state" -msgstr "<command role=\"hg-ext-mq\">qrestore</command>&emdash;恢复保存的队列" +msgid "<command role=\"hg-ext-mq\">qrestore</command>—restore saved queue state" +msgstr "<command role=\"hg-ext-mq\">qrestore</command>—恢复保存的队列" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:442 @@ -1027,9 +1019,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:446 -msgid "" -"<command role=\"hg-ext-mq\">qsave</command>&emdash;save current queue state" -msgstr "<command role=\"hg-ext-mq\">qsave</command>&emdash;保存当前的队列状态" +msgid "<command role=\"hg-ext-mq\">qsave</command>—save current queue state" +msgstr "<command role=\"hg-ext-mq\">qsave</command>—保存当前的队列状态" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:449 @@ -1039,9 +1030,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:453 msgid "" -"<command role=\"hg-ext-mq\">qseries</command>&emdash;print the entire patch " -"series" -msgstr "<command role=\"hg-ext-mq\">qseries</command>&emdash;显示补丁序列" +"<command role=\"hg-ext-mq\">qseries</command>—print the entire patch series" +msgstr "<command role=\"hg-ext-mq\">qseries</command>—显示补丁序列" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:456 @@ -1055,9 +1045,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:464 msgid "" -"<command role=\"hg-ext-mq\">qtop</command>&emdash;print the name of the " -"current patch" -msgstr "<command role=\"hg-ext-mq\">qtop</command>&emdash;显示当前补丁的名称" +"<command role=\"hg-ext-mq\">qtop</command>—print the name of the current patch" +msgstr "<command role=\"hg-ext-mq\">qtop</command>—显示当前补丁的名称" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:467 @@ -1069,10 +1058,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:472 msgid "" -"<command role=\"hg-ext-mq\">qunapplied</command>&emdash;print patches not yet " -"applied" -msgstr "" -"<command role=\"hg-ext-mq\">qunapplied</command>&emdash;显示尚未应用的补丁" +"<command role=\"hg-ext-mq\">qunapplied</command>—print patches not yet applied" +msgstr "<command role=\"hg-ext-mq\">qunapplied</command>—显示尚未应用的补丁" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:476 @@ -1086,9 +1073,8 @@ #. type: Content of: <book><appendix><sect1><sect2><title> #: ../en/appB-mq-ref.xml:484 msgid "" -"<command role=\"hg-cmd\">hg strip</command>&emdash;remove a revision and " -"descendants" -msgstr "<command role=\"hg-cmd\">hg strip</command>&emdash;删除一个版本及其后继" +"<command role=\"hg-cmd\">hg strip</command>—remove a revision and descendants" +msgstr "<command role=\"hg-cmd\">hg strip</command>—删除一个版本及其后继" #. type: Content of: <book><appendix><sect1><sect2><para> #: ../en/appB-mq-ref.xml:487 @@ -2531,8 +2517,8 @@ #. type: Content of: <book><preface><sect1><title> #: ../en/ch00-preface.xml:739 -msgid "Colophon&emdash;this book is Free" -msgstr "后记&emdash;本书是自由的!" +msgid "Colophon—this book is Free" +msgstr "后记—本书是自由的!" #. type: Content of: <book><preface><sect1><para> #: ../en/ch00-preface.xml:741 @@ -4863,9 +4849,9 @@ #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch03-concepts.xml:498 msgid "" -"There are more details&emdash;merging has plenty of corner cases&emdash;but " -"these are the most common choices that are involved in a merge. As you can " -"see, most cases are completely automatic, and indeed most merges finish " +"There are more details—merging has plenty of corner cases&emdash;but these " +"are the most common choices that are involved in a merge. As you can see, " +"most cases are completely automatic, and indeed most merges finish " "automatically, without requiring your input to resolve any conflicts." msgstr "" @@ -5191,11 +5177,11 @@ "you added before the commit will no longer be listed in the output of " "<command role=\"hg-cmd\">hg status</command>. The reason for this is that " "<command role=\"hg-cmd\">hg status</command> only tells you about " -"<quote>interesting</quote> files&emdash;those that you have modified or told " -"Mercurial to do something with&emdash;by default. If you have a repository " -"that contains thousands of files, you will rarely want to know about files " -"that Mercurial is tracking, but that have not changed. (You can still get " -"this information; we'll return to this later.)" +"<quote>interesting</quote> files—those that you have modified or told " +"Mercurial to do something with—by default. If you have a repository that " +"contains thousands of files, you will rarely want to know about files that " +"Mercurial is tracking, but that have not changed. (You can still get this " +"information; we'll return to this later.)" msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -5407,8 +5393,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch04-daily.xml:198 -msgid "Useful shorthand&emdash;adding and removing files in one step" -msgstr "有用的速记&emdash;一个步骤添加和删除文件" +msgid "Useful shorthand—adding and removing files in one step" +msgstr "有用的速记—一个步骤添加和删除文件" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch04-daily.xml:201 @@ -5732,8 +5718,8 @@ #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch04-daily.xml:454 msgid "" -"The case of diverging names occurs when two developers start with a " -"file&emdash;let's call it <filename>foo</filename>&emdash;in their respective " +"The case of diverging names occurs when two developers start with a file—" +"let's call it <filename>foo</filename>&emdash;in their respective " "repositories." msgstr "" @@ -8535,8 +8521,8 @@ #. type: Content of: <book><chapter><sect1><title> #: ../en/ch07-branch.xml:228 -msgid "The flow of changes&emdash;big picture vs. little" -msgstr "修改流程&emdash;宏观与微观" +msgid "The flow of changes—big picture vs. little" +msgstr "修改流程—宏观与微观" #. type: Content of: <book><chapter><sect1><para> #: ../en/ch07-branch.xml:230 @@ -8588,11 +8574,11 @@ #: ../en/ch07-branch.xml:260 msgid "" "The easiest way to isolate a <quote>big picture</quote> branch in Mercurial " -"is in a dedicated repository. If you have an existing shared " -"repository&emdash;let's call it <literal>myproject</literal>&emdash;that " -"reaches a <quote>1.0</quote> milestone, you can start to prepare for future " -"maintenance releases on top of version 1.0 by tagging the revision from which " -"you prepared the 1.0 release." +"is in a dedicated repository. If you have an existing shared repository—" +"let's call it <literal>myproject</literal>&emdash;that reaches a <quote>1.0</" +"quote> milestone, you can start to prepare for future maintenance releases on " +"top of version 1.0 by tagging the revision from which you prepared the 1.0 " +"release." msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -9013,9 +8999,9 @@ #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch08-undo.xml:65 msgid "" -"However, luck is with me&emdash;I've caught my error before I pushed the " -"changeset. I use the <command role=\"hg-cmd\">hg rollback</command> command, " -"and Mercurial makes that last changeset vanish." +"However, luck is with me—I've caught my error before I pushed the changeset. " +"I use the <command role=\"hg-cmd\">hg rollback</command> command, and " +"Mercurial makes that last changeset vanish." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -9085,12 +9071,12 @@ #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch08-undo.xml:126 msgid "" -"If you've pushed a change to another repository&emdash;particularly if it's a " -"shared repository&emdash;it has essentially <quote>escaped into the wild,</" -"quote> and you'll have to recover from your mistake in a different way. What " -"will happen if you push a changeset somewhere, then roll it back, then pull " -"from the repository you pushed to, is that the changeset will reappear in " -"your repository." +"If you've pushed a change to another repository—particularly if it's a shared " +"repository—it has essentially <quote>escaped into the wild,</quote> and " +"you'll have to recover from your mistake in a different way. What will " +"happen if you push a changeset somewhere, then roll it back, then pull from " +"the repository you pushed to, is that the changeset will reappear in your " +"repository." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -9212,7 +9198,7 @@ msgid "" "The <command role=\"hg-cmd\">hg revert</command> command is useful for more " "than just modified files. It lets you reverse the results of all of " -"Mercurial's file management commands&emdash;<command role=\"hg-cmd\">hg add</" +"Mercurial's file management commands—<command role=\"hg-cmd\">hg add</" "command>, <command role=\"hg-cmd\">hg remove</command>, and so on." msgstr "" @@ -9715,13 +9701,12 @@ #. type: Content of: <book><chapter><sect1><para> #: ../en/ch08-undo.xml:616 msgid "" -"Since Mercurial treats history as accumulative&emdash;every change builds on " -"top of all changes that preceded it&emdash;you generally can't just make " -"disastrous changes disappear. The one exception is when you've just " -"committed a change, and it hasn't been pushed or pulled into another " -"repository. That's when you can safely use the <command role=\"hg-cmd\">hg " -"rollback</command> command, as I detailed in <xref linkend=\"sec:undo:rollback" -"\"/>." +"Since Mercurial treats history as accumulative—every change builds on top of " +"all changes that preceded it—you generally can't just make disastrous changes " +"disappear. The one exception is when you've just committed a change, and it " +"hasn't been pushed or pulled into another repository. That's when you can " +"safely use the <command role=\"hg-cmd\">hg rollback</command> command, as I " +"detailed in <xref linkend=\"sec:undo:rollback\"/>." msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -10742,11 +10727,10 @@ msgid "" "In practice, putting a centralised bottleneck like this in place is not often " "a good idea, and transaction visibility has nothing to do with the problem. " -"As the size of a project&emdash;and the time it takes to build and " -"test&emdash;grows, you rapidly run into a wall with this <quote>try before " -"you buy</quote> approach, where you have more changesets to test than time in " -"which to deal with them. The inevitable result is frustration on the part of " -"all involved." +"As the size of a project—and the time it takes to build and test—grows, you " +"rapidly run into a wall with this <quote>try before you buy</quote> approach, " +"where you have more changesets to test than time in which to deal with them. " +"The inevitable result is frustration on the part of all involved." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -10906,9 +10890,8 @@ #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:464 msgid "" -"You can write a hook either as a normal program&emdash;typically a shell " -"script&emdash;or as a Python function that is executed within the Mercurial " -"process." +"You can write a hook either as a normal program—typically a shell script—or " +"as a Python function that is executed within the Mercurial process." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -11203,9 +11186,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:716 msgid "" -"<literal role=\"hg-ext\">acl</literal>&emdash;access control for parts of a " +"<literal role=\"hg-ext\">acl</literal>—access control for parts of a " "repository" -msgstr "<literal role=\"hg-ext\">acl</literal>&emdash;版本库的访问控制" +msgstr "<literal role=\"hg-ext\">acl</literal>—版本库的访问控制" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:719 @@ -11350,9 +11333,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:844 -msgid "" -"<literal role=\"hg-ext\">bugzilla</literal>&emdash;integration with Bugzilla" -msgstr "<literal role=\"hg-ext\">bugzilla</literal>&emdash;与 Bugzilla 的集成" +msgid "<literal role=\"hg-ext\">bugzilla</literal>—integration with Bugzilla" +msgstr "<literal role=\"hg-ext\">bugzilla</literal>—与 Bugzilla 的集成" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:848 @@ -11367,7 +11349,7 @@ #: ../en/ch09-hook.xml:855 msgid "" "It adds a comment to the bug that looks like this (you can configure the " -"contents of the comment&emdash;see below):" +"contents of the comment—see below):" msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -11683,9 +11665,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1150 -msgid "" -"<literal role=\"hg-ext\">notify</literal>&emdash;send email notifications" -msgstr "<literal role=\"hg-ext\">notify</literal>&emdash;邮件通知" +msgid "<literal role=\"hg-ext\">notify</literal>—send email notifications" +msgstr "<literal role=\"hg-ext\">notify</literal>—邮件通知" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1153 @@ -12008,8 +11989,8 @@ #. type: Content of: <book><chapter><sect1><sect2><sect3><title> #: ../en/ch09-hook.xml:1431 -msgid "Where changes are going&emdash;remote repository URLs" -msgstr "修改集要到哪里&emdash;远程版本库的地址" +msgid "Where changes are going—remote repository URLs" +msgstr "修改集要到哪里—远程版本库的地址" #. type: Content of: <book><chapter><sect1><sect2><sect3><para> #: ../en/ch09-hook.xml:1434 @@ -12033,21 +12014,21 @@ #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> #: ../en/ch09-hook.xml:1449 msgid "" -"<literal>remote:ssh:1.2.3.4</literal>&emdash;remote ssh client, at the IP " -"address <literal>1.2.3.4</literal>." +"<literal>remote:ssh:1.2.3.4</literal>—remote ssh client, at the IP address " +"<literal>1.2.3.4</literal>." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> #: ../en/ch09-hook.xml:1454 msgid "" -"<literal>remote:http:1.2.3.4</literal>&emdash;remote http client, at the IP " -"address <literal>1.2.3.4</literal>. If the client is using SSL, this will be " -"of the form <literal>remote:https:1.2.3.4</literal>." +"<literal>remote:http:1.2.3.4</literal>—remote http client, at the IP address " +"<literal>1.2.3.4</literal>. If the client is using SSL, this will be of the " +"form <literal>remote:https:1.2.3.4</literal>." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> #: ../en/ch09-hook.xml:1461 -msgid "Empty&emdash;no information could be discovered about the remote client." +msgid "Empty—no information could be discovered about the remote client." msgstr "" #. type: Content of: <book><chapter><sect1><title> @@ -12058,9 +12039,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1473 msgid "" -"<literal role=\"hook\">changegroup</literal>&emdash;after remote changesets " -"added" -msgstr "<literal role=\"hook\">changegroup</literal>&emdash;增加远程修改集之后" +"<literal role=\"hook\">changegroup</literal>—after remote changesets added" +msgstr "<literal role=\"hook\">changegroup</literal>—增加远程修改集之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1476 @@ -12126,10 +12106,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1526 -msgid "" -"<literal role=\"hook\">commit</literal>&emdash;after a new changeset is " -"created" -msgstr "<literal role=\"hook\">commit</literal>&emdash;创建新修改集之后" +msgid "<literal role=\"hook\">commit</literal>—after a new changeset is created" +msgstr "<literal role=\"hook\">commit</literal>—创建新修改集之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1529 @@ -12168,9 +12146,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1559 msgid "" -"<literal role=\"hook\">incoming</literal>&emdash;after one remote changeset " -"is added" -msgstr "<literal role=\"hook\">incoming</literal>&emdash;增加远程修改集之后" +"<literal role=\"hook\">incoming</literal>—after one remote changeset is added" +msgstr "<literal role=\"hook\">incoming</literal>—增加远程修改集之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1562 @@ -12209,9 +12186,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1605 msgid "" -"<literal role=\"hook\">outgoing</literal>&emdash;after changesets are " -"propagated" -msgstr "<literal role=\"hook\">outgoing</literal>&emdash;传播修改集之后" +"<literal role=\"hook\">outgoing</literal>—after changesets are propagated" +msgstr "<literal role=\"hook\">outgoing</literal>—传播修改集之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1608 @@ -12257,10 +12233,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1652 msgid "" -"<literal role=\"hook\">prechangegroup</literal>&emdash;before starting to add " -"remote changesets" -msgstr "" -"<literal role=\"hook\">prechangegroup</literal>&emdash;增加远程修改集之前" +"<literal role=\"hook\">prechangegroup</literal>—before starting to add remote " +"changesets" +msgstr "<literal role=\"hook\">prechangegroup</literal>—增加远程修改集之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1656 @@ -12298,9 +12273,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1698 msgid "" -"<literal role=\"hook\">precommit</literal>&emdash;before starting to commit a " +"<literal role=\"hook\">precommit</literal>—before starting to commit a " "changeset" -msgstr "<literal role=\"hook\">precommit</literal>&emdash;提交修改集之前" +msgstr "<literal role=\"hook\">precommit</literal>—提交修改集之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1701 @@ -12350,9 +12325,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1738 msgid "" -"<literal role=\"hook\">preoutgoing</literal>&emdash;before starting to " -"propagate changesets" -msgstr "<literal role=\"hook\">preoutgoing</literal>&emdash;传播修改集之前" +"<literal role=\"hook\">preoutgoing</literal>—before starting to propagate " +"changesets" +msgstr "<literal role=\"hook\">preoutgoing</literal>—传播修改集之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1741 @@ -12387,9 +12362,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1775 -msgid "" -"<literal role=\"hook\">pretag</literal>&emdash;before tagging a changeset" -msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前" +msgid "<literal role=\"hook\">pretag</literal>—before tagging a changeset" +msgstr "<literal role=\"hook\">pretag</literal>—创建标签之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1778 @@ -12438,20 +12412,19 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1815 msgid "" -"<literal role=\"hook\">pretxnchangegroup</literal>&emdash;before completing " -"addition of remote changesets" -msgstr "" -"<literal role=\"hook\">pretxnchangegroup</literal>&emdash;完成增加远程修改集之" -"前" +"<literal role=\"hook\">pretxnchangegroup</literal>—before completing addition " +"of remote changesets" +msgstr "" +"<literal role=\"hook\">pretxnchangegroup</literal>—完成增加远程修改集之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1819 msgid "" -"This controlling hook is run before a transaction&emdash;that manages the " -"addition of a group of new changesets from outside the repository&emdash;" -"completes. If the hook succeeds, the transaction completes, and all of the " -"changesets become permanent within this repository. If the hook fails, the " -"transaction is rolled back, and the data for the changesets is erased." +"This controlling hook is run before a transaction—that manages the addition " +"of a group of new changesets from outside the repository—completes. If the " +"hook succeeds, the transaction completes, and all of the changesets become " +"permanent within this repository. If the hook fails, the transaction is " +"rolled back, and the data for the changesets is erased." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -12491,17 +12464,17 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1881 msgid "" -"<literal role=\"hook\">pretxncommit</literal>&emdash;before completing commit " -"of new changeset" -msgstr "<literal role=\"hook\">pretxncommit</literal>&emdash;完成提交之前" +"<literal role=\"hook\">pretxncommit</literal>—before completing commit of new " +"changeset" +msgstr "<literal role=\"hook\">pretxncommit</literal>—完成提交之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1884 msgid "" -"This controlling hook is run before a transaction&emdash;that manages a new " -"commit&emdash;completes. If the hook succeeds, the transaction completes and " -"the changeset becomes permanent within this repository. If the hook fails, " -"the transaction is rolled back, and the commit data is erased." +"This controlling hook is run before a transaction—that manages a new commit—" +"completes. If the hook succeeds, the transaction completes and the changeset " +"becomes permanent within this repository. If the hook fails, the transaction " +"is rolled back, and the commit data is erased." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> @@ -12533,10 +12506,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1929 msgid "" -"<literal role=\"hook\">preupdate</literal>&emdash;before updating or merging " -"working directory" -msgstr "" -"<literal role=\"hook\">preupdate</literal>&emdash;更新或合并工作目录之前" +"<literal role=\"hook\">preupdate</literal>—before updating or merging working " +"directory" +msgstr "<literal role=\"hook\">preupdate</literal>—更新或合并工作目录之前" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1932 @@ -12572,8 +12544,8 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1961 -msgid "<literal role=\"hook\">tag</literal>&emdash;after tagging a changeset" -msgstr "<literal role=\"hook\">tag</literal>&emdash;创建标签之后" +msgid "<literal role=\"hook\">tag</literal>—after tagging a changeset" +msgstr "<literal role=\"hook\">tag</literal>—创建标签之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:1964 @@ -12621,9 +12593,9 @@ #. type: Content of: <book><chapter><sect1><sect2><title> #: ../en/ch09-hook.xml:1998 msgid "" -"<literal role=\"hook\">update</literal>&emdash;after updating or merging " -"working directory" -msgstr "<literal role=\"hook\">update</literal>&emdash;更新或合并工作目录之后" +"<literal role=\"hook\">update</literal>—after updating or merging working " +"directory" +msgstr "<literal role=\"hook\">update</literal>—更新或合并工作目录之后" #. type: Content of: <book><chapter><sect1><sect2><para> #: ../en/ch09-hook.xml:2001 @@ -12701,9 +12673,9 @@ #. type: Content of: <book><chapter><sect1><para> #: ../en/ch10-template.xml:26 msgid "" -"This is somewhat informative, but it takes up a lot of space&emdash;five " -"lines of output per changeset. The <literal>compact</literal> style reduces " -"this to three lines, presented in a sparse manner." +"This is somewhat informative, but it takes up a lot of space—five lines of " +"output per changeset. The <literal>compact</literal> style reduces this to " +"three lines, presented in a sparse manner." msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -13774,9 +13746,8 @@ #: ../en/ch11-mq.xml:149 msgid "" "A major reason that patches have persisted in the free software and open " -"source world&emdash;in spite of the availability of increasingly capable " -"revision control tools over the years&emdash;is the <emphasis>agility</" -"emphasis> they offer." +"source world—in spite of the availability of increasingly capable revision " +"control tools over the years—is the <emphasis>agility</emphasis> they offer." msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -13785,8 +13756,8 @@ "Traditional revision control tools make a permanent, irreversible record of " "everything that you do. While this has great value, it's also somewhat " "stifling. If you want to perform a wild-eyed experiment, you have to be " -"careful in how you go about it, or you risk leaving unneeded&emdash;or worse, " -"misleading or destabilising&emdash;traces of your missteps and errors in the " +"careful in how you go about it, or you risk leaving unneeded—or worse, " +"misleading or destabilising—traces of your missteps and errors in the " "permanent revision record." msgstr "" @@ -13797,23 +13768,23 @@ "it much easier to isolate your work. Your patches live on top of normal " "revision history, and you can make them disappear or reappear at will. If " "you don't like a patch, you can drop it. If a patch isn't quite as you want " -"it to be, simply fix it&emdash;as many times as you need to, until you have " -"refined it into the form you desire." +"it to be, simply fix it—as many times as you need to, until you have refined " +"it into the form you desire." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: ../en/ch11-mq.xml:171 msgid "" "As an example, the integration of patches with revision control makes " -"understanding patches and debugging their effects&emdash;and their interplay " -"with the code they're based on&emdash;<emphasis>enormously</emphasis> easier. " -"Since every applied patch has an associated changeset, you can give <command " -"role=\"hg-cmd\">hg log</command> a file name to see which changesets and " -"patches affected the file. You can use the <command role=\"hg-cmd\">hg " -"bisect</command> command to binary-search through all changesets and applied " -"patches to see where a bug got introduced or fixed. You can use the <command " -"role=\"hg-cmd\">hg annotate</command> command to see which changeset or patch " -"modified a particular line of a source file. And so on." +"understanding patches and debugging their effects—and their interplay with " +"the code they're based on—<emphasis>enormously</emphasis> easier. Since every " +"applied patch has an associated changeset, you can give <command role=\"hg-cmd" +"\">hg log</command> a file name to see which changesets and patches affected " +"the file. You can use the <command role=\"hg-cmd\">hg bisect</command> " +"command to binary-search through all changesets and applied patches to see " +"where a bug got introduced or fixed. You can use the <command role=\"hg-cmd" +"\">hg annotate</command> command to see which changeset or patch modified a " +"particular line of a source file. And so on." msgstr "" #. type: Content of: <book><chapter><sect1><title> @@ -14190,15 +14161,14 @@ msgid "" "Here's an example that illustrates how you can use this ability. Let's say " "you're developing a new feature as two patches. The first is a change to the " -"core of your software, and the second&emdash;layered on top of the " -"first&emdash;changes the user interface to use the code you just added to the " -"core. If you notice a bug in the core while you're working on the UI patch, " -"it's easy to fix the core. Simply <command role=\"hg-ext-mq\">qrefresh</" -"command> the UI patch to save your in-progress changes, and <command role=" -"\"hg-ext-mq\">qpop</command> down to the core patch. Fix the core bug, " -"<command role=\"hg-ext-mq\">qrefresh</command> the core patch, and <command " -"role=\"hg-ext-mq\">qpush</command> back to the UI patch to continue where you " -"left off." +"core of your software, and the second—layered on top of the first—changes the " +"user interface to use the code you just added to the core. If you notice a " +"bug in the core while you're working on the UI patch, it's easy to fix the " +"core. Simply <command role=\"hg-ext-mq\">qrefresh</command> the UI patch to " +"save your in-progress changes, and <command role=\"hg-ext-mq\">qpop</command> " +"down to the core patch. Fix the core bug, <command role=\"hg-ext-mq" +"\">qrefresh</command> the core patch, and <command role=\"hg-ext-mq\">qpush</" +"command> back to the UI patch to continue where you left off." msgstr "" #. type: Content of: <book><chapter><sect1><title> @@ -14501,8 +14471,8 @@ #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> #: ../en/ch11-mq.xml:731 msgid "" -"A large hunk might apply better&emdash;either entirely or in part&emdash;if " -"it was broken up into smaller hunks." +"A large hunk might apply better—either entirely or in part&emdash;if it was " +"broken up into smaller hunks." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> @@ -15001,12 +14971,12 @@ msgid "" "The <command>diffstat</command> command <citation>web:diffstat</citation> " "generates a histogram of the modifications made to each file in a patch. It " -"provides a good way to <quote>get a sense of</quote> a patch&emdash;which " -"files it affects, and how much change it introduces to each file and as a " -"whole. (I find that it's a good idea to use <command>diffstat</command>'s " -"<option role=\"cmd-opt-diffstat\">-p</option> option as a matter of course, " -"as otherwise it will try to do clever things with prefixes of file names that " -"inevitably confuse at least me.)" +"provides a good way to <quote>get a sense of</quote> a patch—which files it " +"affects, and how much change it introduces to each file and as a whole. (I " +"find that it's a good idea to use <command>diffstat</command>'s <option role=" +"\"cmd-opt-diffstat\">-p</option> option as a matter of course, as otherwise " +"it will try to do clever things with prefixes of file names that inevitably " +"confuse at least me.)" msgstr "" #. type: Content of: <book><chapter><sect1><para> @@ -15056,13 +15026,12 @@ #: ../en/ch11-mq.xml:1160 msgid "" "Be aware of what patch you're working on. Use the <command role=\"hg-ext-mq" -"\">qtop</command> command and skim over the text of your patches " -"frequently&emdash;for example, using <command role=\"hg-cmd\">hg tip <option " -"role=\"hg-opt-tip\">-p</option></command>)&emdash;to be sure of where you " -"stand. I have several times worked on and <command role=\"hg-ext-mq" -"\">qrefresh</command>ed a patch other than the one I intended, and it's often " -"tricky to migrate changes into the right patch after making them in the wrong " -"one." +"\">qtop</command> command and skim over the text of your patches frequently—" +"for example, using <command role=\"hg-cmd\">hg tip <option role=\"hg-opt-tip" +"\">-p</option></command>)—to be sure of where you stand. I have several " +"times worked on and <command role=\"hg-ext-mq\">qrefresh</command>ed a patch " +"other than the one I intended, and it's often tricky to migrate changes into " +"the right patch after making them in the wrong one." msgstr "" #. type: Content of: <book><chapter><sect1><para> diff -r f7add9f718a8 -r 65b82a891cf7 stylesheets/hgbook.css --- a/stylesheets/hgbook.css Tue Mar 31 10:02:16 2009 +0800 +++ b/stylesheets/hgbook.css Tue Mar 31 11:04:18 2009 +0800 @@ -1,441 +1,293 @@ -body { - font: 12px/1.5 Verdana, sans-serif; - padding-top: 50px; - padding-left: 80px; - padding-right: 80px; - padding-bottom: 90px; -} -.ptmr7t- { - font-family: monospace; +body +{ + background: white; + margin: 1in; + font-family: Georgia,SimSun,serif; } -.ptmr7t-x-x-172 { - font-size: 172%; - font-family: monospace; -} -.ptmr7t-x-x-120 { - font-size: 120%; -} -.zpzccmry-x-x-120 { - font-size: 120%; - font-weight: bold; - font-style: italic; -} -.zpzccmry-x-x-120 { - font-weight: bold; - font-style: italic; + +p, li, ul, ol, dd, dt +{ + font-style: normal; + font-weight: normal; + color: black; } -.pcrr7tn- { - font-family: monospace; -} -.ptmri7t- { - font-style: italic; -} -.ptmr7t-x-x-50 { - font-size: 50%; - font-family: monospace; -} -.ptmb7t- { - font-weight: bold; + +tt, pre +{ + font-family: Consolas,KaiTi,FangSong,SimSun,monospace; } -.zptmcmr- { - font-style: italic; -} -.zptmcmrm- { - font-style: italic; -} -.zpzccmry- { - font-weight: bold; - font-style: italic; -} -.pcrb7t- { - font-family: monospace; - font-weight: bold; + +a +{ + color: blue; + text-decoration: underline; +} + +a:hover +{ + background: rgb(75%,75%,100%); + color: blue; + text-decoration: underline; } -.pcrro7t- { - font-family: monospace; - font-style: oblique; -} -p.noindent { - text-indent: 0em; - margin: 0em; -} -p.nopar { - text-indent: 0em; + +a:visited +{ + color: purple; + text-decoration: underline; } -p.indent { - text-indent: 1.5em; - margin: 0em; -} -a img { - border-top: 0; - border-left: 0; - border-right: 0; -} -center { - margin-top: 1em; - margin-bottom: 1em; -} -td center { - margin-top: 0em; - margin-bottom: 0em; + +img +{ + border: none; } -.Canvas { - position: relative; -} -img.math { - vertical-align: middle; -} -li p.indent { - text-indent: 0em; -} -.enumerate1 { - list-style-type: decimal; + +h1.title +{ + font-size: 250%; + font-style: normal; + font-weight: bold; + color: black; } -.enumerate2 { - list-style-type: lower-alpha; -} -.enumerate3 { - list-style-type: lower-roman; + +h2.subtitle +{ + font-size: 150%; + font-style: italic; + color: black; } -.enumerate4 { - list-style-type: upper-alpha; -} -div.newtheorem { - margin-bottom: 2em; - margin-top: 2em; -} -.obeylines-h,.obeylines-v { - white-space: nowrap; + +h2.title +{ + font-size: 150%; + font-style: normal; + font-weight: bold; + color: black; } -div.obeylines-v p { - margin-top: 0; - margin-bottom: 0; -} -.overline { - text-decoration: overline; -} -.overline img { - border-top: 1px solid black; + +h3.title +{ + font-size: 125%; + font-style: normal; + font-weight: bold; + color: black; } -td.displaylines { - text-align: center; - white-space: nowrap; -} -.centerline { - text-align: center; -} -.rightline { - text-align: right; -} -div.verbatim { - font-family: monospace; - white-space: nowrap; -} -table.verbatim { - width: 100%; + +h4.title +{ + font-size: 100%; + font-style: normal; + font-weight: bold; + color: black; } -.fbox { - background: url(note.png) no-repeat #cec; - padding-left: 65px; - padding-top: 1em; - padding-bottom: 1em; - padding-right: 1em; - text-indent: 0pt; - border: dotted black 1px; + +strong +{ + font-weight: normal; } -div.center div.fbox { - text-align: center; - clear: both; - padding-left: 3.0pt; - padding-right: 3.0pt; - text-indent: 0pt; - border: solid black 0.4pt; + +.toc b +{ + font-family: Verdana,SimHei,sans-serif; + font-size: 120%; + font-style: normal; + font-weight: bold; + color: black; } -table.minipage { - width: 100%; -} -div.center, div.center div.center { - text-align: center; - margin-left: 1em; - margin-right: 1em; -} -div.center div { - text-align: left; + +.title +{ + font-family: Verdana,SimHei,sans-serif; } -div.flushright, div.flushright div.flushright { - text-align: right; -} -div.flushright div { - text-align: left; -} -div.flushleft { - text-align: left; -} -.underline { - text-decoration: underline; + +.screen, .programlisting, .structname +{ + font-family: Consolas,KaiTi,FangSong,SimSun,monospace; + font-style: normal; + font-weight: normal; } -.underline img { - border-bottom: 1px solid black; - margin-bottom: 1pt; + +.userinput +{ + font-weight: normal; } -.framebox-c, .framebox-l, .framebox-r { - padding-left: 3.0pt; - padding-right: 3.0pt; - text-indent: 0pt; - border: solid black 0.4pt; -} -.framebox-c { - text-align: center; -} -.framebox-l { - text-align: left; + +.command +{ + font-style: italic; } -.framebox-r { - text-align: right; -} -span.thank-mark { - vertical-align: super + +.filename +{ + font-family: Georgia,SimSun,serif; + font-style: italic; } -span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript { - font-size: 80%; -} -div.tabular, div.center div.tabular { - text-align: center; - margin-top: 0.5em; - margin-bottom: 0.5em; + +.figure, .example, .table +{ + margin: 0.125in 0.25in; } -table.tabular td p { - margin-top: 0em; -} -table.tabular { - margin-left: auto; - margin-right: auto; + +.figure p.title b, .example p.title b, .table p.title b +{ + font-family: Georgia,SimSun,serif; + font-size: 80%; + font-style: italic; + font-weight: normal; } -div.td00 { - margin-left: 0pt; - margin-right: 0pt; -} -div.td01 { - margin-left: 0pt; - margin-right: 5pt; + +.table table +{ + border-width: 1px; + border-style: solid; + border-color: black; + border-spacing: 0; + background: rgb(240,240,240); } -div.td10 { - margin-left: 5pt; - margin-right: 0pt; -} -div.td11 { - margin-left: 5pt; - margin-right: 5pt; -} -table[rules] { - border-left: solid black 0.4pt; - border-right: solid black 0.4pt; -} -td.td00 { - padding-left: 0pt; - padding-right: 0pt; -} -td.td01 { - padding-left: 0pt; - padding-right: 5pt; -} -td.td10 { - padding-left: 5pt; - padding-right: 0pt; + +.table td +{ + border: none; + border-right: 1px black solid; + border-bottom: 1px black solid; + padding: 2px; } -td.td11 { - padding-left: 5pt; - padding-right: 5pt; -} -table[rules] { - border-left: solid black 0.4pt; - border-right: solid black 0.4pt; -} -.hline hr, .cline hr { - height : 1px; - margin: 0px; -} -.tabbing-right { - text-align: right; + +.table th +{ + background: rgb(180,180,180); + border: none; + border-right: 1px black solid; + border-bottom: 1px black solid; + padding: 2px; } -span.TEX { - letter-spacing: -0.125em; -} -span.TEX span.E { - position: relative;top: 0.5ex;left: -0.0417em; + +.table p.title, .figure p.title, .example p.title +{ + text-align: left !important; + font-size: 100% !important; } -a span.TEX span.E { - text-decoration: none; -} -span.LATEX span.A { - position: relative; - top: -0.5ex; - left: -0.4em; - font-size: 85%; + +.author, .pubdate +{ + margin: 0; + font-size: 100%; + font-style: italic; + font-weight: normal; + color: black; } -span.LATEX span.TEX { - position: relative; - left: -0.4em; -} -div.float img, div.float .caption { - text-align: center; -} -div.figure img, div.figure .caption { - text-align: center; + +.preface div.author, .preface .pubdate +{ + font-size: 80%; } -.marginpar { - width: 20%; - float: right; - text-align: left; - margin-left: auto; - margin-top: 0.5em; - font-size: 85%; - text-decoration: underline; -} -.marginpar p { - margin-top: 0.4em; - margin-bottom: 0.4em; -} -table.equation { - width: 100%; + +.sidebar +{ + border-top: dotted 1px black; + border-left: dotted 1px black; + border-right: solid 2px black; + border-bottom: solid 2px black; + background: rgb(240,220,170); + padding: 0 0.12in; + margin: 0.25in; } -.equation td { - text-align: center; -} -td.equation { - margin-top: 1em; - margin-bottom: 1em; -} -td.equation-label { - width: 5%; - text-align: center; -} -td.eqnarray4 { - width: 5%; - white-space: normal; + +.note .programlisting, .note .screen, +.tip .programlisting, .tip .screen, +.warning .programlisting, .warning .screen, +.sidebar .programlisting, .sidebar .screen +{ + border: none; + background: none; } -td.eqnarray2 { - width: 5%; -} -table.eqnarray-star, table.eqnarray { - width: 100%; + +.sidebar p.title +{ + text-align: center; + font-size: 125%; } -div.eqnarray { - text-align: center; -} -div.array { - text-align: center; -} -div.pmatrix { - text-align: center; + +.note, .tip, .warning +{ + border: black solid 1px; + margin: 0.125in 0; + padding: 0 55px; + font-size: 90%; } -table.pmatrix { - width: 100%; -} -span.pmatrix img { - vertical-align: middle; -} -div.pmatrix { - text-align: center; -} -table.pmatrix { - width: 100%; + +.note +{ + background: url(./figs/note.png) no-repeat rgb(252,246,220); } -img.cdots { - vertical-align: middle; + +.tip +{ + background: url(./figs/tip.png) no-repeat rgb(224,244,255); } -.partToc a, .partToc, .likepartToc a, .likepartToc { - line-height: 200%; - font-weight: bold; - font-size: 110%; -} -.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc { - line-height: 200%; - font-weight: bold; + +.warning +{ + background: url(./figs/warning.png) no-repeat rgb(255,210,210); } -.caption td.id { - font-weight: bold; - white-space: nowrap; -} -table.caption { - text-align: center; -} -h1.partHead { - text-align: center; + +.note .title, .tip .title, .warning .title +{ + display: none; } -p.bibitem { - text-indent: -2em; - margin-left: 2em; - margin-top: 0.6em; - margin-bottom: 0.6em; + +.programlisting, .screen +{ + font-size: 90%; + color: black; + margin: 1em 0.25in; + padding: 0.5em; + background: rgb(240,240,240); + border-top: black dotted 1px; + border-left: black dotted 1px; + border-right: black solid 2px; + border-bottom: black solid 2px; } -p.bibitem-p { - text-indent: 0em; - margin-left: 2em; - margin-top: 0.6em; - margin-bottom: 0.6em; -} -.paragraphHead, .likeparagraphHead { - margin-top: 2em; - font-weight: bold; -} -.subparagraphHead, .likesubparagraphHead { - font-weight: bold; + +.navheader, .navfooter +{ + border: black solid 1px; + background: rgb(180,180,200); } -.quote { - margin-bottom: 0.25em; - margin-top: 0.25em; - margin-left: 1em; - margin-right: 1em; - text-align: justify; -} -.verse { - white-space: nowrap; - margin-left: 2em} -div.maketitle { - text-align: center; + +.navheader hr, .navfooter hr +{ + display: none; } -h2.titleHead { - text-align: center; -} -div.maketitle { - margin-bottom: 2em; + +#svn-footer +{ + font-size: 80%; + text-align: center; } -div.author, div.date { - text-align: center; -} -div.thanks { - text-align: left; - margin-left: 10%; - font-size: 85%; - font-style: italic; + +#svn-footer hr +{ + display: none; } -div.author { - white-space: nowrap; -} -.quotation { - margin-bottom: 0.25em; - margin-top: 0.25em; - margin-left: 1em; -} -h1.partHead { - text-align: center; -} -img.graphics { - margin-left: 10%; + +/* --------------------- */ +/* PRINT MEDIA OVERRIDES */ +/* --------------------- */ + +@media print +{ + body + { + margin: 0; + } + + .navheader, .navfooter + { + display: none; + } + + #svn-footer hr + { + display: block; + } } -.figure { - width: 100%; -} -P.fancyvrb { - white-space: nowrap; -} -hr { - border: 0; - height: 1px; -} -div#fancyvrb { - white-space: nowrap; - background: #eee; - padding: 1em; -}