hgbook

changeset 661:65b82a891cf7

Add epub format
author Dongsheng Song <dongsheng.song@gmail.com>
date Tue Mar 31 11:04:18 2009 +0800 (2009-03-31)
parents f7add9f718a8
children bc9dc4f2f912
files Makefile po/zh.po stylesheets/hgbook.css
line diff
     1.1 --- a/Makefile	Tue Mar 31 10:02:16 2009 +0800
     1.2 +++ b/Makefile	Tue Mar 31 11:04:18 2009 +0800
     1.3 @@ -3,18 +3,18 @@
     1.4  #
     1.5  include Makefile.vars
     1.6  
     1.7 -FORMATS=html html-single pdf
     1.8 +FORMATS=html html-single pdf epub
     1.9  
    1.10  PO_LANGUAGES := zh
    1.11  DBK_LANGUAGES := en
    1.12  LANGUAGES := $(DBK_LANGUAGES) $(PO_LANGUAGES)
    1.13  
    1.14  UPDATEPO = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-updatepo -M UTF-8 \
    1.15 -	   -f docbook -o doctype='docbook' -o includeexternal \
    1.16 -	   -o nodefault='<programlisting> <screen>' \
    1.17 -	   -o untranslated='<programlisting> <screen>'
    1.18 +	   -f docbook -o doctype=docbook -o includeexternal \
    1.19 +	   -o nodefault="<programlisting> <screen>" \
    1.20 +	   -o untranslated="<programlisting> <screen>"
    1.21  TRANSLATE = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-translate -M UTF-8 \
    1.22 -	   -f docbook -o doctype='docbook' \
    1.23 +	   -f docbook -o doctype=docbook \
    1.24  	   -k 0
    1.25  
    1.26  #rev_id = $(shell hg parents --template '{node|short} ({date|isodate})')
    1.27 @@ -43,6 +43,7 @@
    1.28  	en/figs/wdir-pre-branch.png
    1.29  
    1.30  help:
    1.31 +	@echo "  make epub         [LINGUA=en|zh|...]"
    1.32  	@echo "  make html         [LINGUA=en|zh|...]"
    1.33  	@echo "  make html-single  [LINGUA=en|zh|...]"
    1.34  	@echo "  make pdf          [LINGUA=en|zh|...]"
    1.35 @@ -119,7 +120,11 @@
    1.36  else
    1.37  updatepo:
    1.38  ifneq "$(findstring $(LINGUA),$(PO_LANGUAGES))" ""
    1.39 -	(cd po && $(UPDATEPO) -m ../en/00book.xml -p $(LINGUA).po)
    1.40 +	(cd po; \
    1.41 +	$(UPDATEPO) -m ../en/00book.xml -p $(LINGUA).po; \
    1.42 +	cat $(LINGUA).po | sed 's/&emdash;/—/' > $(LINGUA).po.tmp; \
    1.43 +	mv $(LINGUA).po.tmp $(LINGUA).po \
    1.44 +	)
    1.45  	$(MAKE) tidypo LINGUA=$(LINGUA)
    1.46  endif
    1.47  endif
    1.48 @@ -140,6 +145,7 @@
    1.49  build/$(LINGUA)/source/hgbook.xml: $(wildcard $(LINGUA)/*.xml) $(images) $(LINGUA)/examples/.run $(images)
    1.50  	mkdir -p build/$(LINGUA)/source/figs
    1.51  	cp $(LINGUA)/figs/*.png build/$(LINGUA)/source/figs
    1.52 +	cp stylesheets/hgbook.css build/$(LINGUA)/source
    1.53  	(cd $(LINGUA); xmllint --nonet --noent --xinclude --postvalid --output ../$@.tmp 00book.xml)
    1.54  	cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
    1.55  else
    1.56 @@ -152,6 +158,7 @@
    1.57  build/$(LINGUA)/source/hgbook.xml: build/en/source/hgbook.xml po/$(LINGUA).po $(images)
    1.58  	mkdir -p build/$(LINGUA)/source/figs
    1.59  	cp en/figs/*.png build/$(LINGUA)/source/figs
    1.60 +	cp stylesheets/hgbook.css build/$(LINGUA)/source
    1.61  	$(TRANSLATE) -m build/en/source/hgbook.xml -p po/$(LINGUA).po -l $@.tmp
    1.62  	cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
    1.63  endif
    1.64 @@ -159,6 +166,19 @@
    1.65  endif
    1.66  
    1.67  ifndef LINGUA
    1.68 +epub:
    1.69 +	for l in $(LANGUAGES); do \
    1.70 +	    $(MAKE) $@ LINGUA=$$l; \
    1.71 +	done
    1.72 +else
    1.73 +epub: build/$(LINGUA)/epub/hgbook.epub
    1.74 +
    1.75 +build/$(LINGUA)/epub/hgbook.epub: build/$(LINGUA)/source/hgbook.xml
    1.76 +	mkdir -p build/$(LINGUA)/epub
    1.77 +	(cd build/$(LINGUA)/source; $(DB2EPUB) -c hgbook.css -v hgbook.xml; mv hgbook.epub ../epub)
    1.78 +endif
    1.79 +
    1.80 +ifndef LINGUA
    1.81  html:
    1.82  	for l in $(LANGUAGES); do \
    1.83  	    $(MAKE) $@ LINGUA=$$l; \
     2.1 --- a/po/zh.po	Tue Mar 31 10:02:16 2009 +0800
     2.2 +++ b/po/zh.po	Tue Mar 31 11:04:18 2009 +0800
     2.3 @@ -41,7 +41,7 @@
     2.4  msgid ""
     2.5  msgstr ""
     2.6  "Project-Id-Version: hgbook 1.2\n"
     2.7 -"POT-Creation-Date: 2009-03-30 21:36+0800\n"
     2.8 +"POT-Creation-Date: 2009-03-31 10:46+0800\n"
     2.9  "PO-Revision-Date: 2009-03-31 10:12+0800\n"
    2.10  "Last-Translator: \n"
    2.11  "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
    2.12 @@ -436,9 +436,8 @@
    2.13  
    2.14  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.15  #: ../en/appB-mq-ref.xml:14
    2.16 -msgid ""
    2.17 -"<command role=\"hg-ext-mq\">qapplied</command>&emdash;print applied patches"
    2.18 -msgstr "<command role=\"hg-ext-mq\">qapplied</command>&emdash;显示已应用的补丁"
    2.19 +msgid "<command role=\"hg-ext-mq\">qapplied</command>—print applied patches"
    2.20 +msgstr "<command role=\"hg-ext-mq\">qapplied</command>—显示已应用的补丁"
    2.21  
    2.22  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.23  #: ../en/appB-mq-ref.xml:17
    2.24 @@ -451,9 +450,9 @@
    2.25  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.26  #: ../en/appB-mq-ref.xml:24
    2.27  msgid ""
    2.28 -"<command role=\"hg-ext-mq\">qcommit</command>&emdash;commit changes in the "
    2.29 -"queue repository"
    2.30 -msgstr "<command role=\"hg-ext-mq\">qcommit</command>&emdash;提交队列中的修改"
    2.31 +"<command role=\"hg-ext-mq\">qcommit</command>—commit changes in the queue "
    2.32 +"repository"
    2.33 +msgstr "<command role=\"hg-ext-mq\">qcommit</command>—提交队列中的修改"
    2.34  
    2.35  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.36  #: ../en/appB-mq-ref.xml:27
    2.37 @@ -478,11 +477,11 @@
    2.38  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.39  #: ../en/appB-mq-ref.xml:43
    2.40  msgid ""
    2.41 -"<command role=\"hg-ext-mq\">qdelete</command>&emdash;delete a patch from the "
    2.42 +"<command role=\"hg-ext-mq\">qdelete</command>—delete a patch from the "
    2.43  "<filename role=\"special\">series</filename> file"
    2.44  msgstr ""
    2.45 -"<command role=\"hg-ext-mq\">qdelete</command>&emdash;从文件 <filename role="
    2.46 -"\"special\">series</filename> 中删除补丁"
    2.47 +"<command role=\"hg-ext-mq\">qdelete</command>—从文件 <filename role=\"special"
    2.48 +"\">series</filename> 中删除补丁"
    2.49  
    2.50  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.51  #: ../en/appB-mq-ref.xml:48
    2.52 @@ -512,10 +511,9 @@
    2.53  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.54  #: ../en/appB-mq-ref.xml:66
    2.55  msgid ""
    2.56 -"<command role=\"hg-ext-mq\">qdiff</command>&emdash;print a diff of the "
    2.57 -"topmost applied patch"
    2.58 -msgstr ""
    2.59 -"<command role=\"hg-ext-mq\">qdiff</command>&emdash;显示最新应用补丁的差异"
    2.60 +"<command role=\"hg-ext-mq\">qdiff</command>—print a diff of the topmost "
    2.61 +"applied patch"
    2.62 +msgstr "<command role=\"hg-ext-mq\">qdiff</command>—显示最新应用补丁的差异"
    2.63  
    2.64  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.65  #: ../en/appB-mq-ref.xml:69
    2.66 @@ -528,11 +526,11 @@
    2.67  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.68  #: ../en/appB-mq-ref.xml:75
    2.69  msgid ""
    2.70 -"<command role=\"hg-ext-mq\">qfold</command>&emdash;merge (<quote>fold</"
    2.71 -"quote>) several patches into one"
    2.72 -msgstr ""
    2.73 -"<command role=\"hg-ext-mq\">qfold</command>&emdash;将多个补丁合并(<quote>折叠"
    2.74 -"</quote>)成一个"
    2.75 +"<command role=\"hg-ext-mq\">qfold</command>—merge (<quote>fold</quote>) "
    2.76 +"several patches into one"
    2.77 +msgstr ""
    2.78 +"<command role=\"hg-ext-mq\">qfold</command>—将多个补丁合并(<quote>折叠</"
    2.79 +"quote>)成一个"
    2.80  
    2.81  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.82  #: ../en/appB-mq-ref.xml:78
    2.83 @@ -587,9 +585,9 @@
    2.84  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.85  #: ../en/appB-mq-ref.xml:119
    2.86  msgid ""
    2.87 -"<command role=\"hg-ext-mq\">qheader</command>&emdash;display the header/"
    2.88 -"description of a patch"
    2.89 -msgstr "<command role=\"hg-ext-mq\">qheader</command>&emdash;显示补丁头部描述"
    2.90 +"<command role=\"hg-ext-mq\">qheader</command>—display the header/description "
    2.91 +"of a patch"
    2.92 +msgstr "<command role=\"hg-ext-mq\">qheader</command>—显示补丁头部描述"
    2.93  
    2.94  #. type: Content of: <book><appendix><sect1><sect2><para>
    2.95  #: ../en/appB-mq-ref.xml:123
    2.96 @@ -602,10 +600,9 @@
    2.97  #. type: Content of: <book><appendix><sect1><sect2><title>
    2.98  #: ../en/appB-mq-ref.xml:130
    2.99  msgid ""
   2.100 -"<command role=\"hg-ext-mq\">qimport</command>&emdash;import a third-party "
   2.101 -"patch into the queue"
   2.102 -msgstr ""
   2.103 -"<command role=\"hg-ext-mq\">qimport</command>&emdash;将第三方补丁导入队列"
   2.104 +"<command role=\"hg-ext-mq\">qimport</command>—import a third-party patch into "
   2.105 +"the queue"
   2.106 +msgstr "<command role=\"hg-ext-mq\">qimport</command>—将第三方补丁导入队列"
   2.107  
   2.108  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.109  #: ../en/appB-mq-ref.xml:133
   2.110 @@ -629,9 +626,9 @@
   2.111  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.112  #: ../en/appB-mq-ref.xml:149
   2.113  msgid ""
   2.114 -"<command role=\"hg-ext-mq\">qinit</command>&emdash;prepare a repository to "
   2.115 -"work with MQ"
   2.116 -msgstr "<command role=\"hg-ext-mq\">qinit</command>&emdash;为使用 MQ 配置版本库"
   2.117 +"<command role=\"hg-ext-mq\">qinit</command>—prepare a repository to work with "
   2.118 +"MQ"
   2.119 +msgstr "<command role=\"hg-ext-mq\">qinit</command>—为使用 MQ 配置版本库"
   2.120  
   2.121  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.122  #: ../en/appB-mq-ref.xml:152
   2.123 @@ -661,8 +658,8 @@
   2.124  
   2.125  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.126  #: ../en/appB-mq-ref.xml:178
   2.127 -msgid "<command role=\"hg-ext-mq\">qnew</command>&emdash;create a new patch"
   2.128 -msgstr "<command role=\"hg-ext-mq\">qnew</command>&emdash;创建新补丁"
   2.129 +msgid "<command role=\"hg-ext-mq\">qnew</command>—create a new patch"
   2.130 +msgstr "<command role=\"hg-ext-mq\">qnew</command>—创建新补丁"
   2.131  
   2.132  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.133  #: ../en/appB-mq-ref.xml:181
   2.134 @@ -704,9 +701,8 @@
   2.135  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.136  #: ../en/appB-mq-ref.xml:215
   2.137  msgid ""
   2.138 -"<command role=\"hg-ext-mq\">qnext</command>&emdash;print the name of the next "
   2.139 -"patch"
   2.140 -msgstr "<command role=\"hg-ext-mq\">qnext</command>&emdash;显示下个补丁的名称"
   2.141 +"<command role=\"hg-ext-mq\">qnext</command>—print the name of the next patch"
   2.142 +msgstr "<command role=\"hg-ext-mq\">qnext</command>—显示下个补丁的名称"
   2.143  
   2.144  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.145  #: ../en/appB-mq-ref.xml:218
   2.146 @@ -719,9 +715,8 @@
   2.147  
   2.148  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.149  #: ../en/appB-mq-ref.xml:227
   2.150 -msgid ""
   2.151 -"<command role=\"hg-ext-mq\">qpop</command>&emdash;pop patches off the stack"
   2.152 -msgstr "<command role=\"hg-ext-mq\">qpop</command>&emdash;删除堆栈顶部的补丁"
   2.153 +msgid "<command role=\"hg-ext-mq\">qpop</command>—pop patches off the stack"
   2.154 +msgstr "<command role=\"hg-ext-mq\">qpop</command>—删除堆栈顶部的补丁"
   2.155  
   2.156  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.157  #: ../en/appB-mq-ref.xml:230
   2.158 @@ -804,9 +799,9 @@
   2.159  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.160  #: ../en/appB-mq-ref.xml:288
   2.161  msgid ""
   2.162 -"<command role=\"hg-ext-mq\">qprev</command>&emdash;print the name of the "
   2.163 -"previous patch"
   2.164 -msgstr "<command role=\"hg-ext-mq\">qprev</command>&emdash;显示上个补丁的名称"
   2.165 +"<command role=\"hg-ext-mq\">qprev</command>—print the name of the previous "
   2.166 +"patch"
   2.167 +msgstr "<command role=\"hg-ext-mq\">qprev</command>—显示上个补丁的名称"
   2.168  
   2.169  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.170  #: ../en/appB-mq-ref.xml:291
   2.171 @@ -819,9 +814,8 @@
   2.172  
   2.173  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.174  #: ../en/appB-mq-ref.xml:300
   2.175 -msgid ""
   2.176 -"<command role=\"hg-ext-mq\">qpush</command>&emdash;push patches onto the stack"
   2.177 -msgstr "<command role=\"hg-ext-mq\">qpush</command>&emdash;增加补丁到堆栈"
   2.178 +msgid "<command role=\"hg-ext-mq\">qpush</command>—push patches onto the stack"
   2.179 +msgstr "<command role=\"hg-ext-mq\">qpush</command>—增加补丁到堆栈"
   2.180  
   2.181  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.182  #: ../en/appB-mq-ref.xml:303
   2.183 @@ -918,9 +912,9 @@
   2.184  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.185  #: ../en/appB-mq-ref.xml:368
   2.186  msgid ""
   2.187 -"<command role=\"hg-ext-mq\">qrefresh</command>&emdash;update the topmost "
   2.188 -"applied patch"
   2.189 -msgstr "<command role=\"hg-ext-mq\">qrefresh</command>&emdash;更新最新的补丁"
   2.190 +"<command role=\"hg-ext-mq\">qrefresh</command>—update the topmost applied "
   2.191 +"patch"
   2.192 +msgstr "<command role=\"hg-ext-mq\">qrefresh</command>—更新最新的补丁"
   2.193  
   2.194  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.195  #: ../en/appB-mq-ref.xml:372
   2.196 @@ -994,8 +988,8 @@
   2.197  
   2.198  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.199  #: ../en/appB-mq-ref.xml:424
   2.200 -msgid "<command role=\"hg-ext-mq\">qrename</command>&emdash;rename a patch"
   2.201 -msgstr "<command role=\"hg-ext-mq\">qrename</command>&emdash;改名补丁"
   2.202 +msgid "<command role=\"hg-ext-mq\">qrename</command>—rename a patch"
   2.203 +msgstr "<command role=\"hg-ext-mq\">qrename</command>—改名补丁"
   2.204  
   2.205  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.206  #: ../en/appB-mq-ref.xml:427
   2.207 @@ -1015,10 +1009,8 @@
   2.208  
   2.209  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.210  #: ../en/appB-mq-ref.xml:438
   2.211 -msgid ""
   2.212 -"<command role=\"hg-ext-mq\">qrestore</command>&emdash;restore saved queue "
   2.213 -"state"
   2.214 -msgstr "<command role=\"hg-ext-mq\">qrestore</command>&emdash;恢复保存的队列"
   2.215 +msgid "<command role=\"hg-ext-mq\">qrestore</command>—restore saved queue state"
   2.216 +msgstr "<command role=\"hg-ext-mq\">qrestore</command>—恢复保存的队列"
   2.217  
   2.218  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.219  #: ../en/appB-mq-ref.xml:442
   2.220 @@ -1027,9 +1019,8 @@
   2.221  
   2.222  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.223  #: ../en/appB-mq-ref.xml:446
   2.224 -msgid ""
   2.225 -"<command role=\"hg-ext-mq\">qsave</command>&emdash;save current queue state"
   2.226 -msgstr "<command role=\"hg-ext-mq\">qsave</command>&emdash;保存当前的队列状态"
   2.227 +msgid "<command role=\"hg-ext-mq\">qsave</command>—save current queue state"
   2.228 +msgstr "<command role=\"hg-ext-mq\">qsave</command>—保存当前的队列状态"
   2.229  
   2.230  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.231  #: ../en/appB-mq-ref.xml:449
   2.232 @@ -1039,9 +1030,8 @@
   2.233  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.234  #: ../en/appB-mq-ref.xml:453
   2.235  msgid ""
   2.236 -"<command role=\"hg-ext-mq\">qseries</command>&emdash;print the entire patch "
   2.237 -"series"
   2.238 -msgstr "<command role=\"hg-ext-mq\">qseries</command>&emdash;显示补丁序列"
   2.239 +"<command role=\"hg-ext-mq\">qseries</command>—print the entire patch series"
   2.240 +msgstr "<command role=\"hg-ext-mq\">qseries</command>—显示补丁序列"
   2.241  
   2.242  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.243  #: ../en/appB-mq-ref.xml:456
   2.244 @@ -1055,9 +1045,8 @@
   2.245  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.246  #: ../en/appB-mq-ref.xml:464
   2.247  msgid ""
   2.248 -"<command role=\"hg-ext-mq\">qtop</command>&emdash;print the name of the "
   2.249 -"current patch"
   2.250 -msgstr "<command role=\"hg-ext-mq\">qtop</command>&emdash;显示当前补丁的名称"
   2.251 +"<command role=\"hg-ext-mq\">qtop</command>—print the name of the current patch"
   2.252 +msgstr "<command role=\"hg-ext-mq\">qtop</command>—显示当前补丁的名称"
   2.253  
   2.254  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.255  #: ../en/appB-mq-ref.xml:467
   2.256 @@ -1069,10 +1058,8 @@
   2.257  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.258  #: ../en/appB-mq-ref.xml:472
   2.259  msgid ""
   2.260 -"<command role=\"hg-ext-mq\">qunapplied</command>&emdash;print patches not yet "
   2.261 -"applied"
   2.262 -msgstr ""
   2.263 -"<command role=\"hg-ext-mq\">qunapplied</command>&emdash;显示尚未应用的补丁"
   2.264 +"<command role=\"hg-ext-mq\">qunapplied</command>—print patches not yet applied"
   2.265 +msgstr "<command role=\"hg-ext-mq\">qunapplied</command>—显示尚未应用的补丁"
   2.266  
   2.267  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.268  #: ../en/appB-mq-ref.xml:476
   2.269 @@ -1086,9 +1073,8 @@
   2.270  #. type: Content of: <book><appendix><sect1><sect2><title>
   2.271  #: ../en/appB-mq-ref.xml:484
   2.272  msgid ""
   2.273 -"<command role=\"hg-cmd\">hg strip</command>&emdash;remove a revision and "
   2.274 -"descendants"
   2.275 -msgstr "<command role=\"hg-cmd\">hg strip</command>&emdash;删除一个版本及其后继"
   2.276 +"<command role=\"hg-cmd\">hg strip</command>—remove a revision and descendants"
   2.277 +msgstr "<command role=\"hg-cmd\">hg strip</command>—删除一个版本及其后继"
   2.278  
   2.279  #. type: Content of: <book><appendix><sect1><sect2><para>
   2.280  #: ../en/appB-mq-ref.xml:487
   2.281 @@ -2531,8 +2517,8 @@
   2.282  
   2.283  #. type: Content of: <book><preface><sect1><title>
   2.284  #: ../en/ch00-preface.xml:739
   2.285 -msgid "Colophon&emdash;this book is Free"
   2.286 -msgstr "后记&emdash;本书是自由的!"
   2.287 +msgid "Colophon—this book is Free"
   2.288 +msgstr "后记—本书是自由的!"
   2.289  
   2.290  #. type: Content of: <book><preface><sect1><para>
   2.291  #: ../en/ch00-preface.xml:741
   2.292 @@ -4863,9 +4849,9 @@
   2.293  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.294  #: ../en/ch03-concepts.xml:498
   2.295  msgid ""
   2.296 -"There are more details&emdash;merging has plenty of corner cases&emdash;but "
   2.297 -"these are the most common choices that are involved in a merge.  As you can "
   2.298 -"see, most cases are completely automatic, and indeed most merges finish "
   2.299 +"There are more details—merging has plenty of corner cases&emdash;but these "
   2.300 +"are the most common choices that are involved in a merge.  As you can see, "
   2.301 +"most cases are completely automatic, and indeed most merges finish "
   2.302  "automatically, without requiring your input to resolve any conflicts."
   2.303  msgstr ""
   2.304  
   2.305 @@ -5191,11 +5177,11 @@
   2.306  "you added before the commit will no longer be listed in the output of "
   2.307  "<command role=\"hg-cmd\">hg status</command>.  The reason for this is that "
   2.308  "<command role=\"hg-cmd\">hg status</command> only tells you about "
   2.309 -"<quote>interesting</quote> files&emdash;those that you have modified or told "
   2.310 -"Mercurial to do something with&emdash;by default.  If you have a repository "
   2.311 -"that contains thousands of files, you will rarely want to know about files "
   2.312 -"that Mercurial is tracking, but that have not changed.  (You can still get "
   2.313 -"this information; we'll return to this later.)"
   2.314 +"<quote>interesting</quote> files—those that you have modified or told "
   2.315 +"Mercurial to do something with—by default.  If you have a repository that "
   2.316 +"contains thousands of files, you will rarely want to know about files that "
   2.317 +"Mercurial is tracking, but that have not changed.  (You can still get this "
   2.318 +"information; we'll return to this later.)"
   2.319  msgstr ""
   2.320  
   2.321  #. type: Content of: <book><chapter><sect1><para>
   2.322 @@ -5407,8 +5393,8 @@
   2.323  
   2.324  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.325  #: ../en/ch04-daily.xml:198
   2.326 -msgid "Useful shorthand&emdash;adding and removing files in one step"
   2.327 -msgstr "有用的速记&emdash;一个步骤添加和删除文件"
   2.328 +msgid "Useful shorthand—adding and removing files in one step"
   2.329 +msgstr "有用的速记—一个步骤添加和删除文件"
   2.330  
   2.331  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.332  #: ../en/ch04-daily.xml:201
   2.333 @@ -5732,8 +5718,8 @@
   2.334  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.335  #: ../en/ch04-daily.xml:454
   2.336  msgid ""
   2.337 -"The case of diverging names occurs when two developers start with a "
   2.338 -"file&emdash;let's call it <filename>foo</filename>&emdash;in their respective "
   2.339 +"The case of diverging names occurs when two developers start with a file—"
   2.340 +"let's call it <filename>foo</filename>&emdash;in their respective "
   2.341  "repositories."
   2.342  msgstr ""
   2.343  
   2.344 @@ -8535,8 +8521,8 @@
   2.345  
   2.346  #. type: Content of: <book><chapter><sect1><title>
   2.347  #: ../en/ch07-branch.xml:228
   2.348 -msgid "The flow of changes&emdash;big picture vs. little"
   2.349 -msgstr "修改流程&emdash;宏观与微观"
   2.350 +msgid "The flow of changes—big picture vs. little"
   2.351 +msgstr "修改流程—宏观与微观"
   2.352  
   2.353  #. type: Content of: <book><chapter><sect1><para>
   2.354  #: ../en/ch07-branch.xml:230
   2.355 @@ -8588,11 +8574,11 @@
   2.356  #: ../en/ch07-branch.xml:260
   2.357  msgid ""
   2.358  "The easiest way to isolate a <quote>big picture</quote> branch in Mercurial "
   2.359 -"is in a dedicated repository.  If you have an existing shared "
   2.360 -"repository&emdash;let's call it <literal>myproject</literal>&emdash;that "
   2.361 -"reaches a <quote>1.0</quote> milestone, you can start to prepare for future "
   2.362 -"maintenance releases on top of version 1.0 by tagging the revision from which "
   2.363 -"you prepared the 1.0 release."
   2.364 +"is in a dedicated repository.  If you have an existing shared repository—"
   2.365 +"let's call it <literal>myproject</literal>&emdash;that reaches a <quote>1.0</"
   2.366 +"quote> milestone, you can start to prepare for future maintenance releases on "
   2.367 +"top of version 1.0 by tagging the revision from which you prepared the 1.0 "
   2.368 +"release."
   2.369  msgstr ""
   2.370  
   2.371  #. type: Content of: <book><chapter><sect1><para>
   2.372 @@ -9013,9 +8999,9 @@
   2.373  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.374  #: ../en/ch08-undo.xml:65
   2.375  msgid ""
   2.376 -"However, luck is with me&emdash;I've caught my error before I pushed the "
   2.377 -"changeset.  I use the <command role=\"hg-cmd\">hg rollback</command> command, "
   2.378 -"and Mercurial makes that last changeset vanish."
   2.379 +"However, luck is with me—I've caught my error before I pushed the changeset.  "
   2.380 +"I use the <command role=\"hg-cmd\">hg rollback</command> command, and "
   2.381 +"Mercurial makes that last changeset vanish."
   2.382  msgstr ""
   2.383  
   2.384  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.385 @@ -9085,12 +9071,12 @@
   2.386  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.387  #: ../en/ch08-undo.xml:126
   2.388  msgid ""
   2.389 -"If you've pushed a change to another repository&emdash;particularly if it's a "
   2.390 -"shared repository&emdash;it has essentially <quote>escaped into the wild,</"
   2.391 -"quote> and you'll have to recover from your mistake in a different way.  What "
   2.392 -"will happen if you push a changeset somewhere, then roll it back, then pull "
   2.393 -"from the repository you pushed to, is that the changeset will reappear in "
   2.394 -"your repository."
   2.395 +"If you've pushed a change to another repository—particularly if it's a shared "
   2.396 +"repository—it has essentially <quote>escaped into the wild,</quote> and "
   2.397 +"you'll have to recover from your mistake in a different way.  What will "
   2.398 +"happen if you push a changeset somewhere, then roll it back, then pull from "
   2.399 +"the repository you pushed to, is that the changeset will reappear in your "
   2.400 +"repository."
   2.401  msgstr ""
   2.402  
   2.403  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.404 @@ -9212,7 +9198,7 @@
   2.405  msgid ""
   2.406  "The <command role=\"hg-cmd\">hg revert</command> command is useful for more "
   2.407  "than just modified files.  It lets you reverse the results of all of "
   2.408 -"Mercurial's file management commands&emdash;<command role=\"hg-cmd\">hg add</"
   2.409 +"Mercurial's file management commands—<command role=\"hg-cmd\">hg add</"
   2.410  "command>, <command role=\"hg-cmd\">hg remove</command>, and so on."
   2.411  msgstr ""
   2.412  
   2.413 @@ -9715,13 +9701,12 @@
   2.414  #. type: Content of: <book><chapter><sect1><para>
   2.415  #: ../en/ch08-undo.xml:616
   2.416  msgid ""
   2.417 -"Since Mercurial treats history as accumulative&emdash;every change builds on "
   2.418 -"top of all changes that preceded it&emdash;you generally can't just make "
   2.419 -"disastrous changes disappear.  The one exception is when you've just "
   2.420 -"committed a change, and it hasn't been pushed or pulled into another "
   2.421 -"repository.  That's when you can safely use the <command role=\"hg-cmd\">hg "
   2.422 -"rollback</command> command, as I detailed in <xref linkend=\"sec:undo:rollback"
   2.423 -"\"/>."
   2.424 +"Since Mercurial treats history as accumulative—every change builds on top of "
   2.425 +"all changes that preceded it—you generally can't just make disastrous changes "
   2.426 +"disappear.  The one exception is when you've just committed a change, and it "
   2.427 +"hasn't been pushed or pulled into another repository.  That's when you can "
   2.428 +"safely use the <command role=\"hg-cmd\">hg rollback</command> command, as I "
   2.429 +"detailed in <xref linkend=\"sec:undo:rollback\"/>."
   2.430  msgstr ""
   2.431  
   2.432  #. type: Content of: <book><chapter><sect1><para>
   2.433 @@ -10742,11 +10727,10 @@
   2.434  msgid ""
   2.435  "In practice, putting a centralised bottleneck like this in place is not often "
   2.436  "a good idea, and transaction visibility has nothing to do with the problem.  "
   2.437 -"As the size of a project&emdash;and the time it takes to build and "
   2.438 -"test&emdash;grows, you rapidly run into a wall with this <quote>try before "
   2.439 -"you buy</quote> approach, where you have more changesets to test than time in "
   2.440 -"which to deal with them.  The inevitable result is frustration on the part of "
   2.441 -"all involved."
   2.442 +"As the size of a project—and the time it takes to build and test—grows, you "
   2.443 +"rapidly run into a wall with this <quote>try before you buy</quote> approach, "
   2.444 +"where you have more changesets to test than time in which to deal with them.  "
   2.445 +"The inevitable result is frustration on the part of all involved."
   2.446  msgstr ""
   2.447  
   2.448  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.449 @@ -10906,9 +10890,8 @@
   2.450  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.451  #: ../en/ch09-hook.xml:464
   2.452  msgid ""
   2.453 -"You can write a hook either as a normal program&emdash;typically a shell "
   2.454 -"script&emdash;or as a Python function that is executed within the Mercurial "
   2.455 -"process."
   2.456 +"You can write a hook either as a normal program—typically a shell script—or "
   2.457 +"as a Python function that is executed within the Mercurial process."
   2.458  msgstr ""
   2.459  
   2.460  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.461 @@ -11203,9 +11186,9 @@
   2.462  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.463  #: ../en/ch09-hook.xml:716
   2.464  msgid ""
   2.465 -"<literal role=\"hg-ext\">acl</literal>&emdash;access control for parts of a "
   2.466 +"<literal role=\"hg-ext\">acl</literal>—access control for parts of a "
   2.467  "repository"
   2.468 -msgstr "<literal role=\"hg-ext\">acl</literal>&emdash;版本库的访问控制"
   2.469 +msgstr "<literal role=\"hg-ext\">acl</literal>—版本库的访问控制"
   2.470  
   2.471  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.472  #: ../en/ch09-hook.xml:719
   2.473 @@ -11350,9 +11333,8 @@
   2.474  
   2.475  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.476  #: ../en/ch09-hook.xml:844
   2.477 -msgid ""
   2.478 -"<literal role=\"hg-ext\">bugzilla</literal>&emdash;integration with Bugzilla"
   2.479 -msgstr "<literal role=\"hg-ext\">bugzilla</literal>&emdash;与 Bugzilla 的集成"
   2.480 +msgid "<literal role=\"hg-ext\">bugzilla</literal>—integration with Bugzilla"
   2.481 +msgstr "<literal role=\"hg-ext\">bugzilla</literal>—与 Bugzilla 的集成"
   2.482  
   2.483  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.484  #: ../en/ch09-hook.xml:848
   2.485 @@ -11367,7 +11349,7 @@
   2.486  #: ../en/ch09-hook.xml:855
   2.487  msgid ""
   2.488  "It adds a comment to the bug that looks like this (you can configure the "
   2.489 -"contents of the comment&emdash;see below):"
   2.490 +"contents of the comment—see below):"
   2.491  msgstr ""
   2.492  
   2.493  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.494 @@ -11683,9 +11665,8 @@
   2.495  
   2.496  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.497  #: ../en/ch09-hook.xml:1150
   2.498 -msgid ""
   2.499 -"<literal role=\"hg-ext\">notify</literal>&emdash;send email notifications"
   2.500 -msgstr "<literal role=\"hg-ext\">notify</literal>&emdash;邮件通知"
   2.501 +msgid "<literal role=\"hg-ext\">notify</literal>—send email notifications"
   2.502 +msgstr "<literal role=\"hg-ext\">notify</literal>—邮件通知"
   2.503  
   2.504  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.505  #: ../en/ch09-hook.xml:1153
   2.506 @@ -12008,8 +11989,8 @@
   2.507  
   2.508  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
   2.509  #: ../en/ch09-hook.xml:1431
   2.510 -msgid "Where changes are going&emdash;remote repository URLs"
   2.511 -msgstr "修改集要到哪里&emdash;远程版本库的地址"
   2.512 +msgid "Where changes are going—remote repository URLs"
   2.513 +msgstr "修改集要到哪里—远程版本库的地址"
   2.514  
   2.515  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   2.516  #: ../en/ch09-hook.xml:1434
   2.517 @@ -12033,21 +12014,21 @@
   2.518  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
   2.519  #: ../en/ch09-hook.xml:1449
   2.520  msgid ""
   2.521 -"<literal>remote:ssh:1.2.3.4</literal>&emdash;remote ssh client, at the IP "
   2.522 -"address <literal>1.2.3.4</literal>."
   2.523 +"<literal>remote:ssh:1.2.3.4</literal>—remote ssh client, at the IP address "
   2.524 +"<literal>1.2.3.4</literal>."
   2.525  msgstr ""
   2.526  
   2.527  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
   2.528  #: ../en/ch09-hook.xml:1454
   2.529  msgid ""
   2.530 -"<literal>remote:http:1.2.3.4</literal>&emdash;remote http client, at the IP "
   2.531 -"address <literal>1.2.3.4</literal>.  If the client is using SSL, this will be "
   2.532 -"of the form <literal>remote:https:1.2.3.4</literal>."
   2.533 +"<literal>remote:http:1.2.3.4</literal>—remote http client, at the IP address "
   2.534 +"<literal>1.2.3.4</literal>.  If the client is using SSL, this will be of the "
   2.535 +"form <literal>remote:https:1.2.3.4</literal>."
   2.536  msgstr ""
   2.537  
   2.538  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
   2.539  #: ../en/ch09-hook.xml:1461
   2.540 -msgid "Empty&emdash;no information could be discovered about the remote client."
   2.541 +msgid "Empty—no information could be discovered about the remote client."
   2.542  msgstr ""
   2.543  
   2.544  #. type: Content of: <book><chapter><sect1><title>
   2.545 @@ -12058,9 +12039,8 @@
   2.546  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.547  #: ../en/ch09-hook.xml:1473
   2.548  msgid ""
   2.549 -"<literal role=\"hook\">changegroup</literal>&emdash;after remote changesets "
   2.550 -"added"
   2.551 -msgstr "<literal role=\"hook\">changegroup</literal>&emdash;增加远程修改集之后"
   2.552 +"<literal role=\"hook\">changegroup</literal>—after remote changesets added"
   2.553 +msgstr "<literal role=\"hook\">changegroup</literal>—增加远程修改集之后"
   2.554  
   2.555  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.556  #: ../en/ch09-hook.xml:1476
   2.557 @@ -12126,10 +12106,8 @@
   2.558  
   2.559  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.560  #: ../en/ch09-hook.xml:1526
   2.561 -msgid ""
   2.562 -"<literal role=\"hook\">commit</literal>&emdash;after a new changeset is "
   2.563 -"created"
   2.564 -msgstr "<literal role=\"hook\">commit</literal>&emdash;创建新修改集之后"
   2.565 +msgid "<literal role=\"hook\">commit</literal>—after a new changeset is created"
   2.566 +msgstr "<literal role=\"hook\">commit</literal>—创建新修改集之后"
   2.567  
   2.568  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.569  #: ../en/ch09-hook.xml:1529
   2.570 @@ -12168,9 +12146,8 @@
   2.571  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.572  #: ../en/ch09-hook.xml:1559
   2.573  msgid ""
   2.574 -"<literal role=\"hook\">incoming</literal>&emdash;after one remote changeset "
   2.575 -"is added"
   2.576 -msgstr "<literal role=\"hook\">incoming</literal>&emdash;增加远程修改集之后"
   2.577 +"<literal role=\"hook\">incoming</literal>—after one remote changeset is added"
   2.578 +msgstr "<literal role=\"hook\">incoming</literal>—增加远程修改集之后"
   2.579  
   2.580  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.581  #: ../en/ch09-hook.xml:1562
   2.582 @@ -12209,9 +12186,8 @@
   2.583  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.584  #: ../en/ch09-hook.xml:1605
   2.585  msgid ""
   2.586 -"<literal role=\"hook\">outgoing</literal>&emdash;after changesets are "
   2.587 -"propagated"
   2.588 -msgstr "<literal role=\"hook\">outgoing</literal>&emdash;传播修改集之后"
   2.589 +"<literal role=\"hook\">outgoing</literal>—after changesets are propagated"
   2.590 +msgstr "<literal role=\"hook\">outgoing</literal>—传播修改集之后"
   2.591  
   2.592  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.593  #: ../en/ch09-hook.xml:1608
   2.594 @@ -12257,10 +12233,9 @@
   2.595  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.596  #: ../en/ch09-hook.xml:1652
   2.597  msgid ""
   2.598 -"<literal role=\"hook\">prechangegroup</literal>&emdash;before starting to add "
   2.599 -"remote changesets"
   2.600 -msgstr ""
   2.601 -"<literal role=\"hook\">prechangegroup</literal>&emdash;增加远程修改集之前"
   2.602 +"<literal role=\"hook\">prechangegroup</literal>—before starting to add remote "
   2.603 +"changesets"
   2.604 +msgstr "<literal role=\"hook\">prechangegroup</literal>—增加远程修改集之前"
   2.605  
   2.606  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.607  #: ../en/ch09-hook.xml:1656
   2.608 @@ -12298,9 +12273,9 @@
   2.609  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.610  #: ../en/ch09-hook.xml:1698
   2.611  msgid ""
   2.612 -"<literal role=\"hook\">precommit</literal>&emdash;before starting to commit a "
   2.613 +"<literal role=\"hook\">precommit</literal>—before starting to commit a "
   2.614  "changeset"
   2.615 -msgstr "<literal role=\"hook\">precommit</literal>&emdash;提交修改集之前"
   2.616 +msgstr "<literal role=\"hook\">precommit</literal>—提交修改集之前"
   2.617  
   2.618  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.619  #: ../en/ch09-hook.xml:1701
   2.620 @@ -12350,9 +12325,9 @@
   2.621  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.622  #: ../en/ch09-hook.xml:1738
   2.623  msgid ""
   2.624 -"<literal role=\"hook\">preoutgoing</literal>&emdash;before starting to "
   2.625 -"propagate changesets"
   2.626 -msgstr "<literal role=\"hook\">preoutgoing</literal>&emdash;传播修改集之前"
   2.627 +"<literal role=\"hook\">preoutgoing</literal>—before starting to propagate "
   2.628 +"changesets"
   2.629 +msgstr "<literal role=\"hook\">preoutgoing</literal>—传播修改集之前"
   2.630  
   2.631  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.632  #: ../en/ch09-hook.xml:1741
   2.633 @@ -12387,9 +12362,8 @@
   2.634  
   2.635  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.636  #: ../en/ch09-hook.xml:1775
   2.637 -msgid ""
   2.638 -"<literal role=\"hook\">pretag</literal>&emdash;before tagging a changeset"
   2.639 -msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前"
   2.640 +msgid "<literal role=\"hook\">pretag</literal>—before tagging a changeset"
   2.641 +msgstr "<literal role=\"hook\">pretag</literal>—创建标签之前"
   2.642  
   2.643  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.644  #: ../en/ch09-hook.xml:1778
   2.645 @@ -12438,20 +12412,19 @@
   2.646  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.647  #: ../en/ch09-hook.xml:1815
   2.648  msgid ""
   2.649 -"<literal role=\"hook\">pretxnchangegroup</literal>&emdash;before completing "
   2.650 -"addition of remote changesets"
   2.651 -msgstr ""
   2.652 -"<literal role=\"hook\">pretxnchangegroup</literal>&emdash;完成增加远程修改集之"
   2.653 -"前"
   2.654 +"<literal role=\"hook\">pretxnchangegroup</literal>—before completing addition "
   2.655 +"of remote changesets"
   2.656 +msgstr ""
   2.657 +"<literal role=\"hook\">pretxnchangegroup</literal>—完成增加远程修改集之前"
   2.658  
   2.659  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.660  #: ../en/ch09-hook.xml:1819
   2.661  msgid ""
   2.662 -"This controlling hook is run before a transaction&emdash;that manages the "
   2.663 -"addition of a group of new changesets from outside the repository&emdash;"
   2.664 -"completes.  If the hook succeeds, the transaction completes, and all of the "
   2.665 -"changesets become permanent within this repository.  If the hook fails, the "
   2.666 -"transaction is rolled back, and the data for the changesets is erased."
   2.667 +"This controlling hook is run before a transaction—that manages the addition "
   2.668 +"of a group of new changesets from outside the repository—completes.  If the "
   2.669 +"hook succeeds, the transaction completes, and all of the changesets become "
   2.670 +"permanent within this repository.  If the hook fails, the transaction is "
   2.671 +"rolled back, and the data for the changesets is erased."
   2.672  msgstr ""
   2.673  
   2.674  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.675 @@ -12491,17 +12464,17 @@
   2.676  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.677  #: ../en/ch09-hook.xml:1881
   2.678  msgid ""
   2.679 -"<literal role=\"hook\">pretxncommit</literal>&emdash;before completing commit "
   2.680 -"of new changeset"
   2.681 -msgstr "<literal role=\"hook\">pretxncommit</literal>&emdash;完成提交之前"
   2.682 +"<literal role=\"hook\">pretxncommit</literal>—before completing commit of new "
   2.683 +"changeset"
   2.684 +msgstr "<literal role=\"hook\">pretxncommit</literal>—完成提交之前"
   2.685  
   2.686  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.687  #: ../en/ch09-hook.xml:1884
   2.688  msgid ""
   2.689 -"This controlling hook is run before a transaction&emdash;that manages a new "
   2.690 -"commit&emdash;completes.  If the hook succeeds, the transaction completes and "
   2.691 -"the changeset becomes permanent within this repository.  If the hook fails, "
   2.692 -"the transaction is rolled back, and the commit data is erased."
   2.693 +"This controlling hook is run before a transaction—that manages a new commit—"
   2.694 +"completes.  If the hook succeeds, the transaction completes and the changeset "
   2.695 +"becomes permanent within this repository.  If the hook fails, the transaction "
   2.696 +"is rolled back, and the commit data is erased."
   2.697  msgstr ""
   2.698  
   2.699  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.700 @@ -12533,10 +12506,9 @@
   2.701  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.702  #: ../en/ch09-hook.xml:1929
   2.703  msgid ""
   2.704 -"<literal role=\"hook\">preupdate</literal>&emdash;before updating or merging "
   2.705 -"working directory"
   2.706 -msgstr ""
   2.707 -"<literal role=\"hook\">preupdate</literal>&emdash;更新或合并工作目录之前"
   2.708 +"<literal role=\"hook\">preupdate</literal>—before updating or merging working "
   2.709 +"directory"
   2.710 +msgstr "<literal role=\"hook\">preupdate</literal>—更新或合并工作目录之前"
   2.711  
   2.712  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.713  #: ../en/ch09-hook.xml:1932
   2.714 @@ -12572,8 +12544,8 @@
   2.715  
   2.716  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.717  #: ../en/ch09-hook.xml:1961
   2.718 -msgid "<literal role=\"hook\">tag</literal>&emdash;after tagging a changeset"
   2.719 -msgstr "<literal role=\"hook\">tag</literal>&emdash;创建标签之后"
   2.720 +msgid "<literal role=\"hook\">tag</literal>—after tagging a changeset"
   2.721 +msgstr "<literal role=\"hook\">tag</literal>—创建标签之后"
   2.722  
   2.723  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.724  #: ../en/ch09-hook.xml:1964
   2.725 @@ -12621,9 +12593,9 @@
   2.726  #. type: Content of: <book><chapter><sect1><sect2><title>
   2.727  #: ../en/ch09-hook.xml:1998
   2.728  msgid ""
   2.729 -"<literal role=\"hook\">update</literal>&emdash;after updating or merging "
   2.730 -"working directory"
   2.731 -msgstr "<literal role=\"hook\">update</literal>&emdash;更新或合并工作目录之后"
   2.732 +"<literal role=\"hook\">update</literal>—after updating or merging working "
   2.733 +"directory"
   2.734 +msgstr "<literal role=\"hook\">update</literal>—更新或合并工作目录之后"
   2.735  
   2.736  #. type: Content of: <book><chapter><sect1><sect2><para>
   2.737  #: ../en/ch09-hook.xml:2001
   2.738 @@ -12701,9 +12673,9 @@
   2.739  #. type: Content of: <book><chapter><sect1><para>
   2.740  #: ../en/ch10-template.xml:26
   2.741  msgid ""
   2.742 -"This is somewhat informative, but it takes up a lot of space&emdash;five "
   2.743 -"lines of output per changeset.  The <literal>compact</literal> style reduces "
   2.744 -"this to three lines, presented in a sparse manner."
   2.745 +"This is somewhat informative, but it takes up a lot of space—five lines of "
   2.746 +"output per changeset.  The <literal>compact</literal> style reduces this to "
   2.747 +"three lines, presented in a sparse manner."
   2.748  msgstr ""
   2.749  
   2.750  #. type: Content of: <book><chapter><sect1><para>
   2.751 @@ -13774,9 +13746,8 @@
   2.752  #: ../en/ch11-mq.xml:149
   2.753  msgid ""
   2.754  "A major reason that patches have persisted in the free software and open "
   2.755 -"source world&emdash;in spite of the availability of increasingly capable "
   2.756 -"revision control tools over the years&emdash;is the <emphasis>agility</"
   2.757 -"emphasis> they offer."
   2.758 +"source world—in spite of the availability of increasingly capable revision "
   2.759 +"control tools over the years—is the <emphasis>agility</emphasis> they offer."
   2.760  msgstr ""
   2.761  
   2.762  #. type: Content of: <book><chapter><sect1><para>
   2.763 @@ -13785,8 +13756,8 @@
   2.764  "Traditional revision control tools make a permanent, irreversible record of "
   2.765  "everything that you do.  While this has great value, it's also somewhat "
   2.766  "stifling.  If you want to perform a wild-eyed experiment, you have to be "
   2.767 -"careful in how you go about it, or you risk leaving unneeded&emdash;or worse, "
   2.768 -"misleading or destabilising&emdash;traces of your missteps and errors in the "
   2.769 +"careful in how you go about it, or you risk leaving unneeded—or worse, "
   2.770 +"misleading or destabilising—traces of your missteps and errors in the "
   2.771  "permanent revision record."
   2.772  msgstr ""
   2.773  
   2.774 @@ -13797,23 +13768,23 @@
   2.775  "it much easier to isolate your work.  Your patches live on top of normal "
   2.776  "revision history, and you can make them disappear or reappear at will.  If "
   2.777  "you don't like a patch, you can drop it.  If a patch isn't quite as you want "
   2.778 -"it to be, simply fix it&emdash;as many times as you need to, until you have "
   2.779 -"refined it into the form you desire."
   2.780 +"it to be, simply fix it—as many times as you need to, until you have refined "
   2.781 +"it into the form you desire."
   2.782  msgstr ""
   2.783  
   2.784  #. type: Content of: <book><chapter><sect1><para>
   2.785  #: ../en/ch11-mq.xml:171
   2.786  msgid ""
   2.787  "As an example, the integration of patches with revision control makes "
   2.788 -"understanding patches and debugging their effects&emdash;and their interplay "
   2.789 -"with the code they're based on&emdash;<emphasis>enormously</emphasis> easier. "
   2.790 -"Since every applied patch has an associated changeset, you can give <command "
   2.791 -"role=\"hg-cmd\">hg log</command> a file name to see which changesets and "
   2.792 -"patches affected the file.  You can use the <command role=\"hg-cmd\">hg "
   2.793 -"bisect</command> command to binary-search through all changesets and applied "
   2.794 -"patches to see where a bug got introduced or fixed.  You can use the <command "
   2.795 -"role=\"hg-cmd\">hg annotate</command> command to see which changeset or patch "
   2.796 -"modified a particular line of a source file.  And so on."
   2.797 +"understanding patches and debugging their effects—and their interplay with "
   2.798 +"the code they're based on—<emphasis>enormously</emphasis> easier. Since every "
   2.799 +"applied patch has an associated changeset, you can give <command role=\"hg-cmd"
   2.800 +"\">hg log</command> a file name to see which changesets and patches affected "
   2.801 +"the file.  You can use the <command role=\"hg-cmd\">hg bisect</command> "
   2.802 +"command to binary-search through all changesets and applied patches to see "
   2.803 +"where a bug got introduced or fixed.  You can use the <command role=\"hg-cmd"
   2.804 +"\">hg annotate</command> command to see which changeset or patch modified a "
   2.805 +"particular line of a source file.  And so on."
   2.806  msgstr ""
   2.807  
   2.808  #. type: Content of: <book><chapter><sect1><title>
   2.809 @@ -14190,15 +14161,14 @@
   2.810  msgid ""
   2.811  "Here's an example that illustrates how you can use this ability. Let's say "
   2.812  "you're developing a new feature as two patches.  The first is a change to the "
   2.813 -"core of your software, and the second&emdash;layered on top of the "
   2.814 -"first&emdash;changes the user interface to use the code you just added to the "
   2.815 -"core.  If you notice a bug in the core while you're working on the UI patch, "
   2.816 -"it's easy to fix the core.  Simply <command role=\"hg-ext-mq\">qrefresh</"
   2.817 -"command> the UI patch to save your in-progress changes, and <command role="
   2.818 -"\"hg-ext-mq\">qpop</command> down to the core patch.  Fix the core bug, "
   2.819 -"<command role=\"hg-ext-mq\">qrefresh</command> the core patch, and <command "
   2.820 -"role=\"hg-ext-mq\">qpush</command> back to the UI patch to continue where you "
   2.821 -"left off."
   2.822 +"core of your software, and the second—layered on top of the first—changes the "
   2.823 +"user interface to use the code you just added to the core.  If you notice a "
   2.824 +"bug in the core while you're working on the UI patch, it's easy to fix the "
   2.825 +"core.  Simply <command role=\"hg-ext-mq\">qrefresh</command> the UI patch to "
   2.826 +"save your in-progress changes, and <command role=\"hg-ext-mq\">qpop</command> "
   2.827 +"down to the core patch.  Fix the core bug, <command role=\"hg-ext-mq"
   2.828 +"\">qrefresh</command> the core patch, and <command role=\"hg-ext-mq\">qpush</"
   2.829 +"command> back to the UI patch to continue where you left off."
   2.830  msgstr ""
   2.831  
   2.832  #. type: Content of: <book><chapter><sect1><title>
   2.833 @@ -14501,8 +14471,8 @@
   2.834  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   2.835  #: ../en/ch11-mq.xml:731
   2.836  msgid ""
   2.837 -"A large hunk might apply better&emdash;either entirely or in part&emdash;if "
   2.838 -"it was broken up into smaller hunks."
   2.839 +"A large hunk might apply better—either entirely or in part&emdash;if it was "
   2.840 +"broken up into smaller hunks."
   2.841  msgstr ""
   2.842  
   2.843  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   2.844 @@ -15001,12 +14971,12 @@
   2.845  msgid ""
   2.846  "The <command>diffstat</command> command <citation>web:diffstat</citation> "
   2.847  "generates a histogram of the modifications made to each file in a patch.  It "
   2.848 -"provides a good way to <quote>get a sense of</quote> a patch&emdash;which "
   2.849 -"files it affects, and how much change it introduces to each file and as a "
   2.850 -"whole.  (I find that it's a good idea to use <command>diffstat</command>'s "
   2.851 -"<option role=\"cmd-opt-diffstat\">-p</option> option as a matter of course, "
   2.852 -"as otherwise it will try to do clever things with prefixes of file names that "
   2.853 -"inevitably confuse at least me.)"
   2.854 +"provides a good way to <quote>get a sense of</quote> a patch—which files it "
   2.855 +"affects, and how much change it introduces to each file and as a whole.  (I "
   2.856 +"find that it's a good idea to use <command>diffstat</command>'s <option role="
   2.857 +"\"cmd-opt-diffstat\">-p</option> option as a matter of course, as otherwise "
   2.858 +"it will try to do clever things with prefixes of file names that inevitably "
   2.859 +"confuse at least me.)"
   2.860  msgstr ""
   2.861  
   2.862  #. type: Content of: <book><chapter><sect1><para>
   2.863 @@ -15056,13 +15026,12 @@
   2.864  #: ../en/ch11-mq.xml:1160
   2.865  msgid ""
   2.866  "Be aware of what patch you're working on.  Use the <command role=\"hg-ext-mq"
   2.867 -"\">qtop</command> command and skim over the text of your patches "
   2.868 -"frequently&emdash;for example, using <command role=\"hg-cmd\">hg tip <option "
   2.869 -"role=\"hg-opt-tip\">-p</option></command>)&emdash;to be sure of where you "
   2.870 -"stand.  I have several times worked on and <command role=\"hg-ext-mq"
   2.871 -"\">qrefresh</command>ed a patch other than the one I intended, and it's often "
   2.872 -"tricky to migrate changes into the right patch after making them in the wrong "
   2.873 -"one."
   2.874 +"\">qtop</command> command and skim over the text of your patches frequently—"
   2.875 +"for example, using <command role=\"hg-cmd\">hg tip <option role=\"hg-opt-tip"
   2.876 +"\">-p</option></command>)—to be sure of where you stand.  I have several "
   2.877 +"times worked on and <command role=\"hg-ext-mq\">qrefresh</command>ed a patch "
   2.878 +"other than the one I intended, and it's often tricky to migrate changes into "
   2.879 +"the right patch after making them in the wrong one."
   2.880  msgstr ""
   2.881  
   2.882  #. type: Content of: <book><chapter><sect1><para>
     3.1 --- a/stylesheets/hgbook.css	Tue Mar 31 10:02:16 2009 +0800
     3.2 +++ b/stylesheets/hgbook.css	Tue Mar 31 11:04:18 2009 +0800
     3.3 @@ -1,441 +1,293 @@
     3.4 -body {
     3.5 -  font: 12px/1.5 Verdana, sans-serif;
     3.6 -  padding-top: 50px;
     3.7 -  padding-left: 80px;
     3.8 -  padding-right: 80px;
     3.9 -  padding-bottom: 90px;
    3.10 -}
    3.11 -.ptmr7t- {
    3.12 -  font-family: monospace;
    3.13 -}
    3.14 -.ptmr7t-x-x-172 {
    3.15 -  font-size: 172%;
    3.16 -  font-family: monospace;
    3.17 -}
    3.18 -.ptmr7t-x-x-120 {
    3.19 -  font-size: 120%;
    3.20 -}
    3.21 -.zpzccmry-x-x-120 {
    3.22 -  font-size: 120%;
    3.23 -  font-weight: bold;
    3.24 -  font-style: italic;
    3.25 -}
    3.26 -.zpzccmry-x-x-120 {
    3.27 -  font-weight: bold;
    3.28 -  font-style: italic;
    3.29 -}
    3.30 -.pcrr7tn- {
    3.31 -  font-family: monospace;
    3.32 -}
    3.33 -.ptmri7t- {
    3.34 -  font-style: italic;
    3.35 -}
    3.36 -.ptmr7t-x-x-50 {
    3.37 -  font-size: 50%;
    3.38 -  font-family: monospace;
    3.39 -}
    3.40 -.ptmb7t- {
    3.41 -  font-weight: bold;
    3.42 -}
    3.43 -.zptmcmr- {
    3.44 -  font-style: italic;
    3.45 -}
    3.46 -.zptmcmrm- {
    3.47 -  font-style: italic;
    3.48 -}
    3.49 -.zpzccmry- {
    3.50 -  font-weight: bold;
    3.51 -  font-style: italic;
    3.52 -}
    3.53 -.pcrb7t- {
    3.54 -  font-family: monospace;
    3.55 -  font-weight: bold;
    3.56 -}
    3.57 -.pcrro7t- {
    3.58 -  font-family: monospace;
    3.59 -  font-style: oblique;
    3.60 -}
    3.61 -p.noindent {
    3.62 -  text-indent: 0em;
    3.63 -  margin: 0em;
    3.64 -}
    3.65 -p.nopar {
    3.66 -  text-indent: 0em;
    3.67 -}
    3.68 -p.indent {
    3.69 -  text-indent: 1.5em;
    3.70 -  margin: 0em;
    3.71 -}
    3.72 -a img {
    3.73 -  border-top: 0;
    3.74 -  border-left: 0;
    3.75 -  border-right: 0;
    3.76 -}
    3.77 -center {
    3.78 -  margin-top: 1em;
    3.79 -  margin-bottom: 1em;
    3.80 -}
    3.81 -td center {
    3.82 -  margin-top: 0em;
    3.83 -  margin-bottom: 0em;
    3.84 -}
    3.85 -.Canvas {
    3.86 -  position: relative;
    3.87 -}
    3.88 -img.math {
    3.89 -  vertical-align: middle;
    3.90 -}
    3.91 -li p.indent {
    3.92 -  text-indent: 0em;
    3.93 -}
    3.94 -.enumerate1 {
    3.95 -  list-style-type: decimal;
    3.96 -}
    3.97 -.enumerate2 {
    3.98 -  list-style-type: lower-alpha;
    3.99 -}
   3.100 -.enumerate3 {
   3.101 -  list-style-type: lower-roman;
   3.102 -}
   3.103 -.enumerate4 {
   3.104 -  list-style-type: upper-alpha;
   3.105 -}
   3.106 -div.newtheorem {
   3.107 -  margin-bottom: 2em;
   3.108 -  margin-top: 2em;
   3.109 -}
   3.110 -.obeylines-h,.obeylines-v {
   3.111 -  white-space: nowrap;
   3.112 -}
   3.113 -div.obeylines-v p {
   3.114 -  margin-top: 0;
   3.115 -  margin-bottom: 0;
   3.116 -}
   3.117 -.overline {
   3.118 -  text-decoration: overline;
   3.119 -}
   3.120 -.overline img {
   3.121 -  border-top: 1px solid black;
   3.122 -}
   3.123 -td.displaylines {
   3.124 -  text-align: center;
   3.125 -  white-space: nowrap;
   3.126 -}
   3.127 -.centerline {
   3.128 -  text-align: center;
   3.129 -}
   3.130 -.rightline {
   3.131 -  text-align: right;
   3.132 -}
   3.133 -div.verbatim {
   3.134 -  font-family: monospace;
   3.135 -  white-space: nowrap;
   3.136 -}
   3.137 -table.verbatim {
   3.138 -  width: 100%;
   3.139 -}
   3.140 -.fbox {
   3.141 -  background: url(note.png) no-repeat #cec;
   3.142 -  padding-left: 65px;
   3.143 -  padding-top: 1em;
   3.144 -  padding-bottom: 1em;
   3.145 -  padding-right: 1em;
   3.146 -  text-indent: 0pt;
   3.147 -  border: dotted black 1px;
   3.148 -}
   3.149 -div.center div.fbox {
   3.150 -  text-align: center;
   3.151 -  clear: both;
   3.152 -  padding-left: 3.0pt;
   3.153 -  padding-right: 3.0pt;
   3.154 -  text-indent: 0pt;
   3.155 -  border: solid black 0.4pt;
   3.156 -}
   3.157 -table.minipage {
   3.158 -  width: 100%;
   3.159 -}
   3.160 -div.center, div.center div.center {
   3.161 -  text-align: center;
   3.162 -  margin-left: 1em;
   3.163 -  margin-right: 1em;
   3.164 -}
   3.165 -div.center div {
   3.166 -  text-align: left;
   3.167 -}
   3.168 -div.flushright, div.flushright div.flushright {
   3.169 -  text-align: right;
   3.170 -}
   3.171 -div.flushright div {
   3.172 -  text-align: left;
   3.173 -}
   3.174 -div.flushleft {
   3.175 -  text-align: left;
   3.176 -}
   3.177 -.underline {
   3.178 -  text-decoration: underline;
   3.179 -}
   3.180 -.underline img {
   3.181 -  border-bottom: 1px solid black;
   3.182 -  margin-bottom: 1pt;
   3.183 -}
   3.184 -.framebox-c, .framebox-l, .framebox-r {
   3.185 -  padding-left: 3.0pt;
   3.186 -  padding-right: 3.0pt;
   3.187 -  text-indent: 0pt;
   3.188 -  border: solid black 0.4pt;
   3.189 -}
   3.190 -.framebox-c {
   3.191 -  text-align: center;
   3.192 -}
   3.193 -.framebox-l {
   3.194 -  text-align: left;
   3.195 -}
   3.196 -.framebox-r {
   3.197 -  text-align: right;
   3.198 -}
   3.199 -span.thank-mark {
   3.200 -  vertical-align: super
   3.201 -}
   3.202 -span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript {
   3.203 -  font-size: 80%;
   3.204 -}
   3.205 -div.tabular, div.center div.tabular {
   3.206 -  text-align: center;
   3.207 -  margin-top: 0.5em;
   3.208 -  margin-bottom: 0.5em;
   3.209 -}
   3.210 -table.tabular td p {
   3.211 -  margin-top: 0em;
   3.212 -}
   3.213 -table.tabular {
   3.214 -  margin-left: auto;
   3.215 -  margin-right: auto;
   3.216 -}
   3.217 -div.td00 {
   3.218 -  margin-left: 0pt;
   3.219 -  margin-right: 0pt;
   3.220 -}
   3.221 -div.td01 {
   3.222 -  margin-left: 0pt;
   3.223 -  margin-right: 5pt;
   3.224 -}
   3.225 -div.td10 {
   3.226 -  margin-left: 5pt;
   3.227 -  margin-right: 0pt;
   3.228 -}
   3.229 -div.td11 {
   3.230 -  margin-left: 5pt;
   3.231 -  margin-right: 5pt;
   3.232 -}
   3.233 -table[rules] {
   3.234 -  border-left: solid black 0.4pt;
   3.235 -  border-right: solid black 0.4pt;
   3.236 -}
   3.237 -td.td00 {
   3.238 -  padding-left: 0pt;
   3.239 -  padding-right: 0pt;
   3.240 -}
   3.241 -td.td01 {
   3.242 -  padding-left: 0pt;
   3.243 -  padding-right: 5pt;
   3.244 -}
   3.245 -td.td10 {
   3.246 -  padding-left: 5pt;
   3.247 -  padding-right: 0pt;
   3.248 -}
   3.249 -td.td11 {
   3.250 -  padding-left: 5pt;
   3.251 -  padding-right: 5pt;
   3.252 -}
   3.253 -table[rules] {
   3.254 -  border-left: solid black 0.4pt;
   3.255 -  border-right: solid black 0.4pt;
   3.256 -}
   3.257 -.hline hr, .cline hr {
   3.258 -  height : 1px;
   3.259 -  margin: 0px;
   3.260 -}
   3.261 -.tabbing-right {
   3.262 -  text-align: right;
   3.263 -}
   3.264 -span.TEX {
   3.265 -  letter-spacing: -0.125em;
   3.266 -}
   3.267 -span.TEX span.E {
   3.268 -  position: relative;top: 0.5ex;left: -0.0417em;
   3.269 -}
   3.270 -a span.TEX span.E {
   3.271 -  text-decoration: none;
   3.272 -}
   3.273 -span.LATEX span.A {
   3.274 -  position: relative;
   3.275 -  top: -0.5ex;
   3.276 -  left: -0.4em;
   3.277 -  font-size: 85%;
   3.278 -}
   3.279 -span.LATEX span.TEX {
   3.280 -  position: relative;
   3.281 -  left: -0.4em;
   3.282 -}
   3.283 -div.float img, div.float .caption {
   3.284 -  text-align: center;
   3.285 -}
   3.286 -div.figure img, div.figure .caption {
   3.287 -  text-align: center;
   3.288 -}
   3.289 -.marginpar {
   3.290 -  width: 20%;
   3.291 -  float: right;
   3.292 -  text-align: left;
   3.293 -  margin-left: auto;
   3.294 -  margin-top: 0.5em;
   3.295 -  font-size: 85%;
   3.296 -  text-decoration: underline;
   3.297 -}
   3.298 -.marginpar p {
   3.299 -  margin-top: 0.4em;
   3.300 -  margin-bottom: 0.4em;
   3.301 -}
   3.302 -table.equation {
   3.303 -  width: 100%;
   3.304 -}
   3.305 -.equation td {
   3.306 -  text-align: center;
   3.307 -}
   3.308 -td.equation {
   3.309 -  margin-top: 1em;
   3.310 -  margin-bottom: 1em;
   3.311 -} 
   3.312 -td.equation-label {
   3.313 -  width: 5%;
   3.314 -  text-align: center;
   3.315 -}
   3.316 -td.eqnarray4 {
   3.317 -  width: 5%;
   3.318 -  white-space: normal;
   3.319 -}
   3.320 -td.eqnarray2 {
   3.321 -  width: 5%;
   3.322 -}
   3.323 -table.eqnarray-star, table.eqnarray {
   3.324 -  width: 100%;
   3.325 -}
   3.326 -div.eqnarray {
   3.327 -  text-align: center;
   3.328 -}
   3.329 -div.array {
   3.330 -  text-align: center;
   3.331 -}
   3.332 -div.pmatrix {
   3.333 -  text-align: center;
   3.334 -}
   3.335 -table.pmatrix {
   3.336 -  width: 100%;
   3.337 -}
   3.338 -span.pmatrix img {
   3.339 -  vertical-align: middle;
   3.340 -}
   3.341 -div.pmatrix {
   3.342 -  text-align: center;
   3.343 -}
   3.344 -table.pmatrix {
   3.345 -  width: 100%;
   3.346 -}
   3.347 -img.cdots {
   3.348 -  vertical-align: middle;
   3.349 -}
   3.350 -.partToc a, .partToc, .likepartToc a, .likepartToc {
   3.351 -  line-height: 200%;
   3.352 -  font-weight: bold;
   3.353 -  font-size: 110%;
   3.354 -}
   3.355 -.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {
   3.356 -  line-height: 200%;
   3.357 -  font-weight: bold;
   3.358 -}
   3.359 -.caption td.id {
   3.360 -  font-weight: bold;
   3.361 -  white-space: nowrap;
   3.362 -}
   3.363 -table.caption {
   3.364 -  text-align: center;
   3.365 -}
   3.366 -h1.partHead {
   3.367 -  text-align: center;
   3.368 -}
   3.369 -p.bibitem {
   3.370 -  text-indent: -2em;
   3.371 -  margin-left: 2em;
   3.372 -  margin-top: 0.6em;
   3.373 -  margin-bottom: 0.6em;
   3.374 -}
   3.375 -p.bibitem-p {
   3.376 -  text-indent: 0em;
   3.377 -  margin-left: 2em;
   3.378 -  margin-top: 0.6em;
   3.379 -  margin-bottom: 0.6em;
   3.380 -}
   3.381 -.paragraphHead, .likeparagraphHead {
   3.382 -  margin-top: 2em;
   3.383 -  font-weight: bold;
   3.384 -}
   3.385 -.subparagraphHead, .likesubparagraphHead {
   3.386 -  font-weight: bold;
   3.387 -}
   3.388 -.quote {
   3.389 -  margin-bottom: 0.25em;
   3.390 -  margin-top: 0.25em;
   3.391 -  margin-left: 1em;
   3.392 -  margin-right: 1em;
   3.393 -  text-align: justify;
   3.394 -}
   3.395 -.verse {
   3.396 -  white-space: nowrap;
   3.397 -  margin-left: 2em}
   3.398 -div.maketitle {
   3.399 -  text-align: center;
   3.400 -}
   3.401 -h2.titleHead {
   3.402 -  text-align: center;
   3.403 -}
   3.404 -div.maketitle {
   3.405 -  margin-bottom: 2em;
   3.406 -}
   3.407 -div.author, div.date {
   3.408 -  text-align: center;
   3.409 -}
   3.410 -div.thanks {
   3.411 -  text-align: left;
   3.412 -  margin-left: 10%;
   3.413 -  font-size: 85%;
   3.414 -  font-style: italic;
   3.415 -}
   3.416 -div.author {
   3.417 -  white-space: nowrap;
   3.418 -}
   3.419 -.quotation {
   3.420 -  margin-bottom: 0.25em;
   3.421 -  margin-top: 0.25em;
   3.422 -  margin-left: 1em;
   3.423 -}
   3.424 -h1.partHead {
   3.425 -  text-align: center;
   3.426 -}
   3.427 -img.graphics {
   3.428 -  margin-left: 10%;
   3.429 -}
   3.430 -.figure {
   3.431 -  width: 100%;
   3.432 -}
   3.433 -P.fancyvrb {
   3.434 -  white-space: nowrap;
   3.435 -}
   3.436 -hr {
   3.437 -  border: 0;
   3.438 -  height: 1px;
   3.439 -}
   3.440 -div#fancyvrb {
   3.441 -  white-space: nowrap;
   3.442 -  background: #eee;
   3.443 -  padding: 1em;
   3.444 -}
   3.445 +body
   3.446 +{
   3.447 +    background: white;
   3.448 +    margin: 1in;
   3.449 +    font-family: Georgia,SimSun,serif;
   3.450 +}
   3.451 +
   3.452 +p, li, ul, ol, dd, dt
   3.453 +{
   3.454 +    font-style: normal;
   3.455 +    font-weight: normal;
   3.456 +    color: black;
   3.457 +}
   3.458 +
   3.459 +tt, pre
   3.460 +{
   3.461 +    font-family: Consolas,KaiTi,FangSong,SimSun,monospace;
   3.462 +}
   3.463 +
   3.464 +a
   3.465 +{
   3.466 +    color: blue;
   3.467 +    text-decoration: underline;
   3.468 +}    
   3.469 +
   3.470 +a:hover 
   3.471 +{
   3.472 +    background: rgb(75%,75%,100%);
   3.473 +    color: blue;
   3.474 +    text-decoration: underline;
   3.475 +}
   3.476 +
   3.477 +a:visited 
   3.478 +{
   3.479 +    color: purple;
   3.480 +    text-decoration: underline;
   3.481 +}
   3.482 +
   3.483 +img
   3.484 +{
   3.485 +    border: none;
   3.486 +}
   3.487 +
   3.488 +h1.title
   3.489 +{
   3.490 +    font-size: 250%;
   3.491 +    font-style: normal;
   3.492 +    font-weight: bold;
   3.493 +    color: black;
   3.494 +}
   3.495 +
   3.496 +h2.subtitle
   3.497 +{
   3.498 +    font-size: 150%;
   3.499 +    font-style: italic;
   3.500 +    color: black;
   3.501 +}
   3.502 +
   3.503 +h2.title
   3.504 +{
   3.505 +    font-size: 150%;
   3.506 +    font-style: normal;
   3.507 +    font-weight: bold;
   3.508 +    color: black;
   3.509 +}
   3.510 +
   3.511 +h3.title
   3.512 +{
   3.513 +    font-size: 125%;
   3.514 +    font-style: normal;
   3.515 +    font-weight: bold;
   3.516 +    color: black;
   3.517 +}
   3.518 +
   3.519 +h4.title
   3.520 +{
   3.521 +    font-size: 100%;
   3.522 +    font-style: normal;
   3.523 +    font-weight: bold;
   3.524 +    color: black;
   3.525 +}
   3.526 +
   3.527 +strong
   3.528 +{
   3.529 +    font-weight: normal;
   3.530 +}
   3.531 +
   3.532 +.toc b
   3.533 +{
   3.534 +    font-family: Verdana,SimHei,sans-serif;
   3.535 +    font-size: 120%;
   3.536 +    font-style: normal;
   3.537 +    font-weight: bold;
   3.538 +    color: black;
   3.539 +}
   3.540 +
   3.541 +.title
   3.542 +{
   3.543 +    font-family: Verdana,SimHei,sans-serif;
   3.544 +}
   3.545 +
   3.546 +.screen, .programlisting, .structname
   3.547 +{
   3.548 +    font-family: Consolas,KaiTi,FangSong,SimSun,monospace;
   3.549 +    font-style: normal;
   3.550 +    font-weight: normal;
   3.551 +}
   3.552 +
   3.553 +.userinput
   3.554 +{
   3.555 +    font-weight: normal;
   3.556 +}
   3.557 +
   3.558 +.command
   3.559 +{
   3.560 +    font-style: italic;
   3.561 +}
   3.562 +
   3.563 +.filename
   3.564 +{
   3.565 +    font-family: Georgia,SimSun,serif;
   3.566 +    font-style: italic;
   3.567 +}
   3.568 +
   3.569 +.figure, .example, .table
   3.570 +{
   3.571 +    margin: 0.125in 0.25in;
   3.572 +}
   3.573 +
   3.574 +.figure p.title b, .example p.title b, .table p.title b
   3.575 +{
   3.576 +    font-family: Georgia,SimSun,serif;
   3.577 +    font-size: 80%;
   3.578 +    font-style: italic;
   3.579 +    font-weight: normal;
   3.580 +}
   3.581 +
   3.582 +.table table
   3.583 +{
   3.584 +    border-width: 1px;
   3.585 +    border-style: solid;
   3.586 +    border-color: black;
   3.587 +    border-spacing: 0;
   3.588 +    background: rgb(240,240,240);
   3.589 +}
   3.590 +
   3.591 +.table td
   3.592 +{
   3.593 +    border: none;
   3.594 +    border-right: 1px black solid;
   3.595 +    border-bottom: 1px black solid;
   3.596 +    padding: 2px;
   3.597 +}
   3.598 +
   3.599 +.table th
   3.600 +{
   3.601 +    background: rgb(180,180,180);
   3.602 +    border: none;
   3.603 +    border-right: 1px black solid;
   3.604 +    border-bottom: 1px black solid;
   3.605 +    padding: 2px;
   3.606 +}
   3.607 +
   3.608 +.table p.title, .figure p.title, .example p.title
   3.609 +{
   3.610 +    text-align: left !important;
   3.611 +    font-size: 100% !important;
   3.612 +}
   3.613 +
   3.614 +.author, .pubdate
   3.615 +{
   3.616 +    margin: 0;
   3.617 +    font-size: 100%;
   3.618 +    font-style: italic;
   3.619 +    font-weight: normal;
   3.620 +    color: black;
   3.621 +}
   3.622 +
   3.623 +.preface div.author, .preface .pubdate
   3.624 +{
   3.625 +    font-size: 80%;
   3.626 +}
   3.627 +
   3.628 +.sidebar 
   3.629 +{
   3.630 +    border-top: dotted 1px black;
   3.631 +    border-left: dotted 1px black;
   3.632 +    border-right: solid 2px black;
   3.633 +    border-bottom: solid 2px black;
   3.634 +    background: rgb(240,220,170);
   3.635 +    padding: 0 0.12in;
   3.636 +    margin: 0.25in;
   3.637 +}
   3.638 +
   3.639 +.note .programlisting, .note .screen, 
   3.640 +.tip .programlisting, .tip .screen, 
   3.641 +.warning .programlisting, .warning .screen, 
   3.642 +.sidebar .programlisting, .sidebar .screen
   3.643 +{
   3.644 +    border: none;
   3.645 +    background: none;
   3.646 +}
   3.647 +
   3.648 +.sidebar p.title
   3.649 +{
   3.650 +    text-align: center;
   3.651 +    font-size: 125%;
   3.652 +}
   3.653 +
   3.654 +.note, .tip, .warning
   3.655 +{
   3.656 +    border: black solid 1px;
   3.657 +    margin: 0.125in 0;
   3.658 +    padding: 0 55px;
   3.659 +    font-size: 90%;
   3.660 +}
   3.661 +
   3.662 +.note
   3.663 +{
   3.664 +    background: url(./figs/note.png) no-repeat rgb(252,246,220);
   3.665 +}
   3.666 +
   3.667 +.tip
   3.668 +{
   3.669 +    background: url(./figs/tip.png) no-repeat rgb(224,244,255);
   3.670 +}
   3.671 +
   3.672 +.warning
   3.673 +{
   3.674 +    background: url(./figs/warning.png) no-repeat rgb(255,210,210);
   3.675 +}
   3.676 +
   3.677 +.note .title, .tip .title, .warning .title
   3.678 +{
   3.679 +    display: none;
   3.680 +}
   3.681 +
   3.682 +.programlisting, .screen
   3.683 +{
   3.684 +    font-size: 90%;
   3.685 +    color: black;
   3.686 +    margin: 1em 0.25in;
   3.687 +    padding: 0.5em;
   3.688 +    background: rgb(240,240,240);
   3.689 +    border-top: black dotted 1px;
   3.690 +    border-left: black dotted 1px;
   3.691 +    border-right: black solid 2px;
   3.692 +    border-bottom: black solid 2px;
   3.693 +}
   3.694 +
   3.695 +.navheader, .navfooter
   3.696 +{
   3.697 +    border: black solid 1px;
   3.698 +    background: rgb(180,180,200);
   3.699 +}
   3.700 +
   3.701 +.navheader hr, .navfooter hr
   3.702 +{
   3.703 +    display: none;
   3.704 +}
   3.705 +
   3.706 +#svn-footer
   3.707 +{
   3.708 +    font-size: 80%;
   3.709 +    text-align: center;
   3.710 +}
   3.711 +
   3.712 +#svn-footer hr
   3.713 +{
   3.714 +    display: none;
   3.715 +}
   3.716 +
   3.717 +/* --------------------- */
   3.718 +/* PRINT MEDIA OVERRIDES */
   3.719 +/* --------------------- */
   3.720 +
   3.721 +@media print
   3.722 +{
   3.723 +    body 
   3.724 +    {
   3.725 +        margin: 0;
   3.726 +    }
   3.727 +
   3.728 +    .navheader, .navfooter
   3.729 +    {
   3.730 +        display: none;
   3.731 +    }
   3.732 +
   3.733 +    #svn-footer hr
   3.734 +    {
   3.735 +        display: block;
   3.736 +    }
   3.737 +}