├── .gitignore ├── LICENSE.md ├── README.md ├── aboly.tex ├── autobody.py ├── autocharacters.py ├── autolybody.py ├── autotopics.py ├── body.tex ├── buildaboly.py ├── buildly.py ├── characters.tex ├── characters_map.txt ├── cover.tex ├── coverly.tex ├── img ├── bi.tex ├── chap1.pdf ├── chap10.pdf ├── chap11.pdf ├── chap12.pdf ├── chap13.pdf ├── chap14.pdf ├── chap15.pdf ├── chap16.pdf ├── chap17.pdf ├── chap18.pdf ├── chap19.pdf ├── chap2.pdf ├── chap20.pdf ├── chap3.pdf ├── chap4.pdf ├── chap5.pdf ├── chap6.pdf ├── chap7.pdf ├── chap8.pdf ├── chap9.pdf ├── characters.pdf ├── gui.tex ├── guide.pdf ├── preface.pdf ├── qing.tex ├── references.pdf ├── topics.pdf ├── usage.pdf └── zhi.pdf ├── license.tex ├── ly.tex ├── preface.tex ├── rawblobs.py ├── references.tex ├── style.tex ├── topics.tex ├── usage.tex └── validate.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.aux 2 | *.log 3 | *.out 4 | *.pyc 5 | *.toc 6 | 7 | aboly.pdf 8 | ly.pdf 9 | 10 | autobody.tex 11 | autocharacters.tex 12 | autolybody.tex 13 | autotopics.tex 14 | 15 | abolylog.txt 16 | buildnoaboly.txt 17 | buildnoly.txt 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Unless otherwise specified, everything in this repository is covered by the Creative Commons BY-NC-ND license: 2 | 3 | [![Creative Commons License](https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png)](https://creativecommons.org/licenses/by-nc-nd/3.0/) 4 | 5 | 中国大陆版:https://creativecommons.org/licenses/by-nc-nd/3.0/cn/ 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 一瓶论语 | A Bottle of Lún Yǔ 2 | 3 | The aboly project produces a commented version and an original version of [Lún Yǔ](https://en.wikipedia.org/wiki/Analects), an ancient Chinese book. 4 | 5 | Thus, the preferred language of this project is Chinese. 6 | 7 | If you want to: 8 | 9 | * learn something about the [Classical Chinese](https://en.wikipedia.org/wiki/Classical_Chinese) language, or to 10 | * touch the traditional spirit of the Chinese people, 11 | 12 | don't hesitate to dive in! 13 | 14 | Any feedback is welcome, in Chinese, English, or one that [Google Translate](https://translate.google.com) handles nicely. 15 | 16 | Web site (Chinese): https://www.abolybook.org 17 | 18 | ------ 19 | 20 | 本项目生成2本PDF电子书: 21 | 22 | - aboly.pdf:注释版,即《一瓶论语》,使用 buildaboly.py 编译 23 | - ly.pdf:白文版,即《论语》原文,使用 buildly.py 编译 24 | 25 | 下载: 26 | 27 | - GitHub:https://github.com/abolybook/aboly/releases 28 | - 百度网盘备份:https://pan.baidu.com/s/1eRp6vMq 29 | 30 | 编译用到了: 31 | 32 | - xelatex,调用的包和字体见 style.tex 33 | - Python 3,调用了 [pinyin](https://pypi.python.org/pypi/pinyin/) 34 | 35 | 在线版(更新较快):https://www.abolybook.org 36 | -------------------------------------------------------------------------------- /aboly.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper, openany, oneside, 12pt]{book} 2 | 3 | \input{style.tex} 4 | 5 | 6 | \usepackage{tikz} 7 | \usepackage{standalone} 8 | 9 | 10 | \usepackage[ 11 | unicode, 12 | bookmarks=true, 13 | bookmarksnumbered=true, 14 | pdfpagemode=UseOutlines, 15 | pdfstartview=FitH, 16 | pdfpagelayout=OneColumn, 17 | colorlinks=true, 18 | allcolors=black, 19 | ]{hyperref} 20 | 21 | \hypersetup{ 22 | pdftitle=一瓶论语, 23 | pdfauthor=孔子 原著,abolybook@gmail.com 译评制作, 24 | pdfsubject=, 25 | pdfkeywords={\versioninfoaboly}, 26 | pdfcreator=XeLaTeX with Python, 27 | } 28 | 29 | 30 | %============================================================ 31 | 32 | \begin{document} 33 | 34 | \lyblobmark[0]{一瓶论语} 35 | \include{cover} 36 | \include{license} 37 | 38 | \frontmatter 39 | 40 | % Enlarge inter-paragraph distance. 41 | \newlength{\oldparskip} 42 | \setlength{\oldparskip}{\parskip} 43 | \addtolength{\parskip}{0.12\baselineskip} 44 | 45 | \renewcommand{\lyheaderimg}{preface} 46 | \include{preface} 47 | 48 | \renewcommand{\lyheaderimg}{usage} 49 | \include{usage} 50 | 51 | \renewcommand{\lyheaderimg}{guide} 52 | %\include{guide} 53 | 54 | 55 | % Restore inter-paragraph distance. 56 | \setlength{\parskip}{\oldparskip} 57 | 58 | \lyblobmark[0]{目录} 59 | \tableofcontents % The TOC is expected to appear on a single page, 60 | % otherwise a header image should be added for it. 61 | 62 | \mainmatter 63 | 64 | \renewcommand{\lyheaderimg}{chap\thechapter} 65 | \include{autobody} 66 | 67 | 68 | % Appendixes. 69 | \makeatother 70 | 71 | \titleformat{\chapter}[block] 72 | {\fontsize{\lyszchaptertitle}{\lyszchaptertitle * \real{1.2}}\selectfont\CJKfamily{fttitle}\filcenter} 73 | {} 74 | {1em}{} 75 | 76 | \titlecontents{chapter} 77 | [0em] 78 | {\bfseries} 79 | {} 80 | {} 81 | {\dotfill\textrm{\contentspage[{\bfseries\thecontentspage}]}} 82 | 83 | 84 | \renewcommand{\lyheaderimg}{characters} 85 | \include{autocharacters} 86 | 87 | 88 | \renewcommand{\lyheaderimg}{topics} 89 | \include{autotopics} 90 | 91 | 92 | \renewcommand{\lyheaderimg}{references} 93 | \include{references} 94 | 95 | \end{document} 96 | -------------------------------------------------------------------------------- /autobody.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | import io 5 | import sys 6 | 7 | 8 | # \lychar* --> \lycharlink 9 | def auto_lychars(bodyfile, cmapfile, encoding): 10 | with io.open(bodyfile, encoding=encoding) as fin: 11 | body = fin.read() 12 | with io.open(cmapfile, encoding=encoding) as fin: 13 | cmaps = fin.read().splitlines() 14 | for cm in cmaps: 15 | chunks = cm.split(' ') 16 | target = chunks[-1] 17 | for name in chunks[:-1]: 18 | old = r'\lychar{%s}' % name 19 | repl = r'\lycharlink{%s}{%s}' % (target, name) 20 | body = body.replace(old, repl) 21 | 22 | specials = { 23 | r'\lychar{伯夷}': r'\lycharlink{boyishuqi}{伯夷}', 24 | r'\lychar{叔齐}': r'\lycharlink{boyishuqi}{叔齐}', 25 | } 26 | for old, repl in specials.items(): 27 | body = body.replace(old, repl) 28 | return body 29 | 30 | 31 | def main(): 32 | CHARACTERS_MAP = 'characters_map.txt' 33 | ENCODING = 'utf-8' 34 | BODY = 'body.tex' 35 | BODY_OUT = 'autobody.tex' 36 | 37 | body = auto_lychars(BODY, CHARACTERS_MAP, ENCODING) 38 | 39 | with io.open(BODY_OUT, 'w', encoding=ENCODING) as fout: 40 | fout.write(body) 41 | 42 | 43 | if __name__ == '__main__': 44 | sys.exit(main()) 45 | -------------------------------------------------------------------------------- /autocharacters.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | import io 5 | import re 6 | import sys 7 | 8 | 9 | def extract_blob_title(content): 10 | r'''Extract text inside \lyblob{}.''' 11 | left = content.index('{') + 1 12 | right = left 13 | count = 1 14 | while count != 0: 15 | if content[right] == '{': 16 | count += 1 17 | elif content[right] == '}': 18 | count -= 1 19 | right += 1 20 | return content[left:right] 21 | 22 | 23 | def get_charname_blobs(content): 24 | '''Return a dict of character names to lists of blob labels.''' 25 | CHAPTER_PREFIX = r'\chapter' 26 | BLOB_PREFIX = r'\lyblob' 27 | BLOB_TEMPLATE = '%d.%d' 28 | CHARNAME_PAT = re.compile(r'\\lycharlink\{(.+?)\}\{.+?\}') 29 | chapter_count = 0 30 | blob_count = 0 31 | 32 | lines = content.splitlines(True) 33 | c2bs = {} 34 | for line in lines: 35 | if line.lstrip().startswith(CHAPTER_PREFIX): 36 | chapter_count += 1 37 | blob_count = 0 38 | elif line.lstrip().startswith(BLOB_PREFIX): 39 | blob_count += 1 40 | left = content.index(line) 41 | assert content[left + len(line):].find( 42 | line # no duplicate \lyblob lines except one case 43 | ) == -1 or '子曰:“巧言令色,鲜矣仁。”' in line 44 | title = extract_blob_title(content[left:]) 45 | mats = CHARNAME_PAT.finditer(title) 46 | if mats: 47 | blob = BLOB_TEMPLATE % (chapter_count, blob_count) 48 | # if blob == BLOB_TEMPLATE % (11, 3): # skip 四科十哲 49 | # continue 50 | for m in mats: 51 | charname = m.group(1) 52 | if charname not in c2bs: 53 | c2bs[charname] = [blob] 54 | else: 55 | if blob not in c2bs[charname]: 56 | c2bs[charname].append(blob) 57 | return c2bs 58 | 59 | 60 | def append_annotation(seg, annotation): 61 | insert_pos = len(seg) 62 | while seg[insert_pos - 1].isspace(): 63 | insert_pos -= 1 64 | return seg[:insert_pos] + annotation + seg[insert_pos:] 65 | 66 | 67 | def append_annotations(content, charname_blobs): 68 | removecomment_pat = re.compile(r'(? 1: 129 | segment = sorted_counts[start:stop] 130 | segment.sort(key=lambda x: pinyin.get(x[0])) 131 | sorted_counts[start:stop] = segment 132 | start, stop = stop, stop + 1 133 | 134 | # Dump topics. 135 | with io.open(TOPICS, encoding=ENCODING) as fin: 136 | template = fin.read() 137 | with io.open(AUTOTOPICS, 'w', encoding=ENCODING) as fout: 138 | insersion = template.index(INSERSION_POINT) 139 | prolog, epilog = template[:insersion], template[insersion + 140 | len(INSERSION_POINT):] 141 | fout.write(prolog) 142 | for i, x in enumerate(sorted_counts): 143 | k, v = x 144 | if v <= SHORT_TOPIC_THRESHOLD: 145 | break 146 | topic = TOPIC_TEMPLATE % (k, v, ' '.join(BLOB_REF % v 147 | for v in topics[k])) 148 | if k in topic_labels: 149 | topic = '\\lylabel{%s}\n%s' % (topic_labels[k], topic) 150 | fout.write(topic) 151 | # Short topics. 152 | sclen = len(sorted_counts) 153 | while i < sclen: 154 | count = sorted_counts[i][1] 155 | sts = [] 156 | while i < sclen and sorted_counts[i][1] == count: 157 | k = sorted_counts[i][0] 158 | sts.append(SHORT_TOPIC_T % (k, ' '.join(BLOB_REF % v 159 | for v in topics[k]))) 160 | i += 1 161 | line = SHORT_TOPICS_TEMPLATE % (count, SHORT_TOPICS_SEP.join(sts)) 162 | fout.write(line) 163 | fout.write(epilog) 164 | 165 | 166 | # # Dump summary. 167 | # summary = '\n'.join('%s\t%d' % (v[0], v[1]) for v in sorted_counts) 168 | # with io.open(SUMMARY, 'w', encoding=ENCODING) as f: 169 | # f.write(summary) 170 | 171 | 172 | def main(): 173 | hack_pinyin() 174 | topics = extract_topics() 175 | dump_topics(topics) 176 | 177 | 178 | if __name__ == '__main__': 179 | sys.exit(main()) 180 | -------------------------------------------------------------------------------- /buildaboly.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # coding: utf-8 3 | 4 | from __future__ import unicode_literals, print_function 5 | import logging 6 | import os 7 | import subprocess 8 | import sys 9 | 10 | import validate 11 | 12 | 13 | def main(): 14 | BUILD_CMD = [ 15 | 'xelatex', 16 | '-output-driver', 17 | 'xdvipdfmx -C 0x0010', 18 | r'\newcommand\buildnoaboly{%d} \newcommand{\lycommitno}{%s} \input{aboly.tex}' 19 | ] 20 | COMMITNO_CMD = ['git', 'rev-parse', 'HEAD'] 21 | BUILDNO_FILE = 'buildnoaboly.txt' # shabby toy of my own; not included in the GitHub project 22 | LOG_FILE = 'abolylog.txt' 23 | 24 | logging.basicConfig( 25 | format='【%(asctime)s - %(levelname)s】%(message)s', 26 | filename=LOG_FILE, 27 | filemode='w', # or 'a' 28 | level=logging.INFO) 29 | log = logging.getLogger() 30 | log.addHandler(logging.StreamHandler()) # log to file and stderr 31 | 32 | for f in ('autobody.py', 'autocharacters.py', 'autotopics.py'): 33 | if subprocess.call([sys.executable, f]) != 0: 34 | log.error('Failed to run %s', f) 35 | return 1 36 | 37 | for validator in validate.validators: 38 | if not validator(log): 39 | log.error('Failed validator %s', validator.__name__) 40 | return 1 41 | 42 | buildno = 0 43 | use_buildno_file = os.path.isfile(BUILDNO_FILE) 44 | if use_buildno_file: 45 | try: 46 | with open(BUILDNO_FILE) as fin: 47 | buildno = int(fin.read()) + 1 48 | except Exception: 49 | log.warning('No build number') 50 | use_buildno_file = False 51 | try: 52 | commitno = subprocess.check_output(COMMITNO_CMD).strip().decode( 53 | 'ascii') 54 | except subprocess.CalledProcessError: 55 | log.warning('No commit number') 56 | commitno = 0 57 | BUILD_CMD[-1] = BUILD_CMD[-1] % (buildno, commitno) 58 | r = subprocess.call(BUILD_CMD) 59 | if r != 0: 60 | log.error('Failed to build aboly with error code %d', r) 61 | elif use_buildno_file: 62 | with open(BUILDNO_FILE, 'w') as fout: 63 | fout.write(str(buildno)) 64 | logging.shutdown() 65 | if os.path.isfile(LOG_FILE) and os.stat(LOG_FILE).st_size != 0: 66 | print('Check your log file:', LOG_FILE) 67 | return r 68 | 69 | 70 | if __name__ == '__main__': 71 | sys.exit(main()) 72 | -------------------------------------------------------------------------------- /buildly.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # coding: utf-8 3 | 4 | from __future__ import unicode_literals, print_function 5 | import os 6 | import subprocess 7 | import sys 8 | 9 | 10 | def main(): 11 | BUILD_CMD = [ 12 | 'xelatex', 13 | '-output-driver', 14 | 'xdvipdfmx -C 0x0010', 15 | r'\newcommand{\buildnoly}{%d} \newcommand{\lycommitno}{%s} \input{ly.tex}', 16 | ] 17 | COMMITNO_CMD = ['git', 'rev-parse', 'HEAD'] 18 | BUILDNO_FILE = 'buildnoly.txt' # shabby toy of my own; not included in the GitHub project 19 | 20 | if subprocess.call([sys.executable, 'autolybody.py']) != 0: 21 | print("Failed to run autolybody.py", file=sys.stderr) 22 | return 1 23 | 24 | buildno = 0 25 | use_buildno_file = os.path.isfile(BUILDNO_FILE) 26 | if use_buildno_file: 27 | try: 28 | with open(BUILDNO_FILE) as fin: 29 | buildno = int(fin.read()) + 1 30 | except Exception: 31 | use_buildno_file = False 32 | try: 33 | commitno = subprocess.check_output(COMMITNO_CMD).strip().decode( 34 | 'ascii') 35 | except subprocess.CalledProcessError: 36 | commitno = 0 37 | BUILD_CMD[-1] = BUILD_CMD[-1] % (buildno, commitno) 38 | r = subprocess.call(BUILD_CMD) 39 | if r == 0 and use_buildno_file: 40 | with open(BUILDNO_FILE, 'w') as fout: 41 | fout.write(str(buildno)) 42 | return r 43 | 44 | 45 | if __name__ == '__main__': 46 | sys.exit(main()) 47 | -------------------------------------------------------------------------------- /characters.tex: -------------------------------------------------------------------------------- 1 | \lyalt{\lylabel{characters}}{} 2 | \phantomsection 3 | \chapter*{人\quad 物\quad 表} 4 | \addcontentsline{toc}{chapter}{人物表} 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | 7 | % TODO: 参照《孔子家语·七十二弟子解》。 8 | % https://zh.wikipedia.org/wiki/Category:%E5%AD%94%E5%AD%90%E5%BC%9F%E5%AD%90 9 | 10 | % NOTE: Slingerland书附录2、3的结构与这里很像,是让我很开心的巧合。非孔子弟子的人物如果仅见于某一章,我就直接在那一章介绍,这样处理似乎更顺一些。 11 | 12 | \lypdfbookmark\section*{孔子弟子} 13 | %=========================================================== 14 | 15 | 孔子究竟有多少弟子?由于年代久远,还没有一个确切的说法。\lylabel{qishizi}《史记·孔子世家》载:\lyq{孔子以诗书礼乐教,弟子盖三千焉,身通\lylink{liujing}{六艺}者七十有二人},似乎有所夸大。《史记·仲尼弟子列传》则称\lyq{孔子曰:“受业身通者七十有七人”},并根据当时(约前90年)可考的文献,依次列出了姓名,或详或简地记述了其中29人的事迹。 16 | 17 | 以下收录了《论语》中出现过,并基本公认属实的孔子弟子,也是29人,按人名拼音排序。比《仲尼弟子列传》增加的是\lycharlink{lao}{牢}和\lycharlink{shencheng}{申枨},缺少的是公晳哀(齐国人,字季次,因\lyq{天下无行}而\lyq{未尝\lylink{shi4a}{仕}})和商翟(字子木,鲁国人,少孔子29岁,是孔子《\lylink{yijing}{易}》学的传人)。 18 | 19 | 本书统一采用古代习俗计算年龄,只要在某年生活过,就算作一岁,即虚岁。孔子生于前551年(\lycharlink{xianggong}{鲁襄公}\,22年),卒于前479年(\lycharlink{aigong}{鲁哀公}\,16年),寿73岁。遵照传统,将诸弟子的年龄统一记为“少(\lypy{shào})孔子多少岁”。 20 | % NOTE: 年龄等于当年年份减去出生年份后加一。B-A+1的算法,是按古代纪年算的。旧历年与公历年不很吻合,如果用公历年计算,可能有1岁左右的误差。“习俗”的说法见《吴宓日记续编》第1册45页。 21 | 22 | \bigskip 23 | 24 | \lylabel{boniu} 25 | \lycharname{伯牛},\lycharname{冉伯牛}:冉耕,字伯牛,鲁国人,少孔子7岁,\lylink{11.3}{孔门十哲}之一,患病早逝。% TODO: 定陶三冉? 26 | 27 | \lylabel{fanxu} 28 | \lycharname{樊须},\lycharname{樊迟}:樊须,字子迟,鲁国人,少孔子46岁,是孔子晚年返鲁后收取的学生。在前484年春的\lylink{jiquzhizhan}{稷曲之战}中,\lycharlink{ranqiu}{冉求}统领鲁国左路军,樊迟担任他的车右武士,建议冉求反复申明号令再冲锋,果然士气大振,赢得了胜利。樊迟墓在今山东省济宁市鱼台县。 29 | % NOTE: 从《孔子家语》及杨伯峻说,非少36岁,史记误;见《左传·哀公十一年》:\lyq{须也弱}。 30 | 31 | \lylabel{gongboliao} 32 | \lycharname{公伯寮}(\lypy{liáo}):字子周,鲁国人。也有根据 \lyref{14.36} 认为他并非孔子弟子。 33 | 34 | \lylabel{gongxihua} 35 | \lycharname{公西华},\lycharname{子华},\lycharname{赤}:公西赤,字子华,鲁国人,少孔子42岁。他娴于交际,精通礼仪,据《礼记·檀弓上》,孔子的丧礼就是由他设计装饰的。《淮南子·齐俗训》比较了他和\lycharlink{zengshen}{曾参}奉养父母的特点:\lyq{公西华之养亲也,若与朋友处;曾参之养亲也,若事严主烈君——其于养一也。} 36 | % NOTE: 《檀弓上》:\lyq{孔子之丧,公西赤为志焉:……}“志”,钱玄解作主持操办,杨天宇解作墓志铭,似均不确。主持者应为子贡。% TODO: “设计装饰”搭配不顺。 37 | 38 | \lylabel{gongyechang} 39 | \lycharname{公冶长}(\lypy{cháng}):字子长,鲁国人。传说他懂鸟语,\lyq{曾读百鸟之书,能闻众鸟之音}(《公冶长听鸟语纲常》),因此蒙冤入狱,见皇侃《论语义疏》引文:\lyq{主问冶长何以杀人,冶长曰:“解鸟语,不杀人。”主曰:“当视之。若必解鸟语,便相放也,若不解,当令偿死。”驻冶长在狱六十日……}这虽然离奇,但历来广为人知,成为典故使用,如白居易《池鹤八绝句》诗序:\lyq{诸禽似有所诮,鹤亦时复一鸣。予非冶长,不通其意。}公冶长墓在今山东省诸城市贾悦镇。 40 | 41 | \lylabel{lao} 42 | \lycharname{牢}:《论语》中身份最模糊的弟子,据《孔子家语》王肃序:孔子\lyq{弟子有琴张,一名牢,字子开,亦字张,卫人也},后世多认为是王肃的伪撰。 43 | 44 | \lylabel{minziqian} 45 | \lycharname{闵子骞}(\lypy{qiān}),\lycharname{闵子}:闵损,字子骞,鲁国人,少孔子15岁,\lylink{11.3}{孔门十哲}之一。他是元代编录的童蒙读物《二十四孝》第4个故事“\lylink{danyishunmu}{单衣顺母}”(又称“鞭打芦花”)的主角。今山东省济南市孝文化博物馆内及河南省濮阳市范县,均有闵子骞墓。 46 | 47 | \lylabel{nangongkuo} 48 | \lycharname{南宫适}(\lypy{kuò}),\lycharname{南容}:字子容,鲁国人,孔子的\lylink{5.2}{侄女婿},和西周开国大臣\lycharlink{luanchenshiren}{南宫适}同名。《孔子家语·弟子行》中,\lycharlink{zigong}{子贡}形容他\lyq{独居思仁,公言言义。}南宫适墓遗址在今山东省邹城市。 49 | 50 | \lylabel{qidiaokai} 51 | \lycharname{漆雕开}:字子若,蔡国人,少孔子11岁,是孔子之后的\lylink{zizhang}{八儒}之一。《孔子家语·七十二弟子解》说他\lyq{习《\lylink{shangshu}{尚书}》,不乐仕。}《韩非子·显学》说他方正刚直,\lyq{不色挠,不目逃,行曲则违于臧获,行直则怒于诸侯,世主以为\lylink{lian2}{廉}而礼之。}(\lylabel{nao2}挠:屈。目逃:避视。违:避。臧获:奴婢的贱称,骂奴为臧,骂婢为获。)漆雕开墓在今河南省驻马店市上蔡县。 52 | 53 | \lylabel{ranqiu} 54 | \lycharname{冉求},\lycharname{冉有},\lycharname{冉子},\lycharname{求}:冉求,字子有,鲁国人,少孔子29岁,\lylink{11.3}{孔门十哲}之一。他多才多艺,精明务实,曾跟随孔子周游,后来成为\lycharlink{jikangzi}{季康子}的得力家臣,不久孔子就被迎接返鲁了。直到前472年(《左传·哀公二十三年》),还有他奉季康子之命赴宋国吊唁的记录。冉子祠遗址在今山东省济宁市嘉祥县。 55 | 56 | \lylabel{shencheng} 57 | \lycharname{申枨}(\lypy{chéng}):字周,鲁国人,事迹不详。 58 | 59 | \lylabel{simaniu} 60 | \lycharname{司马牛}:司马耕,向氏,字子牛,宋国人,是\lycharlink{huantui}{桓魋}的弟弟,因为桓魋任宋国司马,故又以司马为氏。《仲尼弟子列传》说他\lyq{多言而躁},可能是根据 \lyref{12.3} 的推想。桓魋叛乱失败后,司马牛退还宋国的封地,辗转于齐、吴、宋,最终死在鲁国城外。 61 | 62 | \lylabel{tantaimieming} 63 | \lycharname{澹(\lypy{tán})台灭明}:字子羽,鲁国\lylink{wucheng}{武城}人,少孔子39岁。《仲尼弟子列传》说他相貌丑陋,曾被孔子认为资质低劣。他退而修行,南游至楚,有弟子三百,讲究\lylink{4.5}{取予}\lylink{qujiu}{去就},名动诸侯。\lyq{孔子闻之曰:“吾以言取人,失之\lycharlink{zaiyu}{宰予};以貌取人,失之子羽。”}《孔子家语·弟子行》中,\lycharlink{zigong}{子贡}形容他\lyq{贵之不喜,贱之不怒,苟利于民矣,廉于行己。}今江苏省苏州市吴中区的澹台湖,据说是他曾居之地,澹台灭明墓遗址在今江西省南昌市第二中学内。 64 | % NOTE: 《韩非子·显学》对子羽之貌、宰予之智有相反的说法:\lyq{澹台子羽,君子之容也,仲尼几而取之,与处久而行不称其貌;宰予之辞,雅而文也,仲尼几而取之,与处久而智不充其辩。故孔子曰:“以容取人乎,失之子羽;以言取人乎,失之宰予。”}相当于绣花枕头中看不中用的意思。 65 | 66 | \lylabel{wumaqi} 67 | \lycharname{巫马期}:巫马施,字子期,陈国人,少孔子30岁。《吕氏春秋·开春论·察贤》说他也曾任\lylink{shanfu}{单父}宰,并比较了他与\lycharlink{zijian}{子贱}之政的区别:\lyq{宓子贱治单父,弹鸣琴,身不下堂,而单父治。巫马期以星出,以星入,日夜不居,以身亲之,而单父亦治。巫马期问其故于宓子,宓子曰:“我之谓任人,子之谓任力。任力者故劳,任人者故逸。”宓子则君子矣。……巫马期则不然,弊生事精,劳手足,烦教诏,虽治,犹未\lylink{zhi4e}{至}也。}(以星出,以星入:相当于说披星带月早出晚归。事:使,用。)巫马期墓在今河南省南阳市内乡县。 68 | 69 | \lylabel{yanhui} 70 | \lycharname{颜回},\lycharname{颜渊},\lycharname{回}:颜回(前521年--前481年),字子渊,鲁国人,少孔子30岁,\lylink{11.3}{孔门十哲}之一。他尊师好学,乐仁守礼,最得孔子推重期许,也受到同门的一致敬佩。可惜天不假年,29岁就熬白了头,41岁赍志而殁(早于孔子2年),未能传承光大师学,令孔子伤痛欲绝。《仲尼弟子列传》载,\lyq{孔子\lylink{11.10}{哭之恸},曰:“自吾有回,门人益亲。”}后世尊其为孔门众贤之首,封为\lykw{复圣}。颜回在古籍中常以孔子代言人的形象出现。唐代名臣、书法家颜真卿是他的40世孙。% NOTE: 不是31岁去世。明朝编纂的颜氏家族志《\lylink{6.11}{陋巷}志》说颜回\lyq{娶宋戴氏,生子歆}。 71 | 72 | \lylabel{yanlu} 73 | \lycharname{颜路}:颜无繇(\lypy{yóu}),字路,鲁国人,\lycharlink{yanhui}{颜回}之父,少孔子6岁,是孔子的早期弟子。颜路、\lycharlink{yanhui}{颜回}及颜氏后裔,安葬于今山东省曲阜市房山东颜林。 74 | 75 | \lylabel{yong} 76 | \lycharname{雍},\lycharname{仲弓}:冉雍,字仲弓,鲁国人,少孔子29岁,\lylink{11.3}{孔门十哲}之一。《孔子家语·弟子行》中,\lycharlink{zigong}{子贡}形容他\lyq{在贫如客,使其臣如借,不\lylink{qiannu}{迁怒},不深怨,不录旧罪。}(如客:形容庄重自持,不因贫降志。如借:形容谨慎有礼,不自居其位。录:记住。)如果《荀子》屡次提到的“子弓”就是冉雍(例如仲由字子路,又称季路;王先谦《荀子集解》认为:\lyq{曰季曰仲,至五十而加以伯仲也}),那么他在战国时很受尊崇,与孔子并称为\lyq{大儒}、\lyq{圣人之不得势者}。冉雍墓遗址在今山东省聊城市冠县。 77 | % NOTE: 《荀子》之说,见《非相》、《非十二子》、《儒效》篇。 78 | 79 | \lylabel{youruo} 80 | \lycharname{有若},\lycharname{有子}:字子有,鲁国人,少孔子33岁,《孔子家语·七十二弟子解》称他强识好古。《孟子·滕文公上》、《仲尼弟子列传》载,孔子去世后,众弟子思慕不已,因为有若的气质见识与孔子相似,\lycharlink{zixia}{子夏}、\lycharlink{ziyou}{子游}、\lycharlink{zizhang}{子张}等就奉他为师,但有若之才德不足以服众,这种偶像崇拜很快被放弃了。《礼记·檀弓下》载,\lycharlink{aigong}{鲁哀公}曾向他问礼,他去世后,继任的鲁悼公(前467年--前437年在位)亲自前来吊唁。他在《论语》中出现的4次,都是传道授业的口吻,除 \lyref{12.9} 外,称谓都是有子,待遇仅次于\lycharlink{zengshen}{曾参}。有若墓遗址在今山东省曲阜市南泉村。 81 | 82 | \lylabel{yuansi} 83 | \lycharname{原思},\lycharname{宪}:原宪,字子思,少孔子36岁。《仲尼弟子列传》载,孔子去世后,他在乡间隐居,生活极清贫。\lycharlink{zigong}{子贡}乘驷马高车来探望他,\lyq{宪\lylink{she4}{摄}敝衣冠见子贡。子贡耻之,曰:“夫子岂\lylink{bing4}{病}乎?”原宪曰:“吾闻之:无财者谓之贫,学道而不能行者谓之病。若宪,贫也,非病也。”子贡惭,不怿而去,终身耻其言之过也。}(怿(\lypy{yì}):喜悦,高兴。)《史记·游侠列传》说他\lyq{读书怀独行君子之德,义不\lylink{gouhe}{苟合}当世,当世亦笑之。……终身空室蓬户,褐衣\lylink{shushi}{疏食}不厌。死而已四百余年,而弟子志之不倦。}(褐衣:粗布衣。) % NOTE: 《列传》说原思隐居于卫,《韩诗列传》、《庄子》说于鲁。 84 | 85 | \lylabel{zaiyu} 86 | \lycharname{宰予},\lycharname{宰我},\lycharname{予}:字子我,鲁国人,少孔子29岁,\lylink{11.3}{孔门十哲}之一。他口才出众,甚至超过大名鼎鼎的外交家\lycharlink{zigong}{子贡};思维活跃,不仅\lylink{17.21}{质疑}过三年丧期的必要,还怀疑过黄帝的传说,向孔子追问\lycharlink{wudi}{五帝}的由来(《大戴礼记·五帝德》)。可孔子是反感伶牙俐齿的,也不太欣赏出格的想法和行为,《论语》中宰予总是受到敲打。《孟子·公孙丑上》引用他对孔子的评价:\lyq{以予观于夫子,贤于\lycharlink{yao}{尧}、\lycharlink{shun}{舜}远矣},认为他和\lycharlink{zigong}{子贡}、\lycharlink{youruo}{有若}一样,\lyq{智足以知圣人}。宰予墓遗址在今山东省曲阜市古城村。 87 | 88 | \lylabel{zengxi} 89 | \lycharname{曾皙}(\lypy{xī}),\lycharname{点}:曾点,字皙,\lycharlink{zengshen}{曾参}之父,鲁国\lylink{wucheng}{南武城}人。《孟子·尽心下》说,他属于孔子眼中的\lylink{kuangjuan}{狂士}。他教子严厉,有一次曾参在瓜田里除草,不小心斩到瓜根,他勃然大怒,操起大棒抡在儿子背上。曾参倒地昏厥良久,醒来后连忙好声好气跟父亲陪不是,还问有没有用力过猛伤到身体。事后,孔子批评曾参之孝\lylink{11.16}{过犹不及}:\lyq{〔\lycharlink{shun}{舜}事父〕小棰则待过,大杖则逃走。……今参事父,委身以待暴怒,殪而不避,既身死而陷父于不义,其不孝孰大焉?}(棰(\lypy{chuí}):棍棒,用作动词。待过:等着接受责罚。殪(\lypy{yì}):死。)事见《孔子家语·六本》、《吕氏春秋·孟夏纪·劝学》。后人不辨因果,附会出“棍棒底下出孝子”的俗语。曾皙墓、曾参墓在今山东省临沂市平邑县曾子山。 90 | 91 | \lylabel{zengshen} 92 | \lycharname{曾子},\lycharname{参}(传统读\lypy{shēn},也有根据其\lylink{chenghu}{字},认为应读\lypy{cān},即同“骖”):曾参(前505年--约前435年),字子\lylink{yu2b}{舆},鲁国\lylink{wucheng}{南武城}人,少孔子46岁。诸弟子中,他是孔子之学的主要\lycharlink{zisi}{传承者},后被封为\lykw{宗圣}。曾参事父母至孝,是《二十四孝》第3个故事“啮指心痛”的主角。\lylabel{xiaojing}儒家十三经之一的《孝经》(共18章,约1800字),就采用他与孔子问答孝道的形式,各章多引《诗经》作为总结。曾参笃于礼义,《礼记·檀弓上》载,他病重弥留那晚,听侍童说自己睡的是\lylink{qingdafushi}{大夫}之席(曾参为\lylink{qingdafushi}{士}),便挣扎着起身要求换席。两个儿子劝他等天亮再换,他对儿子说:\lyq{尔之爱我也不如彼。君子之爱人也以德,细人之爱人也以姑息。吾何求哉?吾得正而毙焉,斯已矣。}(彼:指侍童。细人:见识短浅的人,\lylink{xiaoren1}{小人}。姑息:苟安。)换席后还没躺稳当,他就去世了。《大戴礼记》卷四、五共10篇,是他的语录。朱熹称他为《大学》的作者,但没有给出根据。 93 | % NOTE: 曾子逝年,依钱穆《先秦诸子系年·鲁缪公礼贤考》引《阙里文献考》:\lyq{曾子年七十而卒。} 94 | % NOTE: 朱熹《四书章句》对《礼记·大学》作了改编与划分,“未之有也”及之前的205字称为“经”,之后的1546字称为“传”,认为是解释“经”的,并加说明:\lyq{右经一章,盖孔子之言,而曾子述之;其传十章,则曾子之意而门人记之也。} 95 | 96 | 除了孔子的话以外,《论语》中对他所有的称谓都是曾子。其他弟子虽也有以\lylink{zi3}{子}相称的,包括\lycharlink{youruo}{有若}、\lycharlink{ranqiu}{冉求}和\lycharlink{minziqian}{闵子骞},但都没有这样的待遇。后世多认为曾参、有若的弟子是编订《论语》的主力。 97 | % NOTE: 康有为《论语注·序》甚至说:\lyq{《论语》之学,实曾学也,不足以尽孔子之学也。} 98 | % TODO: 1.2有子,1.4曾子,补充入源流。 99 | 100 | \lylabel{zigao} 101 | \lycharname{子羔},\lycharname{柴}:高柴,字子羔,少孔子30岁,\lylink{kangshu}{卫国}人,曾任卫国\lylink{shishi}{士师}。《孔子家语·七十二弟子解》说他\lyq{长不过\lylink{chi3}{六尺},状貌甚恶;为人笃孝而有法正。}《礼记·檀弓上》记载他\lyq{执亲之丧也,泣血三年,未尝见齿,君子以为难。}(见齿:笑。)《孔子家语·致思》载,有位守门人曾被他处以断足之刑,却在\lylink{kuaikuizhiluan}{蒯聩之乱}时帮他指路出逃,还坦言自己受刑罪有应得,对子羔是心悦诚服。孔子听闻后赞许道:\lyq{善哉为吏!其用法一也。思仁恕则树德,加严暴则树怨。公以行之,其子羔乎!}子羔墓遗址在今山东省临沂市兰陵县。 102 | 103 | \lylabel{zigong} 104 | \lycharname{子贡},\lycharname{赐}:端木赐,字子贡,少孔子31岁,卫国人,\lylink{11.3}{孔门十哲}之一。他机敏善言,《仲尼弟子列传》说,\lyq{子贡利口巧辞,孔子常黜其辩。}(黜:贬抑。)他有杰出的外交才干:\lyq{子贡一出,存鲁、乱齐、破吴、强晋而霸越。子贡一使,使势相破,十年之中,五国各有变。}他有卓越的经商本领,善于观察行情低买高卖,家累千金,是同门中的首富。他是孔子最亲密的弟子之一,老师病重时他赶来探望,孔子问:“\lyq{赐,汝来何其晚也?}”孔子去世后,他是丧礼的主持人,众弟子服丧3年,唯有他筑庐冢边,守丧6年。除了孔子本人,\lycharlink{zilu}{子路}和子贡是《论语》中最常出现的人物。\lyref{19.21} 至 \lyref{19.25} 集中反映了他对老师的拳拳仰慕之心。子贡墓位于他的故乡,今河南省鹤壁市浚(\lypy{xùn})县。 105 | 106 | 司马迁特别偏爱子贡,《仲尼弟子列传》用了近1/3篇幅,描写他游说齐、吴、越、晋之间,使鲁国免遭战乱的功绩。《货殖列传》评价:\lyq{夫使孔子名布扬于天下者,子贡先后之也。此所谓得势而益彰者乎?} 107 | 108 | \lylabel{zijian} 109 | \lycharname{子贱}:宓(\lypy{mì},旧读\lypy{fú})不齐,字子贱,少孔子30岁,鲁国人,曾任\lylabel{shanfu}鲁国单父(\lypy{shàn fǔ},也作亶父,今山东省菏泽市单县)邑宰。据《吕氏春秋·审应览·具备》,上任之初,他通过巧妙的隐喻获得了鲁君信任,使单父大治,流传下“掣肘”的典故。《说苑·政理》载,孔子问他何以\lyq{治单父而众说},子贱说自己爱民:\lyq{父其父,子其子,\lylink{xu4c}{恤}诸孤而哀丧纪},孔子认为是小节:\lyq{小民附矣,犹未足也};子贱说自己待人谦恭推诚,孔子认为是中节;子贱说访求到5位能于自己的贤人协理政务,孔子赞叹:\lyq{欲其大者,乃于此在矣。昔者\lycharlink{yao}{尧}、\lycharlink{shun}{舜}清微其身,以听观天下,务来贤人。夫举贤者,百福之宗也,而神明之主也。}《史记·滑稽列传》末尾评论:\lyq{\lycharlink{zichan}{子产}治郑,民不能欺;子贱治单父,民不忍欺;西门豹治邺,民不敢欺。三子之才能谁最贤哉?辨治者当能别之。}(\lylabel{ximenbao}西门豹:战国初期魏国邺县(在今河北省邯郸市临漳县西南)县令,破除陋习,引水灌田,\lyq{名闻天下,泽流后世}。)《颜氏家训·书证》说,今文《\lylink{shangshu}{尚书}》的传人秦博士伏生,就是子贱的后人。子贱墓在今安徽省淮南市寿县。% TODO: 解释 博士 in 源流。 110 | 111 | \lylabel{zilu} 112 | \lycharname{子路},\lycharname{季路},\lycharname{仲由},\lycharname{由}:仲由(前542年--前480年),字子路,又称季路,鲁国\lylink{bianyi}{卞邑}人,\lylink{11.3}{孔门十哲}之一,少孔子9岁。除了\lycharlink{yanlu}{颜路}和\lycharlink{boniu}{伯牛}以外,他是《论语》诸弟子中最年长的。子路忠勇直率,长期追随孔子左右。虽常因为思维简单挨孔子的批评,但也只有这个大龄\lylink{13.3}{野小子}最能让老师放松随意吧!子路少时家贫,成年后热心功名,曾任\lycharlink{jihuanzi}{季桓子}的家宰,后来又任卫大夫\lycharlink{kongkui}{孔悝}的\lylabel{puyi}蒲邑(在今河南省长垣县)邑宰。《孔子家语·辩政》说,子路治蒲三年,孔子路过观察民风,三称其善。\lylabel{weiqinfumi}身处富贵之时,他想起故去的父母,\lyq{乃叹曰:“虽欲食藜藿之食,为亲负米,不可得也!”}(藜藿(\lypy{lí huò}):粗劣的饭菜。见《二十四孝》第5个故事“为亲负米”。)前480年(《左传·哀公十五年》),63岁的子路奋勇\lylink{kuaikuizhiluan}{营救}被\lycharlink{weijun}{蒯聩}挟持的主公孔悝,孤身不敌,帽缨(系在下巴上固定帽子的束带)也被击断了。在生命最后一刻,\lyq{子路曰:“君子死,冠不免。”结缨而死。}终不忘礼,不愧为孔子的学生。子路墓祠在今河南省濮阳市。 113 | % NOTE: “为亲负米”事见《说苑·建本》:\lyq{昔者由事二亲之时,常食藜藿之实,而为亲负米百里之外。亲没之后,南游于楚,从车百乘,积粟万钟,累茵而坐,列鼎而食。愿食藜藿、为亲负米之时,不可复得也!} 114 | 115 | 《礼记·檀弓上》载,孔子正在院子中间恸哭子路,听说其尸体被施以醢(\lypy{hǎi},剁成肉酱)刑的惨状,立刻让把家里的肉酱倒掉。4年之间,\lycharlink{li}{孔鲤}、\lycharlink{yanhui}{颜回}、子路接连亡故,对孔子的打击可想而知,一年后他也去世了。 116 | 117 | \lylabel{zixia} 118 | \lycharname{子夏},\lycharname{商}:卜商,字子夏,晋国温邑(今河南省焦作市温县)人,少孔子44岁,\lylink{11.3}{孔门十哲}之一。他家境清贫,笃学精思,敬谨尚贤,《史记·孔子世家》在记述孔子笔削《春秋》时特别说,\lyq{子夏之徒不能赞一辞}(赞:助),可见他在诸弟子中的理论水平很突出。《后汉书·徐防传》引徐防上疏:\lyq{臣闻《诗》《书》《礼》《乐》,定自孔子;发明章句,始于子夏。}(发明:阐述意旨。章句:分章断句解读。)孔子去世后,他到魏国西河(在今山西、陕西黄河交界地带)讲学,魏文侯(前445年--前396年在位,前424年称侯)师事之,咨问国政,《礼记·乐记》有他们关于古乐和新乐的问答。子夏晚年因哭子之丧而失明,事见《礼记·檀弓上》。他所创立的西河学派,常被认为是由儒入法的重要环节。据说今本《\lylink{shijing}{诗经}》由他而传,《春秋公羊传》、《春秋谷梁传》的作者也都是他的学生。子夏墓在今山东省菏泽市。 119 | % NOTE: 由儒入法的重要环节:子夏的弟子李克,有认为就是法家始祖李悝;据信荀子也与子夏之儒颇有渊源。 120 | 121 | \lylabel{ziyou} 122 | \lycharname{子游},\lycharname{言游},\lycharname{偃}:言偃,字子游,\lylink{taibo}{吴国}人,少孔子45岁,\lylink{11.3}{孔门十哲}之一。他是孔子知名弟子中唯一的南方人,今江苏省常熟市留有言子墓等遗迹。\lycharlink{zizhang}{子张}的儿子申祥是他的女婿。 123 | 124 | \lylabel{lijiliyun} 125 | 《礼记·礼运》通过子游与孔子问答的形式,描绘了儒家理想中的\lykw{大同}社会:\lyq{大道之行也,天下为公,选贤与能,讲信修睦。故人不独亲其亲,不独子其子;使老有所终,壮有所用,幼有所长,矜寡、孤独、废疾者皆有所养;男有分,女有归。货,恶其弃于地也,不必藏于己;力,恶其不出于身也,不必为己。}(\lylabel{guan1a}矜:通“鳏”(\lypy{guān}),成年男子无妻或丧妻。)接着指出,在\lyq{天下为家}的时代,如能\lyq{礼义以为纪,以正君臣,以笃父子,以睦兄弟,以和夫妇},仍不失为\lykw{小康}。然后重点论述了礼义对于维系社会的价值:\lyq{故欲恶者,心之大端也。人藏其心,不可测度也。美恶皆在其心,不见其色也,欲一以穷之,舍礼何以哉?……故礼义也者,人之大端也,……故唯圣人为知礼之不可以已也。故坏国、丧家、亡人,必先去其礼。} 126 | % TODO: 据传孔子云:“吾门有偃,吾道其南”,但不见于《孔子集语》,未知出处。 127 | 128 | \lylabel{zizhang} 129 | \lycharname{子张},\lycharname{师},\lycharname{张}:颛(\lypy{zhuān})孙师,字子张,鲁国人,少孔子48岁。《论语》诸弟子中数他最年轻,其次是\lycharlink{zengshen}{曾参}和\lycharlink{fanxu}{樊须}。《韩非子·显学》称,孔子之后儒分八派,“子张之儒”被排在第一位,超过“\lycharlink{zisi}{子思}之儒”,可惜今已不传。他的祖先是和\lycharlink{chenchengzi}{陈公子完}一同逃往齐国的公子颛孙(《左传·庄公二十二年》),后来又到鲁国定居,就以颛孙为氏。传到子张这一代,已经是\lyq{鲁之鄙家}了(《吕氏春秋·尊师》),还做过马贩子(《尸子·劝学》),想必有不为人知的艰辛,但他志高求进,心气很足,使年纪相仿的同门感到敬畏。据《史记·儒林列传》,孔子过世后他去了陈国居住,就是不曾忘怀遥远的血脉吧?他去世时\lycharlink{zengshen}{曾参}正在服母丧,所以是早逝(《礼记·檀弓下》)。病重之时,他把儿子召到身旁,像是自言自语道:\lyq{“君子\lylink{yue1a}{曰}终,小人曰死,吾今日其\lylink{shu4a}{庶几}乎?”}(《礼记·檀弓上》。)子张墓遗址在今安徽省淮北市朔里镇。 130 | % NOTE: 19.15、19.16古注解说不一,多有贬损子张的偏见,或由11.18臆测。既乏史实,当推以情理,“志高求进,心气很足,使年纪相仿的同门感到敬畏”,以解19.15、19.16皆通。 131 | 132 | 133 | \lypdfbookmark\section*{其他} 134 | %=========================================================== 135 | 136 | 以下收录了在不同章中重复出现过,而又不是孔子弟子的人物,也包括季氏、孟氏这样的家族,共35条。 137 | 138 | \bigskip 139 | 140 | \lylabel{aigong} 141 | \lycharname{哀公}:即鲁哀公(?--前468年),名蒋,鲁国第26任国君(“遭难已甚曰哀”),\lycharlink{dinggong}{鲁定公}之子。前494年--前468年在位,期间鲁国实权一直被\lycharlink{sanhuan}{三桓}把持,君臣离心。在位的最后一年,哀公想借助越国的力量除掉三桓,可能是计划泄露,遭到三桓联合攻击,辗转流亡于卫、邹、越,同年又被迎接(挟持?)回国,很快就去世了。事见《史记·鲁周公世家》、《左传·哀公二十七年》。《左传》的内容始于隐公元年(前722年),结于哀公二十七年(前468年)。% TODO: 末句移至“相关的几本书”。 142 | 143 | \lylabel{boyishuqi} 144 | \lycharname{伯夷、叔齐}:商朝末年孤竹国(在今河北省秦皇岛市卢龙县)国君的长子、三子。叔齐先被立为太子,尊长欲让与伯夷;伯夷不愿违背父意,就与叔齐一同出走,投奔\lycharlink{wen}{周文王}。当时文王已死,\lycharlink{wu}{武王}领兵伐纣,他们认为是犯上违仁之举,叩马而谏;周灭商后,他们耻食周粟,隐居于首阳山(在今甘肃省定西市渭源县),采食野菜度日,终于饿死。\lylabel{caiweige}《史记·伯夷列传》记载(拟托?)了他们临终前的悲歌:\lyq{登彼西山兮,采其薇矣。以暴\lylink{yi4e}{易}暴兮,不知其非矣。\lycharlink{sanhuang}{神农}、\lylink{tangyu}{虞}\lylink{xiachao}{夏}忽焉没兮,我安适归矣?于嗟徂兮,命之衰矣!}(于嗟:叹词。徂(\lypy{cú}):去,往,指死。) 145 | % NOTE: 《伯夷列传》为司马迁之浩叹,可读。 146 | 147 | \lylabel{chenkang} 148 | \lycharname{陈亢},\lycharname{陈子禽},\lycharname{子禽}:陈亢,字子禽,陈国人。一说是孔子的学生,从 \lyref{19.25} 来看不像。 149 | 150 | \lylabel{dinggong} 151 | \lycharname{定公}:即鲁定公,名宋,鲁国第25任国君,\lycharlink{zhaogong}{鲁昭公}的庶弟,\lycharlink{aigong}{鲁哀公}之父。他于前509年--前495年在位,期间国政被\lycharlink{jipingzi}{季平子}、\lycharlink{jihuanzi}{季桓子}、\lycharlink{yanghuo}{阳货}、\lycharlink{shusunwushu}{叔孙武叔}把持。前501年--前498年间任用孔子,国势一度振兴。但受到齐国\lylink{18.4}{糖衣炮弹}的诱惑,荒政废礼,孔子只好出走。 152 | 153 | \lylabel{gongshuwenzi} 154 | \lycharname{公叔文子}:卫国大夫公叔发,也是\lycharlink{weilinggong}{卫灵公}的堂兄弟。\lylink{qirenkuinvyue}{前497年}孔子来到卫国,公叔文子就在同年或略早去世。《左传·定公十四年》载,他家境富裕,曾邀请灵公赴宴,却被\lycharlink{shiyu}{史鱼}警告:\lyq{子必祸矣!子富而君贪,罪其及子乎!}然后补充道:你自己谨守臣礼,可免于难;但你儿子公叔戍富而骄,\lyq{其亡乎?富也不骄者鲜,吾\lylink{ozhiv}{唯子之见};骄而不亡者,未之有也,戍必与焉!}不出所料,前496年春,灵公就以将害\lycharlink{nanzi}{南子}为由,把公叔戍逐去鲁国了。 155 | 156 | \lylabel{gongzijiu} 157 | \lycharname{公子纠}(?--前685年):\lycharlink{qihuangong}{齐桓公}小白的二哥。他受\lycharlink{guanzhong}{管仲}、召忽辅佐,得鲁国援助,与小白争立为齐君。失败后,鲁国迫于齐桓公武力,杀死了公子纠。 158 | 159 | \lylabel{guanzhong} 160 | \lycharname{管仲}(约前720年--前645年):春秋时期法家代表人物,名夷吾,字仲,谥号是敬(“令善典法曰敬”)。他和\lylabel{baoshuya}\lycharlink{qihuangong}{齐桓公}的师傅鲍叔牙自少年时即为至交好友,史称“管鲍之交”。他受鲍叔牙极力推荐,得到\lycharlink{qihuangong}{齐桓公}信任,被尊称为“仲父”,主持齐政40余年。期间力行改革,宽政惠民,富国强兵,使齐国雄霸于诸侯。《史记·管晏列传》、《史记·齐太公世家》简要记录了他的生平事迹,西汉刘向编辑的《管子》集中反映了他的思想主张。% TODO: add 对应“管仲之器小”的评论及链接? 161 | 162 | \lylabel{jikangzi} 163 | \lycharname{季康子},\lycharname{康子}:季孙肥(?--前468年),\lycharlink{jishi}{季孙氏}第6代宗主,\lycharlink{jihuanzi}{季桓子}之子,曾任鲁国正卿,谥号是康(“安乐抚民曰康”)。前484年,由于\lycharlink{ranqiu}{冉求}、\lycharlink{fanxu}{樊须}在\lycharlink{jiquzhizhan}{稷曲之战}立下大功,季康子派人从卫国将孔子恭迎回鲁国。从\lylink{qirenkuinvyue}{父弃}到子迎,孔子已经漂泊异乡14年了,从此开始了最后5年相对安稳的教育和著述。 164 | 165 | \lylabel{jishi} 166 | \lycharname{季氏},\lycharname{季孙},\lycharname{季}:即季孙氏,鲁国\lycharlink{sanhuan}{三桓}家族之一,是鲁桓公嫡次子\lycharlink{jiyou}{季友}的后代,实力为三桓之首。\lycharlink{jihuanzi}{季桓子}、\lycharlink{jikangzi}{季康子}任\lylink{zongzhu}{宗主}期间,孔子的不少弟子做过季氏家臣,如\lycharlink{ranqiu}{冉求}、\lycharlink{zilu}{子路}、\lycharlink{yong}{冉雍},但也有不愿就列的\lycharlink{minziqian}{闵子骞}。直到鲁穆公(前415年--前377年在位)继位,才终于从三桓手中夺回实权。季氏据其封邑独立为\lylink{feiyi}{费国},逐渐衰微,后世宗主仅见费惠公在《孟子·万章下》有片言留存。从鲁僖公元年(前659年)季友接任\lylink{qingdafushi}{正卿}算起,季氏家族在鲁国风光了近两个半世纪。 167 | 168 | \lylabel{kongwenzi} 169 | \lycharname{孔文子},\lycharname{仲叔圉}(\lypy{yǔ}):孔圉(?--前480年),谥号是文,\lycharlink{weilinggong}{卫灵公}时期的卫国上卿。他的妻子是卫庄公\lycharlink{weijun}{蒯聩}的姐姐,\lylabel{kongkui}儿子孔悝(\lypy{kuī})也是卫国大夫。\lycharlink{zilu}{子路}曾任孔悝的邑宰。 170 | 171 | \lylabel{li} 172 | \lycharname{鲤},\lycharname{伯鱼}:孔鲤(前532年--前483年),字伯鱼,孔子唯一的儿子。出生时\lycharlink{zhaogong}{鲁昭公}送来一条鲤鱼当贺礼,就以之为名。他比孔子早去世4年,终年50岁,留下幼子孔伋。 173 | 174 | \lylabel{zisi} 175 | 孔伋(前483年--前402年),字子思(与\lycharlink{yuansi}{原宪}同字),受业于\lycharlink{zengshen}{曾参},后被封为\lykw{述圣},\lylabel{mengzi}亚圣孟轲是其再传弟子。《汉书·艺文志》记有《子思》23篇,到唐代就已失传。一般认为,他继承了孔子的学统,《礼记·中庸》是其作品;《隋书·音乐志上》所载南朝梁沈约的奏答之言,认为《礼记》第30--33篇的\lyq{《中庸》、《表记》、《坊记》、《缁衣》,皆取《子思子》。}南宋咸淳三年(1267年),宋度宗诏令以\lycharlink{yanhui}{颜回}、曾参、孔伋、孟轲配享于孔庙,随孔子接受祭祀,称为\lykw{四配},位在\lylink{sikeshizhe}{十哲}之前。 176 | % NOTE: 孟子并非直接受业于子思,《孟子荀卿列传》为是。《史记·孔子世家》、《礼记·中庸》郑玄目录、朱熹《四书章句》,皆以子思为《中庸》作者。 177 | 178 | \lylabel{linfang} 179 | \lycharname{林放}:鲁国人,事迹不详。% NOTE: 相传林氏为\lycharlink{biganjiziweizi}{比干}后人,今山东省新泰市放城镇为林放故里。 180 | 181 | \lylabel{liuxiahui} 182 | \lycharname{柳下惠}(前720年--前621年):展获,字禽,又字季,也称展禽或柳下季,鲁国大夫。柳下是他的封邑(在今山东省济南市平阴县),惠是他的\lylink{liuxiahuiqi}{私谥}(“柔质慈民曰惠”)。他以正直达观著称,在《左传》、《国语》、《孟子》等中都受到推崇。如《孟子·万章下》说他\lyq{不羞污君,不辞小官;进不隐贤,必以其道;遗佚而不\lylink{yuan4b}{怨},\lylink{e4b}{厄}\lylink{qiong2}{穷}而不\lylink{min3b}{悯}。与乡人处,\lylink{youyou}{由由}然不忍去也。……故闻柳下惠之风者,鄙夫宽,薄夫敦。}(不羞污君:不以君主不贤明为耻(而辞官避世,离弃父母之邦)。遗佚:指未能入选为官。敦:厚,笃实。)他是柳姓始祖,典故“坐怀不乱”的主角。 183 | 184 | \lylabel{menggongchuo} 185 | \lycharname{孟公绰},\lycharname{公绰}:与孔子同时代的鲁国大夫,\lycharlink{mengshi}{孟氏}族人,为人廉静寡欲。《左传·襄公二十五年》(前517年)载,当年春,\lycharlink{cuizhu}{崔杼}率齐军侵入鲁国北疆,襄公向晋国求救。孟公绰发现齐军不像往常那样大肆劫掠,穷尽民力,认为崔杼别有所图:\lyq{崔子将有大志,不在\lylink{bing4}{病}我,必速归,何患焉?}果然齐军虚张声势了一阵就回去了,同年5月,齐庄公被弑。 186 | 187 | \lylabel{mengshi} 188 | \lycharname{孟氏},\lycharname{孟}:即孟孙氏,鲁国\lycharlink{sanhuan}{三桓}之一,是鲁桓公庶长子庆父的后代,已知的最后一代宗主是第11代的\lycharlink{mengjingzi}{孟敬子}。据说孟子也是庆父的后代,但和孟孙氏不同\lylink{zongzhu}{族}。 189 | 190 | \lylabel{mengwubo} 191 | \lycharname{孟武伯}:名彘(\lypy{zhì}),谥号是武,\lycharlink{mengyizi}{孟懿子}长子,\lycharlink{mengshi}{孟孙氏}第10代宗主。\lycharlink{aigong}{鲁哀公}在位的最后一年(前468年),出游时遇见孟武伯,哀公\lyq{曰:“请有问于子:余及死乎?”对曰:“臣无由知之。”三问,卒辞不对。}(及死:善终,寿终。)哀公被迫要对\lycharlink{sanhuan}{三桓}动手了。事见《左传·哀公二十七年》。 192 | 193 | \lylabel{qihuangong} 194 | \lycharname{齐桓公},\lycharname{桓公}(?--前643年):名小白,齐僖公三子,齐国第15任国君,春秋五\lylink{badao}{霸}之首(“辟土服远曰桓”)。他在位43年,信任\lycharlink{guanzhong}{管仲}主政,力行改革,国力大盛,尊王攘\lylink{yidihuaxia}{夷},\lylink{jiuhezhuhou}{九合诸侯},成为“霸主”的典范。事见《史记·齐太公世家》。 195 | 196 | \lylabel{qijinggong} 197 | \lycharname{齐景公}(前547年--前490年在位):名杵臼,齐国第23任国君,\lycharlink{cuizhu}{齐庄公}的异母弟,在位之久为齐国之最。他好饮酒、\lyq{治宫室、聚狗马,奢侈,厚赋重刑},幸好内有贤相\lycharlink{yanpingzhong}{晏婴},外有良将司马穰苴(\lypy{ráng jū}),任内局势基本稳定。但早在景公九年,晏婴就察觉到衰败的端倪,认为\lyq{齐政卒归\lycharlink{chenchengzi}{田氏}:田氏虽无大德,以公权私,有德于民,民爱之。}事见《史记·齐太公世家》。《晏子春秋》记载了大量“景公如何如何,晏子谏/讽/对”的故事。 198 | 199 | \lylabel{quboyu} 200 | \lycharname{蘧(\lypy{qú})伯玉}:蘧瑗(\lypy{yuàn}),字伯玉,卫国贤大夫,谥号是成(“安民立政曰成”)。他应比孔子年长10岁以上,孔子在卫国时,曾借住在他家。西汉刘安《淮南子·原道训》说:\lyq{蘧伯玉年五十而有四十九年非。何者?先者难为知,而后者易为攻也。}(攻:指借鉴经验以克服困难,相当于现代说的后发优势。)可见他是个不断追求进步的人。据《孔子家语·弟子行》,孔子评价他\lyq{外宽而内正,自极于隐括之中,直己而不直人,汲汲于仁,以善自终。}(隐括:矫正曲斜的工具,隐是矫曲为直,括是矫斜为方,引申为标准规范,构词与\lylink{leixie}{缧绁}相同。汲汲:急切追求的样子。) 201 | % NOTE: 他书对《庄子》、《淮南子》的引用多不准确。年长10岁为推论,因《左传·襄公十四年》(-559)蘧伯玉已为官。TODO: Add link to 孔子在卫国。 202 | 203 | \lylabel{shusunwushu} 204 | \lycharname{叔孙武叔}:鲁国\lycharlink{sanhuan}{三桓}之一叔孙氏的第8代宗主,名州仇,谥号是武,曾任鲁国\lycharlink{huantui}{司马}。叔孙氏的封邑是郈(\lypy{hòu})邑,在今山东省泰安市东平县,位于\lylink{wenshui}{汶水}北岸,齐鲁交界处。 205 | 206 | % NOTE: 郈邑之叛。起初,邑宰公若藐曾强烈反对把叔孙武叔立为继承人。前505年武叔继位,派人暗害公若藐未果。5年后(《左传·定公十年》),又指使郈邑的马正(相当于大夫家的\lycharlink{huantui}{司马})侯犯刺杀了公若藐。可侯犯趁机占据郈邑为叛,武叔联合\lycharlink{mengyizi}{孟懿子}与齐军久攻不克,后来串通郈邑的工师(工匠长官)驷赤使用反间计,才将侯犯逼往齐国,还差点把郈邑也送给齐国了。 207 | 208 | \lylabel{shun} 209 | \lycharname{舜}(约前2200年前后):有虞氏,名重华,又称虞舜,上古传说中\lycharlink{wudi}{五帝}的第5位,是五帝第2位颛顼的6世孙。他20岁即以孝谨闻名(成为《二十四孝》第1个故事“孝感动天”的主角),30岁被举荐给\lycharlink{yao}{尧帝}。尧帝把两个女儿娥皇、女英嫁给他,让9个儿子同他共事。经过长期的考察锻炼,舜在50岁时摄天子政,61岁登帝位,22年后退居二线,授权给治水有功的\lycharlink{yu}{禹},又17年后去世。舜帝\lylink{wuweierzhi}{举贤任能},布教四方,厚德远佞,建立了井井有条的清平世界。 210 | 211 | \lylabel{wangsunjia} 212 | \lycharname{王孙贾}:\lycharlink{weilinggong}{卫灵公}时的卫国大夫。 213 | 214 | \lylabel{weijun} 215 | \lycharname{卫君}:指当时在位的\lykw{卫出公}蒯辄(?--前456年),\lycharlink{weilinggong}{卫灵公}之孙。他的父亲蒯聩原被灵公立为太子,前496年,因谋杀\lycharlink{nanzi}{南子}不成被逐,投奔与卫国\lylink{liuqingneizhan}{结怨}的晋权臣赵简子。前493年灵公去世,蒯辄继位,赵简子派\lycharlink{yanghuo}{阳货}带队,送助蒯聩回卫争位,形成父子相斗的局面,\lyref{7.15} \lyq{夫子为卫君乎}的对话就发生在这期间。结果蒯聩被卫人阻截,无法入境。前480年,蒯聩由姐姐(\lycharlink{kongwenzi}{孔文子}的孀妻)做内应混入都城,挟持了外甥\lycharlink{kongkui}{孔悝}发动叛乱,终于夺位成为\lykw{卫庄公},蒯辄奔鲁,\lycharlink{zilu}{子路}为营救孔悝,死于这场变故。3年后,晋又围卫,蒯聩出逃后被杀,蒯辄回国复位。事见《史记·卫康叔世家》。% TODO: add link;重新统计年份 % NOTE: 前493年蒯聩是否入卫境,《左传》、《史记》有分歧,此依《史记》。 216 | 217 | \lyq{夫子为卫君乎}时的孔子,是周游列国踌躇满志的政治家。卫庄公上台时的孔子,已经是风烛残年、桃李满天下的老人,一年后就去世了。 218 | 219 | \lylabel{weilinggong} 220 | \lycharname{卫灵公}(前540年--前493年):名元,\lylink{kangshu}{卫国}第28任国君,6岁继位(“乱而不损曰灵”)。他的私生活较混乱,内惧夫人\lycharlink{nanzi}{南子},\lylabel{mizixia}信任男宠弥子瑕(典故“断袖余桃”后一半的主角),但公务方面称得上知人善任。《孔子家语·贤君》载,\lycharlink{aigong}{鲁哀公}曾问孔子当今之君谁为最贤,孔子回答:尽管称不上贤,卫灵公也算佼佼者了:\lyq{臣语其朝廷行事,不论其私家之际也。} 221 | 222 | \lylabel{wen} 223 | \lycharname{文},\lycharname{文王}:周文王姬昌(前1152年--前1056年),商末周国首领,\lycharlink{taibo}{季历}之子,\lycharlink{wu}{周武王}之父,在位51年,被\lycharlink{zhou}{殷纣王}封为西伯,武王灭商后追封其为周文王。文王在位时,笃仁积善,敬老慈少,天下归心,受到纣王忌惮,被囚禁于羑(\lypy{yǒu})里(在今河南省安阳市汤阴县北)。据说期间将\lycharlink{sanhuang}{伏羲}发明的\lylink{hetu}{八卦}两两相重,推演为64卦(又称后天八卦),发展成流传至今的《\lylink{yijing}{周易}》。囚禁近8年后,文王的谋臣散宜生、\lycharlink{jiangtaigong}{吕尚}等人献美女重宝于纣王,纣王大悦,不仅赦免了文王,还赐予他\lylink{liyuezhengfa}{征伐之权},周的势力\lylink{sanfentianxia}{日益扩大}了。文王回国约6年后去世,寿至97岁,武王继立。事见《史记·殷本纪》、《史记·周本纪》。 224 | % NOTE: 文王、武王的寿数,传说不一,这里采用《礼记·文王世子》的说法:\lyq{文王谓武王曰:“女何梦矣?”武王对曰:“梦帝与我九龄。”文王曰:“女以为何也?”武王曰:“西方有九国焉,君王其终抚诸?”文王曰:“非也。古者谓年‘龄’,齿亦‘龄’也。我百、尔九十,吾与尔三焉。”文王九十七乃终,武王九十三而终。} 225 | 226 | 《诗经》有很多诗篇赞颂文王的美德。民间传说文王有百子,依据的只是《诗经·大雅·思齐》:\lyq{大姒\lylink{si4c}{嗣}徽音,则百斯男。}(\lylabel{taisi}\lylink{tai4}{大}姒:即太姒,文王的正妻。徽:美,善。)文王的长子是伯邑考,《帝王世纪》载,文王遭囚后,他自愿入商做人质,被纣王杀害:\lyq{质于殷,为纣御。纣烹以为羹,赐文王,曰:“圣人当不食其子羹。”文王得而食之。纣曰:“谁谓西伯圣者?食其子羹尚不知也。”} % NOTE: 《大戴礼记》:\lyq{文王十三生伯邑考,十五而生武王},有出入。 227 | 228 | \lylabel{wu} 229 | \lycharname{武},\lycharname{武王}:周武王姬发(前1135年--前1043年),\lylink{zhouchao}{周朝}开国之君,\lycharlink{wen}{周文王}次子。前1056年继位,以姜太公\lycharlink{jiangtaigong}{吕尚}为师,任用\lycharlink{zhougong}{周公旦}、\lycharlink{shaogong}{召公奭}等贤臣,\lyq{师修文王\lylink{xu4b}{绪}业}。8年后,在盟津(今河南省洛阳市孟津县)阅兵扬威,\lyq{不期而会盟津者八百诸侯},且天降异兆,白鱼跃入王舟,天火化为赤鸦。诸侯都说\lyq{\lycharlink{zhou}{纣}可伐矣},武王认为\lyq{未知\lylink{tianming}{天命}}(应是未有把握),引兵而还。后来纣王杀\lycharlink{biganjiziweizi}{比干}、囚\lycharlink{biganjiziweizi}{箕子},众叛亲离,武王认为不可不伐,遂于前1046年春,率5万精兵,在\lylink{zhaoge}{朝歌}郊外的牧野(今河南省新乡市北)一日尽破号称70万的商军,纣王自焚死,商亡周兴。3年后武王去世,寿至93岁。事见《史记·周本纪》。 230 | % NOTE: 5万精兵 = 戎车300乘 + 虎贲3000 + 甲士4.5万。70万《史记》如此,似有夸大。文王、武王的寿数说法颇多。 231 | 232 | \lylabel{yao} 233 | \lycharname{尧}(约前2300年前后):陶唐氏,名放勋,又称唐尧,上古传说中\lycharlink{wudi}{五帝}的第4位,是五帝第3位喾的次子。尧20岁登帝位,仁智明德,亲亲利民,《史记·五帝本纪》形容他\lyq{其\lylink{ren2}{仁}如天,其\lylink{zhi4d}{知}如神,\lylink{jiu4a}{就}之如日,望之如云。}他在位70年后退居二线,授权给有孝德的平民\lycharlink{shun}{舜},20年后荐舜摄天子政,又8年后去世,\lyq{百姓悲哀,如丧父母。}后来“尧舜\lycharlink{yu}{禹}\lylink{tang}{汤}”、“二帝三王”(尧、舜;禹、汤、\lycharlink{wu}{周武王})被儒家奉为圣明君主的代名词。 234 | 235 | \lylabel{yegong} 236 | \lycharname{叶(旧读\lypy{shè})公}:沈诸梁,字子高,楚国大臣,曾被楚昭王任命为叶县(在今河南省叶县南)长官,故称叶\lylink{juewei}{公},是叶姓始祖。在叶任内,他积极兴修水利,深受民众爱戴。前479年(同年孔子去世),楚惠王之孙谋反,叶公领兵平定了叛乱,这时他身兼令尹(最高政务长官)、司马(最高军事长官)二职,事态平静后却立即退休,终老于叶,享年89岁。传说为求龙王保佑风调雨顺,叶公让在每个出水口画上龙像,成为“水龙头”的由来。“叶公好龙”是刘向《新序》托叶公之名虚构的寓言。 237 | 238 | \lylabel{yu} 239 | \lycharname{禹}(约前2100年前后):夏后氏,名文命,又称夏禹、大禹。他是中国历史上最伟大的水利工程师,\lycharlink{yao}{尧帝}时受\lycharlink{shun}{舜}举荐,治理肆虐天下的\lylink{dayuzhishui}{洪水},\lyq{劳身焦思,居外十三年,过家门不敢入}。采用疏导之法,定\lylink{sanfentianxia}{九州}、测九山、通九道、筑九堤,终告成功,使\lylink{zhongyuan}{中原}成为宜居之地。禹为人勤勉务实,以身作则,可亲可信,受舜禅让为帝,在位10年后去世。大禹陵在今浙江省绍兴市南的会(\lypy{kuài})稽山。 240 | % NOTE: 《史记·夏本纪》说他是\lycharlink{wudi}{五帝}第2位颛顼的孙子,五帝第1位黄帝的玄孙,应有误。1943年,中华民国政府将公历6月6日(传说是禹的生日)定为工程师节,又称水利节。 241 | 242 | \lylabel{boyi} 243 | 伯益,又称益,是禹指定的继承人,他是\lylink{yingzheng}{嬴姓}始祖,舜帝的山泽畜牧之官,曾助禹治水有功。但他佐政\lylink{gaoyao}{日浅},根基不牢,\lylabel{qi3}禹的儿子启又有贤能,所以当他表示谦让时,诸侯就顺势拥启为帝,开启了中国第一个世袭制王朝\lylink{xiachao}{夏朝}。 244 | % NOTE: 《古本竹书纪年》的说法是:\lyq{益\lylink{gan1}{干}启位,启杀之。} 245 | 246 | \lylabel{zangwenzhong} 247 | \lycharname{臧(\lypy{zāng})文仲}(?--前617年):名辰,谥号是文,鲁国庄公、僖公、文公的三朝重臣,为卿50余年。他思想开明,重民利商,娴于外交,《左传》、《国语·鲁语上》均有记载。前666年鲁国闹饥荒,他自告奋勇赴齐国借粮,并向质疑者解释说:\lyq{“贤者急\lylink{bing4}{病}而让夷,居官者当事不避难,在位者恤民之患,是以国家无违。”}(夷:平坦无碍。急病而让夷相当于趋难让易。\lylabel{xu4c}恤:怜悯,体念。)臧氏家族的名望仅次于\lycharlink{sanhuan}{三桓},而且是鲁国唯一历经春秋始终的世卿大族。 248 | 249 | 前549年(《左传·襄公二十四年》),叔孙氏第5代宗主叔孙豹访晋,\lylabel{fanxuanzi}晋国正卿范宣子请教他什么叫“死而不朽”,他回答:\lyq{鲁有先大夫曰臧文仲,既\lylink{mo4a}{没},其言立,其是之谓乎?豹闻之:大上有立德,其次有立功,其次有立言,虽久不废,此之谓不朽。……禄之大者,不可谓不朽。}臧文仲最著名的话,也许就是前683年(《左传·庄公十一年》)评价\lylink{songguo}{宋国}当兴时说的:\lyq{\lylink{yu}{禹}\lycharlink{tang}{汤}罪己,其兴也悖焉;\lycharlink{xiachao}{桀}\lylink{zhou}{纣}罪人,其亡也忽焉。}(悖:通“勃”,兴盛的样子。) 250 | 251 | 《论语》中两次论及臧文仲都持否定态度。《左传·文公二年》(前625年)插入了孔子对他的集中性评论,可以看出孔子衡量为政者的所轻所重:\lyq{“臧文仲,其不仁者三,不知者三:\lycharlink{15.14}{下展禽},废六关,妾织蒲,三不仁也;\lylink{5.18}{作虚器},纵逆祀,\lylink{siyuanju}{祀爰居},三不知也。”}(废六关:指废除了六个收税关卡以利工商。织蒲:织蒲席卖钱,孔子认为不合礼法。\lylabel{zongnisi}纵逆祀:指该年秋臧文仲未能阻止鲁大夫夏父弗忌按\lyq{新鬼大,故鬼小}的顺序,把去世不久的\lycharlink{luxigong}{鲁僖公}排在前面祭祀。) 252 | 253 | \lylabel{zangwuzhong} 254 | \lycharname{臧武仲}:名纥(\lypy{hé}),谥号是武,\lycharlink{zangwenzhong}{臧文仲}的孙子,曾任鲁国大夫。起先臧武仲被立为臧氏继承人,当时孟孙氏宗主\lycharlink{mengzhuangzi}{孟庄子}讨厌他,而季孙氏宗主季武子喜欢他。前550年孟庄子去世,臧武仲吊唁时哭得非常动情,认为孟庄子像良药苦口,季武子像美疢多毒(疢(\lypy{chèn}):热病),预感自己很快就会遭殃。果然几个月后,季武子就听信挑拨认为臧武仲要作乱,将他驱逐出鲁国。臧武仲先逃到\lylink{zhuguo}{邾国},又流亡至齐,\lycharlink{cuizhu}{齐庄公}准备赏给他封地。臧武仲也许有感于庄公平时的言行,当面讽刺庄公此前趁晋国内乱攻城略地的行为像老鼠一样无耻,就未被封赏,算是明哲保身。《左传·襄公二十三年》末尾,孔子感慨\lyq{知之难也},认为以臧武仲之智仍不容于祖国,并非无缘无故,而是他的某些行为不合常理,有失恕道。 255 | 256 | \lylabel{zhougong} 257 | \lycharname{周公}:姬旦,\lycharlink{wen}{周文王}四子,周初文、武、成王的三朝重臣,谥号是文(“经纬天地曰文”)。周朝建立后,他被\lycharlink{wu}{武王}封于鲁(都城在今山东省曲阜市),由长子\lycharlink{lugong}{伯禽}代任,自己一直辅佐周王室,在\lylink{wangji}{王畿}内另有\lylink{jia1}{采邑}周城,故称周公。 258 | 259 | 周公旦具有高尚的品德,卓越的才能,是孔子倾心仰慕的大\lylink{sheng4}{圣人}。\lyq{自文王在时,旦为子孝,笃仁,异于群子。及武王即位,旦常辅翼武王,用事居多。}武王有疾,周公设坛祭祖,情愿以身相代。\lylabel{chengwang}武王去世后,继位的\lykw{成王}(姬诵,前1042年--前1021年在位)年少,周公摄政当国,威仪如君;7年后还政成王,恭敬称臣。成王患病,周公又祷神自代。他和\lycharlink{shaogong}{召公}主持营建的新城洛邑,成为后来\lylink{zhouchao}{东周}的都城;他参照\lylink{shangchao}{殷商}的传统礼仪,制定了周朝的礼乐制度,相传是儒家经典《周礼》的作者;他还多次平定了诸侯叛乱,使成王及随后的\lykw{康王}(姬钊,前1020年--前996年在位)任内,\lyq{天下安宁,刑\lylink{cuo4}{错}四十余年不用},后来\lykw{文武成康}就成为盛世的代名词。《礼记·明堂位》记载:\lyq{成王以周公为有勋劳于天下,是以封周公于曲阜,地方七百里,革车千乘,命鲁公世世祀周公以天子之礼乐},鲁国得以保留了周王室的大量文献制度,并受到其它诸侯国的尊重。事见《史记·周本纪》、《史记·鲁周公世家》、《尚书·周书》。 260 | % NOTE: 成王继位之年,有6、10、13诸说不一,据摄政时间,似应为13岁。别国以鲁之礼制为尊,例见《孟子·滕文公上》:\lyq{吾宗国鲁先君莫之行。} 261 | 262 | \lylabel{shaogong} 263 | 召(\lypy{shào})公奭(\lypy{shì}):姬奭,周初文、武、成、康的四朝重臣,谥号是康(“安乐抚民曰康”)。周朝建立后,他被\lycharlink{wu}{武王}封于燕(\lypy{yān},都城在蓟,位于今北京市房山区),由长子克代任,自己一直辅佐周王室,在王畿内另有采邑召城,故称召公。《韩诗外传》第1卷第28章说,召公辅政时,不忍\lyq{以吾一身而劳百姓},拒绝营造豪华的办公楼,亲赴乡野田间听取民众心声,止歇在甘棠树下。后人睹物思人,写下了《诗经·召南·甘棠》:\lyq{蔽芾甘棠,勿剪勿败!召伯所憩。}(甘棠:又名棠梨、豆梨,果实圆形褐色,小如樱桃。蔽芾(\lypy{fèi}):枝叶茂盛浓郁的样子。) 264 | 265 | 周召二公的采邑是从\lycharlink{taibo}{古公亶父}创立的旧周国划分的。周公主抓国政,召公主抓外交,成王年少时,二公代理天下:\lyq{自陕以西,召公主之;自陕以东,周公主之。}(陕:一说为今河南省三门峡市陕州区,这样分则周公负责的范围大得多;一说为王城郏鄏(\lypy{jiá rǔ}),在今河南省洛阳市内,这样分则较均衡。)召公与周公既密切配合又互有制约,成就了西周的鼎盛时代。事见《史记·燕召公世家》、《尚书·周书》。 266 | 267 | 周公旦、召公奭去世后,周公、召公就成为他们后代的专有封号,继任者同样留在周廷辅政。% TODO: Verify 官职, sync with 3.1. 268 | 269 | \lylabel{zhutuo} 270 | \lycharname{祝鮀}(\lypy{tuó}):卫国太祝(负责宗庙祭祀),名鮀,又称祝佗,字子鱼,以口才著称。前506年春(《左传·定公四年》),近20位诸侯首脑举行集会,商议联合攻打楚国。卫国大臣认为这样的大会难得意见一致,争执起来很麻烦,所以强请祝鮀与\lycharlink{weilinggong}{卫灵公}同行。会议还没开始,灵公就对蔡国(武王五弟蔡叔的封国)位居卫国(武王九弟康叔的封国)之前产生不满。于是祝鮀引述先王之法,提出\lylink{shang4a}{尚}德不尚年(各国始祖的长幼关系),发表了滔滔雄辩,为祖国争得了靠前的位次。明代刘基的寓言《郁离子·\lycharlink{mizixia}{弥子瑕}》中,还借祝鮀之口对仰人鼻息的走狗奴才进行了辛辣讽刺。 271 | 272 | \lylabel{zichan} 273 | \lycharname{子产}(?--前522年):国侨,字子产,又称公孙侨,郑穆公(名兰,前627年--前606年在位)之孙,公子发(字子国,郑国七穆之一国氏的始祖)之子,谥号是成(“安民立政曰成”)。辅佐郑简公、郑定公,为相26年,以仁智著称,内惠于民,外善辞令,使郑国安存于晋楚两个大国之间,\lyq{终简公之身,内无国中之乱,外无诸侯之患也}(《说苑·政理》)。子产严谨务实,力行改革,执政仅一年,民众就从最初的\lylink{12.10}{恶之欲其死},转而\lyq{诵之曰:“我有子弟,子产\lylink{hui4c}{诲}之。我有田畴,子产\lylink{zhi2}{殖}之。子产\lylink{er2a}{而}死,谁其嗣之?”}(《左传·襄公三十年》(前543年)。\lylabel{si4c}嗣:继承。)子产去世时,\lyq{丁壮号哭,老人儿啼,曰:“子产去我死乎!民将安归?”}孔子也盛赞子产之政:\lyq{及子产卒,仲尼闻之,出涕曰:“古之遗爱也!”}(《史记·循吏列传》、《左传·昭公二十年》。古之遗爱:像古仁人那样值得怀念爱戴的品德。)子产墓在今河南省新郑市、长葛市、禹州市交界的陉(\lypy{xíng})山顶。 274 | % NOTE: 《史记·郑世家》云,\lyq{孔子尝过郑,与子产如兄弟云},应有误。 275 | 276 | 子产的事迹在《史记·郑世家》、《左传》襄公八年(前565年)至昭公二十年(前522年)多有记述,孔子之后历代皆有赞颂和评价。\lylabel{zhuxingding}前536年,他一改\lyq{刑不可知,则威不可测}的陈规(《左传·昭公六年》孔颖达疏),将郑国刑法铸于鼎上公布,成为有据可依的铁律,是中国第一部成文法。\lylabel{buhuixiangxiao}《左传·襄公三十一年》(前542年)载,郑国人业余常聚在乡校(乡间平民学校,兼有广场、公园的性质)议论国政是非,有官员\lyq{谓子产曰:“毁乡校,何如?”子产曰:“何为?夫人朝夕退而游焉,以议执政之善否。其所善者,吾则行之;其所恶者,吾则改之。是吾师也,若之何毁之?我闻忠善以损怨,不闻作威以防怨。岂不遽止,然犹防川:大决所犯,伤人必多,吾不克救也;不如小决使\lylink{dao3}{道},不如吾闻而药之也。”}(\lylabel{ju4}遽(\lypy{jù}):匆忙,急迫。决:开挖,疏通。药:动词,治疗。) 277 | 278 | 清代姜炳璋《读左补义》认为:\lyq{《春秋》上半部,得一\lycharlink{guanzhong}{管仲},《春秋》下半部,得一子产,都是救时之相。管仲之功阔大,泽在天下,然其过多。子产之才精实,功在一国,然其过少。管仲死而\lylink{qiluan}{齐乱},以贤才不用,而小人得志也。子产死而郑治,以犹用\lycharlink{zitaishu}{子太叔}也。} 279 | 280 | \lylabel{zifujingbo} 281 | \lycharname{子服景伯}:子服何,谥号是景,\lycharlink{aigong}{鲁哀公}时期的鲁国大夫,子服氏宗主。他和\lycharlink{zigong}{子贡}应该是关系不错的同事,吴、卫发生纠纷时,他请子贡出面斡旋,后来出使吴国也带子贡为副使,事见《左传》哀公十二年、十五年。 282 | 283 | -------------------------------------------------------------------------------- /characters_map.txt: -------------------------------------------------------------------------------- 1 | 伯牛 冉伯牛 boniu 2 | 樊须 樊迟 fanxu 3 | 公伯寮 gongboliao 4 | 公西华 子华 赤 gongxihua 5 | 公冶长 gongyechang 6 | 牢 lao 7 | 闵子骞 闵子 minziqian 8 | 南宫适 南容 nangongkuo 9 | 漆雕开 qidiaokai 10 | 冉求 冉有 冉子 求 ranqiu 11 | 申枨 shencheng 12 | 司马牛 simaniu 13 | 澹台灭明 tantaimieming 14 | 巫马期 wumaqi 15 | 颜回 颜渊 回 yanhui 16 | 颜路 yanlu 17 | 雍 仲弓 yong 18 | 有若 有子 youruo 19 | 原思 宪 yuansi 20 | 宰予 宰我 予 zaiyu 21 | 曾皙 点 zengxi 22 | 曾子 参 zengshen 23 | 子羔 柴 zigao 24 | 子贡 赐 zigong 25 | 子贱 zijian 26 | 子路 季路 仲由 由 zilu 27 | 子夏 商 zixia 28 | 子游 言游 偃 ziyou 29 | 子张 师 张 zizhang 30 | 哀公 aigong 31 | 伯夷、叔齐 boyishuqi 32 | 陈亢 陈子禽 子禽 chenkang 33 | 定公 dinggong 34 | 公叔文子 gongshuwenzi 35 | 公孙朝 gongsunzhao 36 | 公子纠 gongzijiu 37 | 管仲 guanzhong 38 | 季桓子 jihuanzi 39 | 季康子 康子 jikangzi 40 | 季氏 季孙 季 jishi 41 | 孔文子 仲叔圉 kongwenzi 42 | 鲤 伯鱼 li 43 | 林放 linfang 44 | 柳下惠 liuxiahui 45 | 孟公绰 公绰 menggongchuo 46 | 孟氏 孟 mengshi 47 | 孟武伯 mengwubo 48 | 孟懿子 孟孙 mengyizi 49 | 齐桓公 桓公 qihuangong 50 | 齐景公 qijinggong 51 | 蘧伯玉 quboyu 52 | 叔孙武叔 shusunwushu 53 | 舜 shun 54 | 王孙贾 wangsunjia 55 | 卫君 weijun 56 | 卫灵公 weilinggong 57 | 文 文王 wen 58 | 武 武王 wu 59 | 晏平仲 yanpingzhong 60 | 尧 yao 61 | 叶公 yegong 62 | 禹 yu 63 | 臧文仲 zangwenzhong 64 | 臧武仲 zangwuzhong 65 | 周公 zhougong 66 | 祝鮀 zhutuo 67 | 子产 zichan 68 | 子服景伯 zifujingbo -------------------------------------------------------------------------------- /cover.tex: -------------------------------------------------------------------------------- 1 | \thispagestyle{empty} 2 | \pagenumbering{Alph} 3 | 4 | \newpagecolor{SkyBlue}\afterpage{\nopagecolor} 5 | 6 | \newcommand{\lycoverlinkcolor}{DarkSlateGray} 7 | 8 | \begin{center} 9 | \noindent 10 | 11 | \newfontfamily{\ftcvtitleen}{Linux Libertine O} 12 | \newfontfamily{\ftcvtexten}{Linux Libertine O} 13 | \setCJKfamilyfont{ftcvtitlezh}{方正黑体_GBK} 14 | \setCJKfamilyfont{ftcvmindmap}{方正楷体_GBK} 15 | 16 | 17 | % Title. 18 | \begin{tcolorbox}[ 19 | halign=center, 20 | width=0.66\paperwidth, 21 | boxrule=1mm, 22 | boxsep=8mm, 23 | colback=Beige, 24 | colframe=WhiteSmoke, 25 | ] 26 | {\fontsize{42pt}{42pt}\selectfont\CJKfamily{ftcvtitlezh}一 瓶 论 语}\\[20pt] 27 | {\fontsize{36pt}{36pt}\selectfont\ftcvtitleen A~~~Bottle~~~of~~~Lún~~~Yǔ} 28 | % Should've used a Sans font (Source Han Sans?) for the English title to match 29 | % the Chinese title's style and to avoid the ugly (anti-pinyin style) tone marks. 30 | % But I could not find a suitable Sans font with perfect tone marks, and I really 31 | % like the classical looking of Linux Libertine O. 32 | \end{tcolorbox} 33 | 34 | \vspace*{\stretch{1}} 35 | 36 | 37 | % Mindmap. 38 | { 39 | \newcommand{\mmscale}{0.81} 40 | \newcommand{\lycovernode}[2]{\hyperlink{#1}{\textcolor{\lycoverlinkcolor}{#2}}} 41 | 42 | \centering 43 | \CJKfamily{ftcvmindmap} 44 | \begin{tikzpicture}[ 45 | mindmap, 46 | scale=\mmscale, 47 | every node/.style={concept, scale=\mmscale}, 48 | concept color=Beige, 49 | grow cyclic, 50 | root concept/.append style={font={\fontsize{28pt}{28pt}\selectfont}}, 51 | level 1/.append style={level distance=4.5cm, sibling angle=90, font={\fontsize{28pt}{28pt}\selectfont}}, 52 | level 2/.append style={level distance=3cm, sibling angle=45, font={\fontsize{25pt}{25pt}\selectfont}} 53 | ] 54 | \node[root concept]{\lycovernode{topicjunzi}{君子}} 55 | child{ node{\lycovernode{topicxue2}{学}} 56 | child{ node{\lycovernode{topicwen2}{文}} } 57 | child{ node{\lycovernode{topicyinyue}{乐}} } % vaguely implies '快乐' 58 | child{ node{\lycovernode{topiczhi4a}{智}} } 59 | child{ node{\lycovernode{topiczhi4}{志}} } % roughly implies '恒' 60 | } 61 | child{ node{\lycovernode{topiczheng4}{政}} 62 | child{ node{\lycovernode{topiclian2}{廉}} } 63 | child{ node{\lycovernode{topichui4}{惠}} } 64 | child{ node{\lycovernode{topicyongren}{贤}} } % 任人唯贤;陈力就列(己贤) 65 | child{ node{\lycovernode{topiczhong1}{忠}} } 66 | child{ node{\lycovernode{topicde2}{德}} } 67 | } 68 | child{ node{\lycovernode{topicli3}{礼}} 69 | child{ node{\lycovernode{topicchi3}{耻}} } % roughly implies '不为' 70 | child{ node{\lycovernode{topicwen1}{温}} } % roughly implies '色' 71 | child{ node{\lycovernode{topicqian1}{谦}} } 72 | child{ node{\lycovernode{topicjing4}{敬}} } 73 | } 74 | child{ node{\lycovernode{topicren2}{仁}} 75 | child{ node{\lycovernode{topicxiao4}{孝}} } 76 | child{ node{\lycovernode{topicyi4}{义}} } 77 | child{ node{\lycovernode{topicxin4}{信}} } 78 | child{ node{\lycovernode{topicyou3}{友}} } 79 | child{ node{\lycovernode{topicshu4}{恕}} } % layout: 恕 - 君子 - 忠 80 | }; 81 | \end{tikzpicture} 82 | } 83 | 84 | \vspace*{\stretch{1}} 85 | 86 | 87 | % Contact info. 88 | { 89 | \fontsize{20pt}{20pt}\selectfont\ftcvtexten 90 | \href{https://www.abolybook.org}{\textcolor{\lycoverlinkcolor}{www.abolybook.org}}\\[2pt] 91 | \href{mailto:abolybook@gmail.com}{\textcolor{\lycoverlinkcolor}{abolybook@gmail.com}}\\[12pt] 92 | \href{https://creativecommons.org/licenses/by-nc-nd/3.0/}{\textcolor{\lycoverlinkcolor}{\ccbyncnd}} 93 | } 94 | 95 | \end{center} 96 | -------------------------------------------------------------------------------- /coverly.tex: -------------------------------------------------------------------------------- 1 | \thispagestyle{empty} 2 | \pagenumbering{Alph} 3 | 4 | \begin{center} 5 | \noindent 6 | \vspace*{\stretch{1}} 7 | 8 | \newfontfamily{\ftcvtitleen}{Linux Libertine O} 9 | \newfontfamily{\ftcvtexten}{Linux Libertine O} 10 | \setCJKfamilyfont{ftcvtitlezh}{方正黑体_GBK} 11 | \setCJKfamilyfont{ftcvauthor}{方正楷体_GBK} 12 | 13 | % Title. 14 | \begin{tcolorbox}[ 15 | halign=center, 16 | width=0.66\paperwidth, 17 | boxsep=8mm, 18 | colback=Beige, 19 | colframe=WhiteSmoke, 20 | ] 21 | {\fontsize{42pt}{42pt}\selectfont\CJKfamily{ftcvtitlezh}论 语}\\[20pt] 22 | {\fontsize{36pt}{36pt}\selectfont\ftcvtitleen Lún~~~Yǔ} 23 | \end{tcolorbox} 24 | 25 | \vspace*{\stretch{2}} 26 | 27 | {\fontsize{25pt}{25pt}\selectfont\CJKfamily{ftcvauthor}〔春秋〕孔子\\[16pt](前551--前479)} 28 | 29 | \vspace*{\stretch{2}} 30 | 31 | % Contact info. 32 | { 33 | \fontsize{20pt}{20pt}\selectfont\ftcvtexten 34 | \href{https://www.abolybook.org}{www.abolybook.org}\\[10pt] 35 | \href{mailto:abolybook@gmail.com}{abolybook@gmail.com} 36 | \vspace*{\stretch{1}} 37 | } 38 | 39 | \end{center} 40 | -------------------------------------------------------------------------------- /img/bi.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture} 2 | \filldraw [black] (0, 0) circle [radius=10pt]; 3 | \filldraw [white] (0, 0) circle [radius=2pt]; 4 | \end{tikzpicture} 5 | -------------------------------------------------------------------------------- /img/chap1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap1.pdf -------------------------------------------------------------------------------- /img/chap10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap10.pdf -------------------------------------------------------------------------------- /img/chap11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap11.pdf -------------------------------------------------------------------------------- /img/chap12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap12.pdf -------------------------------------------------------------------------------- /img/chap13.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap13.pdf -------------------------------------------------------------------------------- /img/chap14.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap14.pdf -------------------------------------------------------------------------------- /img/chap15.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap15.pdf -------------------------------------------------------------------------------- /img/chap16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap16.pdf -------------------------------------------------------------------------------- /img/chap17.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap17.pdf -------------------------------------------------------------------------------- /img/chap18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap18.pdf -------------------------------------------------------------------------------- /img/chap19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap19.pdf -------------------------------------------------------------------------------- /img/chap2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap2.pdf -------------------------------------------------------------------------------- /img/chap20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap20.pdf -------------------------------------------------------------------------------- /img/chap3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap3.pdf -------------------------------------------------------------------------------- /img/chap4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap4.pdf -------------------------------------------------------------------------------- /img/chap5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap5.pdf -------------------------------------------------------------------------------- /img/chap6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap6.pdf -------------------------------------------------------------------------------- /img/chap7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap7.pdf -------------------------------------------------------------------------------- /img/chap8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap8.pdf -------------------------------------------------------------------------------- /img/chap9.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/chap9.pdf -------------------------------------------------------------------------------- /img/characters.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/characters.pdf -------------------------------------------------------------------------------- /img/gui.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture}[x=1pt, y=-1pt] 2 | \filldraw[thick, rotate=-90] (240, 38) -- (296, 80) -- (296, 435) -- (184, 435) -- (184, 80); 3 | \end{tikzpicture} 4 | -------------------------------------------------------------------------------- /img/guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/guide.pdf -------------------------------------------------------------------------------- /img/preface.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/preface.pdf -------------------------------------------------------------------------------- /img/qing.tex: -------------------------------------------------------------------------------- 1 | \begin{tikzpicture} 2 | % borders 3 | \fill (4, 3.8) -- (0, 1.9) -- (1, 0) -- (4, 0.9) -- (7, 0) -- (8, 1.9); 4 | 5 | % hole 6 | \filldraw [white] (4, 3) circle [radius=6pt]; 7 | \end{tikzpicture} 8 | -------------------------------------------------------------------------------- /img/references.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/references.pdf -------------------------------------------------------------------------------- /img/topics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/topics.pdf -------------------------------------------------------------------------------- /img/usage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/usage.pdf -------------------------------------------------------------------------------- /img/zhi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abolybook/aboly/0ebf6a7e6cf241c81af7ebc4a7ffd6bd13c85bb7/img/zhi.pdf -------------------------------------------------------------------------------- /license.tex: -------------------------------------------------------------------------------- 1 | \thispagestyle{empty} 2 | 3 | \lylabel{abolylicense} 4 | \begin{center} 5 | © 2016--\the\year, abolybook@gmail.com 6 | \medskip 7 | 8 | 本书基于\\ 9 | \textbf{“知识共享”署名-非商业性使用-禁止演绎}\\ 10 | (\textbf{Creative Commons BY-NC-ND})\\ 11 | 许可协议3.0版发布:\\ 12 | https://creativecommons.org/licenses/by-nc-nd/3.0/\\ 13 | 该许可协议的中国大陆版:\\ 14 | https://creativecommons.org/licenses/by-nc-nd/3.0/cn/ 15 | \end{center} 16 | -------------------------------------------------------------------------------- /ly.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper, openany, oneside, 12pt]{book} 2 | 3 | \input{style.tex} 4 | 5 | 6 | \newtcolorbox[auto counter, number within=chapter]{lybaseblobraw}{ 7 | skin=enhanced jigsaw, 8 | colback=white, colframe=black!42, 9 | boxrule=0.5mm, 10 | % after skip=1em, 11 | phantom={\lyblobmark{\thetcbcounter}}, 12 | overlay unbroken and first ={ 13 | \node[anchor=north east, inner sep=0pt, outer sep=0pt] at ([xshift=-\marginparsep]frame.north west) {\tcbox[boxsep=0pt, left=1.8mm, right=1.8mm, top=1.8mm, bottom=1.8mm, colback=white, colframe=black!42]{\thetcbcounter}}; 14 | } 15 | } 16 | 17 | \newcommand{\lyblobraw}[1]{% 18 | \begin{lybaseblobraw} 19 | #1 20 | \end{lybaseblobraw}} 21 | 22 | 23 | \usepackage[ 24 | unicode, 25 | bookmarks=true, 26 | bookmarksnumbered=true, 27 | pdfpagemode=UseOutlines, 28 | pdfstartview=FitH, 29 | pdfpagelayout=OneColumn, 30 | colorlinks=true, 31 | allcolors=black, 32 | ]{hyperref} 33 | 34 | \hypersetup{ 35 | pdftitle=论语, 36 | pdfauthor=孔子 著,abolybook@gmail.com 制作, 37 | pdfsubject=, 38 | pdfkeywords={\versioninfoly}, 39 | pdfcreator=XeLaTeX with Python, 40 | } 41 | 42 | 43 | %============================================================ 44 | 45 | \begin{document} 46 | 47 | \lyblobmark[0]{论语} 48 | \input{coverly.tex} 49 | 50 | \frontmatter 51 | \lyblobmark[0]{目录} 52 | \tableofcontents 53 | 54 | \mainmatter 55 | \renewcommand{\lyheaderimg}{chap\thechapter} 56 | \include{autolybody} 57 | 58 | \end{document} 59 | -------------------------------------------------------------------------------- /preface.tex: -------------------------------------------------------------------------------- 1 | \phantomsection 2 | \chapter*{前\qquad 言} 3 | \addcontentsline{toc}{chapter}{前言} 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | 《论语》是传统文化的宝贵财富,一个时代应该有一个时代的《论语》读本。 7 | 8 | 什么是传统文化?我想,它应该是让人发自内心感到熟悉亲切,感到温暖安乐的东西吧。一个国家的传统文化,是国民的精神港湾,闪耀着自古以来的共同理想。柳诒徵先生的《中国文化史》说:\lyq{孔子者,中国文化之中心也。无孔子则无中国文化。}如果不先了解孔子,又怎能断定这句话的是与非呢? 9 | % NOTE: 柳书随后一句是:\lyq{自孔子以前数千年之文化,赖孔子以传;自孔子以后数千年之文化,赖孔子而开。} 10 | 11 | 《论语》是写孔子最真实可靠的材料。孔子在古代被称为\lylink{sheng4}{圣人},他自己却觉得,连\lylink{junzi}{君子}的标准都还\lylink{7.33}{够不上},兴致勃勃地做着\lylink{7.17}{学习计划}呢。孔子的形象,有时被神化,有时又被虚化,容易让人敬而远之,这可不是他的错。稍微读读《论语》就会觉得,孔子没有那么高深莫测,是一位可敬又风趣的老人家。仔细想想还会明白,他的心灵离我们有多么近,尽管年代隔了那么远。 12 | 13 | 《论语》是一本很小的书。我采用的\lylink{lunyuversion}{版本},原文分为20篇,共512章,15917字。如果按现代文的阅读速度,40分钟就能读完一遍。它的文字简练优美,只是有些难字需要解释,为了帮助理解,还要补充一些背景材料。它的涵义丰富深远,不太适合速读,应该反复玩味。这就是同时提供了注释版和\lylink{baiwenban}{白文版}的原因。 14 | % NOTE: 字数统计,见 rawblobs.py。 15 | 16 | 《论语》的注本已经数不胜数,为什么还要另搞一套呢? 17 | 18 | 我非常喜欢《论语》。我常想,假如《论语》能说话,一定很羡慕“人家”《圣经》有那么多的优质资源,从网站到电子书,内容精良,还可以免费使用。语录体的《论语》,难道不是碎片时间看上几眼,反复揣摩的绝好选择? 19 | 20 | 我见过的注本中,古代的作品有的简洁有的细密,但现代人读起来难免艰涩。现代的作品,有的只解释字词而缺乏感想,比较沉闷,有的回护古人较多,略显执拗,有的刻意回避了传统的观点,缚手缚脚,也有的发挥较远,并不耐读。而且一旦出版,大小瑕疵无法随时修正,新材料新成果难以及时补充,让认真的作者和读者都很苦恼。 21 | % NOTE: 当然,还有很多出色的注本,因为这样那样的原因,消失于大众的视野了,这也并不公平。 22 | 23 | 这本书是我在业余时间的一个尝试,希望写成一个既严谨又可读,既保留传统内涵又反映现代价值的普及读本。我没受过文史科班训练,遇到不懂的就去查考比较,力求字字落实。因为没有规范写法的条条框框,内容和形式的选择就相对灵活,这在\lylink{usage}{使用说明}里作了交代。把它发布为\lylink{projectinfo}{开源项目},就可以自由地阅读,便捷地更新,让更多的人直接受益。有时候人总要撒点野,做点自己特别想做的事情,这个项目就是一个例子。 24 | % NOTE:《古文辞类纂》李承渊后序认为自己句读古文的水平远不如先贤,\lyq{惟有不偏执己见,勤学好问,一有会悟,随时改正而已。}惜无今日之便利条件。 25 | 26 | 孔子已经过时了吗?这是每一章都无法回避的问题,撰写和维护这本书也可以看成反复追问与应答的一种记录。我的想法是,既不刻意回护,也不苛求古人,如果言之成理,就尽量从正面解读每一章的意义。唱反调固然痛快,角度又多,但放在注本里,就显得单薄乏味。读者自己确实应该从多个角度揣摩,作为必不可少的思维练习。 27 | 28 | 当然,我再钟爱《论语》,也不认为2000多年前的古书是包治百病的神药。如果说传统文化\lylink{19.22}{未坠于地},就应该理解其内涵,发扬其精神,保持健康的传承。倘若孔子有知,应该会对《动物庄园》(\emph{Animal Farm})里老少校(Old Major)的话深有同感:\lyq{我岁数大了,嗓音又哑,可一旦教会你们这曲调,你们就能自己唱得更好。}(\lyqe{I am old and my voice is hoarse, but when I have taught you the tune, you can sing it better for yourselves.}) 29 | 30 | 这本书尚处于初级阶段。我读书太少,眼界太窄,能投入的时间又有限,各种谬误也会相当可观。不过程序员的好处是,你指出来错误,他就一定会改,欢迎随时\lylink{projectinfo}{批评指正}。 31 | % TODO: remove "这本书尚处于初级阶段。" after 3 passes of self-reviews, adding proper images, and (most importantly) finishing the guide. 32 | 33 | 衷心感谢教我语文的两位王老师和欧阳老师,教我英语的拾老师和田老师。如果不是你们的言传身教,很难想象我会一直保持阅读与思考的习惯。希望这本小书没有让你们失望。 34 | 35 | \lycenterpar{阅读愉快!} 36 | 37 | % NOTE: 前言初稿写于2016-3-9,人机围棋大战5番棋之首战,李世石九段186手负Google AlphaGo。目标:在电脑更懂欣赏之前,把这本书写完…… 38 | -------------------------------------------------------------------------------- /rawblobs.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | import io 5 | import re 6 | import sys 7 | import subprocess 8 | 9 | __all__ = ['titles', 'rawblobs', 'rawblobs0'] 10 | 11 | titles = None 12 | 13 | # [('1.1', '...'), ...], without titles. 14 | rawblobs = None 15 | 16 | # Chinese characters only, without punctuation marks. 17 | rawblobs0 = None 18 | 19 | 20 | def init_rawblobs(): 21 | global titles, rawblobs, rawblobs0 22 | titles = [] 23 | rawblobs = [] 24 | rawblobs0 = [] 25 | INFILE = 'autolybody.tex' 26 | ENCODING = 'utf-8' 27 | lytitle_re = re.compile(r'\\chapter{(.+?)}') 28 | lyblobraw_re = re.compile(r'\\lyblobraw\{(.+?)\}|\\chapter\{', re.S) 29 | 30 | if subprocess.call([sys.executable, 'autolybody.py']) != 0: 31 | raise RuntimeError('Failed to generate %s' % INFILE) 32 | 33 | with io.open(INFILE, encoding=ENCODING) as fin: 34 | content = fin.read() 35 | 36 | for mat in lytitle_re.finditer(content): 37 | titles.append(mat.group(1)) 38 | 39 | chapter = 0 40 | section = 0 41 | for mat in lyblobraw_re.finditer(content): 42 | b = mat.group(1) 43 | if b: 44 | section += 1 45 | rawblobs.append(('%d.%d' % (chapter, section), b)) 46 | else: 47 | chapter += 1 48 | section = 0 49 | 50 | # Remove punctuation marks. Boundaries are manually picked. See EOF. 51 | LOW, HIGH = ord(u'一'), ord(u'龟') 52 | for b in rawblobs: 53 | label, text = b 54 | arr = [] 55 | for c in text: 56 | if LOW <= ord(c) <= HIGH: 57 | arr.append(c) 58 | rawblobs0.append((label, ''.join(arr))) 59 | 60 | 61 | init_rawblobs() 62 | 63 | if __name__ == '__main__': 64 | nchars = sum(len(b[1]) for b in rawblobs0) 65 | if len(sys.argv) == 2: # TODO: called in LaTeX? 66 | opt = sys.argv[1] 67 | if opt == '-pian': 68 | s = set(x[0].split('.')[0] for x in rawblobs) 69 | print(len(s), end='') 70 | elif opt == '-zhang': 71 | print(len(rawblobs), end='') 72 | elif opt == '-zi': 73 | print(nchars, end='') 74 | else: 75 | print('%d Chinese characters in the text.' % nchars) 76 | 77 | # All characters sorted: 78 | # —‘’“”、。《》一七万丈三上下不与专且世丘东两丧中临为主举乃久义之乎乐乘九乞也 79 | # 习乡书乱予争事二于云互五井亚亟亡亢交亦产亩享亲亵人亿仁仆今仍从仕他仞代令以仪仰仲 80 | # 任伊伐众优会传伤伦伯似位体何余佚佛作佞佩佾使侃侍侗依侧侮侯便俎保俟信俨俭修俱倍倚 81 | # 借倦倩倾偃偏偲偷傩僎儒允兄先克免兕党兢入八公六兮共关兴兵其具兹养兼兽内冉再冕军农 82 | # 冠冢冯冰冶凋几凤凶出击刀分切刑列则刚创利别到前割力劝功加务动助劳勃勇勉勤勿匏北匡 83 | # 匹区医匿十千升半华卑卒卓南博卞占卫危即卷卿历厉厌厚原厩去参又及友反发叔取受变口古 84 | # 叩只召可台史右叶司叹各合吉吊同名后君吝否听启吴吾告呜周味呼命和咎咏咨哀哂哉哭唐唯 85 | # 商善喜喟喭喻嗅嘉器噫四回因困固国图圃圉土圣在圭地均坏坐坚坠坦坫城域堂堪塞墙壤士壮 86 | # 声处备复夏夕多夜大天太夫夭失夷夺奔奚奡奢奥女奴好如妇妻始姓姜威媚子孔存孙孝孟季孤 87 | # 学孰孺宁守安宋完宗官定宜宝实审客室宪宫宰害宴家容宽宾宿寄富寒寝察寡寮对寿封射将尊 88 | # 小少尔尚尝尤尧就尸尹尺尼尽居屏屡履山岁岂崇崔崩巍川州工左巧巫己已巷巽市布帅师希帛 89 | # 帝带席帷常干平年并幸幼庄应庙府废度庭庶康庸庾廉廋廷开异弃弈弋式弑弓弗弘弟张弥弦归 90 | # 当彬彭彻彼往征径待徒得徙御循微德徼心必忍志忘忠忧忮念忽忿怀怃怍怒思怡急性怨怪总恂 91 | # 恐恒恕恭息恶恸悔患悱悲悾情惑惜惟惠惧惮惰愆愈愉意愚愠愤愬愿慈慎慝慢慧憎憾懿戈戎戏 92 | # 成我戒或战戚戮户戾所手才托执扫扰扶承抑折报拒拖拜择拱持指挚损据授掌探接揖揭摄摈撤 93 | # 播撰攘改攻放政故敏救教敛敝敢散敬数文斐斗斯新方施旅族无既日旧旨时昆明易昔星春昭是 94 | # 昼晋晏晨景暇暑暴曰曲更曾月有朋服朔朕望朝期木未末本朱朽杀权杇材杖杞束来松枉析枕林 95 | # 果枨柏某柔柙柳柴树栖栗校格桀桑桓桴梁梦棁棘棣棺椁植椟楚樊次欲欺歌止正武死殆残殖殡 96 | # 殷殿毁毅毋母每比氏民气水永求汉汤汶沂沐沛沟没沮河治沽法泛泥泰洁洋洒津洫流浅济浮浴 97 | # 海浸涂涅润淫深清渊渎温游溺滔滕滥漆澹灌火灭灵灶点烈焉焕焚然熟燕燧爱父片版牖牛牟牡 98 | # 牢物犁犬犯犹狂狄狎狐独狱狷猛献玄率玉王琏琢瑚瑟瓜瓢甘甚生用甫由申画畏畔畜疏疑疚疾 99 | # 病白百皆皇皋皙皦皮盈益盍监盖盗盛目直相盼省瞻瞽矜矢矣知矩短石硁磋磨磬磷示礼社祇祝 100 | # 神祭祷禄禘禹离禽秀私秉科秦称移稷稻稼穆穷空穿突窃窒窥窬立章童竭端笃笑笾等答策筲简 101 | # 箕算管箪篑类粟粪粮精系素紫絺緅纠红纣约纯纲纳纵绀绁绅细终绎经绘给绚绝绞绤绥继绰维 102 | # 缁缊缧缭缺罔罕罚罢罪羊美羔羞群羹羽羿翔翕翼老者而耕耦耰耳耻聚聪肆肉肤肥肩肱肸胜胫 103 | # 能脍脩脯腥臣臧自臭至致臾舆舌舍舜舞舟良色艺节芸苗苟若荆草荏荐荡荣药荷莅莒莞莫获菜 104 | # 菲萧葬葸蒉蒙蓧蔡蔽薄薛薨藏藻蘧虎虐虑虚虞虽蛮血行衡衣表衰衽袂袍袗被裁裘裨裳襁襄襜 105 | # 西要覆见观视觉觌角觚言訚誉譬讦讨让讪议讱讲讷论讼证识诈诔试诗诚诛诬语诱诲说诵请诸 106 | # 诺读谁谄谅谋谌谏谓谤谨谮谲谷豆豚豹貉貊貌贞负贡责贤败货质贪贫贯贰贱贵费贼贾赉赋赏 107 | # 赐赤赦赵起趋足路践踖踧蹈蹜躁躩身躬軏輗车轻辂辅辍辞辟辨辰辱达迁迂迅过近进远违连迟 108 | # 迩述迷迹追退送适逆选通逝逞速造逮逸逾遂遇道遗邑邦邪邻郁郑鄙鄹酒酱醯里重野量釜钓钟 109 | # 钻铎铿错锦长门问闲间闵闻阈阙防阳阴阶阼附际陈陋降陪陵陶陷隅随隐难雅集雉雌雍雎雕雩 110 | # 雷霸静非面鞟鞠鞭韫韶顺须顾颂颛颜颠风食餲饐饥饩饪饭饮饰饱饿馁馈馑馔首騧马驷驾骄骈 111 | # 骍骞骥高鬼魋魏鮀鱼鲁鲜鲤鸟鸡鸣麑麻黄黍默黜黻鼓鼗齐齿龟!,:;? 112 | -------------------------------------------------------------------------------- /references.tex: -------------------------------------------------------------------------------- 1 | \lyalt{\lylabel{references}}{} 2 | \phantomsection 3 | \chapter*{参\quad 考\quad 材\quad 料} 4 | \addcontentsline{toc}{chapter}{参考材料} 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | 7 | 本书引用的内容,只是依据笔者的眼界好恶“择善而从”,偏颇在所难免。这里列出了主要的参考材料,以便读者查阅求证。其它材料(尤其是网上资料)无法详列,这里一并谨致谢忱。 8 | 9 | 列出的每本书后面,有的带有点评,主要是背景介绍和一点浅陋的读书感受,不敢对前辈的心血不敬,请读者明察。 10 | 11 | \lylabel{baiwenban} 12 | 岳麓书社“古典名著普及文库”收录的都是“白文版”,也就是无注释无翻译不删节的古文原本。因为没有视觉上的不连续性,就易于把注意力集中到原文上,形成完整独立的认识。可惜出于“普及”,古代序跋大多未予保留,后面不逐一评介。 13 | % NOTE: “中华经典普及文库”、“中华经典名著全本全注全译丛书”也有同样的问题。中华书局的“中华国学文库”在这方面则较好。 14 | 15 | 16 | \lypdfbookmark\section*{工具书} 17 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 | 19 | \lybook{《辞源》}(第3版),商务印书馆编辑部\,编,商务印书馆,2015年。学习古汉语的权威参考,注解扎实,例句多引自最初的书证,有一锤定音的效果。第3版同时推出了U盘版和\lyurl{http://ciyuan.cp.com.cn}{网络版},但对比牛津、韦氏等英文词典的勤修苦练子孙满堂,可改进的地方实在太多,愿关心\lylink{lunyujishi}{国家生命}者察焉。 20 | % NOTE: 第2版引文不确的例子,如“艺”的子罕篇例句;第3版已改。第3版网络版(http://ciyuan.cp.com.cn/)需要付费,目前(2016-2)感觉还有bug,体验欠佳。另外,第3版前言开头“太初有字,道在其中,理在其中”等提法,感觉很奇怪。可以和1915年初版前言“《辞源》说略”的精气神作比较(http://ciyuan.cp.com.cn/etymology/common/showHTML.jspx?url=/fulu/chubanshuoming.html)。 21 | 22 | \lybook{《汉字源流字典》},谷衍奎\,编,语文出版社,2008年。上推至甲骨文、篆文,分析了11000多个汉字的构造、本义与演变,图文并茂,多有创见,特别有益于理清字义的发展脉络。 23 | 24 | \lybook{《说文解字今释》}(增订本),汤可敬\,撰,上海古籍出版社,2018年。 25 | 26 | \lybook{《古代汉语虚词词典》},中国社会科学院语言研究所古代汉语研究室\,编,商务印书馆,1999年。包括单字和常用搭配,共1855条,讲解细密,不落俗套,引证丰富,令人心情爽快。 27 | 28 | % \lybook{《古代汉语词典》}(第2版),张双棣\,主编,商务印书馆,2014年。主要用它和《辞源》相互印证。常比较不同的词典把哪个义项放在最前面作为本义(第一推动),可以揣摩编撰者进退取舍的思路。 29 | % NOTE: 编校略粗疏,如“第2版修订说明”中,“楚辞”赫然误为“楚语”。且无附录。 30 | 31 | \lybook{《古汉语常用字字典》}(第5版),王力\,主编,商务印书馆,2016年。这是我最熟悉亲切的古汉语字典,详略合宜,释义清晰,例证精当,上中学时得益甚多。本书常举成语为例、不怕多注拼音,可能就是受它的影响。 32 | 33 | \lybook{《新华字典》}(第12版),中国社会科学院语言研究所\,编修,商务印书馆,2020年。 34 | 35 | \lybook{《现代汉语规范字典》}(第3版),李行健\,主编,外语教学与研究出版社,2010年。 36 | 37 | \lybook{《现代汉语词典》}(第6版),中国社会科学院语言研究所词典编辑室\,编,商务印书馆,2012年。 38 | 39 | \lybook{《现代汉语规范词典》}(第3版),李行健\,主编,外语教学与研究出版社,2014年。 40 | 41 | \lybook{《汉语成语源流大辞典》},刘洁修\,著,开明出版社,2009年。 42 | 43 | \lybook{《中国历史地图集》(第1册:原始社会·商·西周·春秋·战国时期)},谭其骧\,主编,中国地图出版社,1982年。这是一套划时代的地图集,编制历时近30年,从谭先生留下的日记中,不难感受当时的工作热忱。30多年又过去了,最畅销的还是这个版本,当年为了“尽快公开出版”而留下的“很不少”的“错误和不妥之处”,仍待后人。 44 | % NOTE: 谭先生日记及回忆,见葛剑雄编《谭其骧日记》,著《悠悠长水:谭其骧传》。地图集“出版后记”中写道:\lyq{我可以在此奉告读者:从1982年起,中国社会科学院已经组织了有关的学者专家着手编制一部包括各种题材的巨型历史地图,争取在九十年代问世。} 45 | 46 | 47 | \lypdfbookmark\section*{论语相关} 48 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 49 | 50 | \lylabel{lunyuyizhu}\lybook{《论语译注》}(第2版),杨伯峻\,译注,中华书局,1980年。这应该是解放后中国大陆最流行的《论语》读本,初版于1958年,注释翔实,包含很多对古汉语的独到体会。可惜限于时代,作者谨守语言学家的界限,难以畅达地阐述各章内涵,另外也有一些小错。2006年中华书局出了简体字本,2009年岳麓书社出了杨先生堂侄杨逢彬负责的修订重版。奇怪的是,它们把原本颇具特色的“试论孔子”、“论语词典”等删掉,只留下光溜溜的20篇。我觉得,往往是这样推陈出新的地方,才体现作者的功力,才对读者更有用。幸好2015年中华书局典藏版复其原貌。 51 | % NOTE: 错误辨析可以参考2012年白平的《杨伯峻〈论语译注〉商榷》。其中对译文的一些纠结,似乎不太必要。 52 | 53 | \lybook{《论语新解》},钱穆\,著,三联书店,钱穆作品系列,2002年。本书以浅近精实的文言文写成,字词的注释要言不烦,着重于“心解”每一章的意义,反复阐述修身治学之道,在现代注本中占有不可替代的地位。 54 | % TODO: 与《论语译注》的立场明显不同,钱先生显然是以……回护,性格。 55 | 56 | \lybook{《论语本解》},孙钦善\,著,三联书店,2009年。注释精准,各章之间经常提供交叉引用,5个附论也各有价值。2013年出修订版。 57 | 58 | \lybook{《论语今注今译》},毛子水\,注译,重庆出版社,2009年。原属台湾商务印书馆“古籍今注今译丛书”的一种,1975年出版,1984年作者校订再版,在海外具有广泛持久的影响。它的大部分注释选自合适的古注,辅以按语,另有不少生动活泼的议论,遇到难理解或争议大的就直接写明,读起来既顺畅又踏实。该丛书由上海商务印书馆前总经理(1930--1945)、台湾商务印书馆前董事长(1964--1979)王云五先生主编,共出版约60种。 59 | 60 | \lybook{《论语通译》}(修订版),徐志刚\,译注,人民文学出版社,语文新课标必读丛书,2006年。发行量较大,简明清通,但似乎过于简化,疏漏略多。 61 | % NOTE: 例如:学则不固;三年无改于父之道。 62 | 63 | \lylabel{lunyuzhushu} 64 | \lybook{《论语注疏》},〔三国魏〕何晏\,等集解,〔南朝梁〕皇侃\,义疏,〔北宋〕邢昺\,正义,梁运华\,整理,山东画报出版社,四库家藏丛书,2004年。儒家“十三经注疏”之一,汉唐经学的总结,朱熹《四书集注》之前的通行注本。书前“提要”介绍:\lyq{三国时,魏何晏等五人集孔安国、包咸、周氏、马融、郑玄、陈群、王肃和周生烈等对《论语》的解说,择善而从,成《论语集解》。梁皇侃对《集解》进行疏解,成《论语义疏》。宋咸平二年(公元999年),邢昺遵诏改定皇侃《义疏》,其删繁就简,增加对义理的阐述,终成《论语正义》二十卷,又名《论语注疏》。}因清儒刘宝楠也有《论语正义》,为清代经学之结晶,故本书多称《论语集解》或《论语注疏》。后附 \lybook{《孝经注疏》},〔唐〕李隆基\,注,〔北宋〕邢昺\,疏,周宏伟\,整理。 65 | 66 | \lybook{《论语义疏》},〔南朝梁〕皇侃\,撰,高尚榘\,校点,中华书局,中国思想史资料丛刊,2013年。 67 | 68 | \lybook{《四书集注》},〔南宋〕朱熹\,集注,陈戍国\,标点,岳麓书社,2004年。 69 | 70 | \lybook{《诸子集成(第一册):论语正义·孟子正义》},〔清〕刘宝楠、刘恭冕、焦循\,撰,北京燕山出版社,2008年。 71 | % NOTE: 小字横排本,比中华书局的大字竖版便利一些。1996年团结出版社也出过类似的版本。 72 | 73 | \lylabel{lunyujishi} 74 | \lybook{《论语集释》},程树德\,撰,中华书局,中华国学文库,2013年。本书可称《论语》注解大全,分类集成了从汉至清各家学者的研究心得,引书680种,并加按语,方便后人系统了解各种诠释与引申,至可感佩。或有讥为取舍不尽精当,敢问更精者何在?其《自序》称:\lyq{夫文化者国家之生命,思想者人民之倾向,教育者立国之根本,凡爱其国者,未有不爱其国之文化。}可与钱穆先生《国史大纲》开篇的“凡读本书请先具下列诸信念”对读。 75 | % NOTE: 难称更精者:《论语汇校集释》(上海古籍2008版)、《论语歧解辑录》(中华书局2011版)。 76 | 77 | \lybook{《论语注》},〔清〕康有为\,撰,姜义华、张荣华\,编校,中国人民大学出版社,国家清史编纂委员会·文献丛刊·康有为全集(第六集),2007年。 78 | 79 | \lybook{《唐写本论语郑氏注及其研究》},王素\,编著,文物出版社,1991年。 80 | 81 | \lybooke{Analects: With Selections from Traditional Commentaries}, Edward Slingerland(森舸澜), Hackett Publishing Co., Hackett Classics, 2010. 82 | % NOTE: 解释不确的例子,如“天将以夫子为木铎”,被翻译成 "Heaven intends to use your Master like the wooden clapper for a bell." 83 | 84 | \lybooke{CONFUCIUS: Discussions/Conversations, or the Analects (Lun-yu)}, David R. Schiller, Amazon Digital Services, Inc., 2014. 85 | 86 | \lybook{《论语研究史》},戴维\,著,岳麓书社,2011年。 87 | 88 | 89 | \lypdfbookmark\section*{孔子相关} 90 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 91 | 92 | \lybook{《孔子》},张秉楠\,著,人民日报出版社,2010年。 93 | 94 | \lybook{《孔子传》},钱穆\,著,三联书店,钱穆作品系列,2012年。 95 | 96 | \lybook{《先秦诸子系年(外一种)》},钱穆\,著,河北教育出版社,二十世纪中国史学名著,2001年。 97 | 98 | \lybook{《孔子传》},李长之\,著,东方出版社,2010年。 99 | 100 | \lybook{《论语二十讲》},周予同、朱维铮\,等著,傅杰\,选编,华夏出版社,伟大传统丛书,2009年。 101 | % NOTE: 编者序:\lyq{本书名为《论语二十讲》,但却选入了多篇关于孔子生平与思想的文字}。 102 | 103 | \lybook{《孔子与中国之道》}(\lybooke{Confucius and the Chinese Way}),顾立雅(Herrlee Glessner Creel)著,高专诚\,译,大象出版社,当代海外汉学名著译丛,2000年。Original English edition published by Harper Torchbooks, 1960. 104 | 105 | \lybook{《孔子:喧嚣时代的孤独哲人》}(\lybooke{The Authentic Confucius: A Life of Thought and Politics}),金安平\,著,黄煜文\,译,广西师范大学出版社,2011年。Original English edition published by Scribner, 2007. 106 | 107 | \lybook{《孔子集语校补》},〔清〕孙星衍\,等辑,郭沂\,校补,齐鲁书社,1998年。 108 | 109 | \lybook{《孔丛子》},王钧林、周海生\,译注,中华书局,中华经典藏书丛书,2012年。 110 | 111 | % \lybooke{Confucius: And the World He Created}, Michael Schuman, Basic Books, 2015. 112 | 113 | \lybook{《孔子百科辞典》},张岱年\,主编,夏乃儒\,执行主编,上海辞书出版社,2010年。 114 | 115 | 116 | \lypdfbookmark\section*{其它} 117 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 118 | 119 | \lybook{《史记》},李全华\,标点,岳麓书社,古典名著普及文库,1988年。 120 | 121 | \lybook{《史记》},〔西汉〕司马迁\,撰,〔南朝宋〕裴骃\,集解,〔唐〕司马贞\,索隐,〔唐〕张守节\,正义,中华书局,中华国学文库,2011年。通称“三家注”本,是宋代以来古注的标准版本。 122 | 123 | \lybook{《史记笺证》}(修订版),韩兆琦\,编著,江西人民出版社,2009年。 124 | 125 | \lybook{《汉书》},〔东汉〕班固\,撰,〔唐〕颜师古\,注,中华书局,2000年。 126 | 127 | \lybook{《后汉书》},〔南朝宋〕范晔\,撰,〔唐〕李贤\,等注,中华书局,2000年。 128 | 129 | \lybook{《三国志》},〔西晋〕陈寿\,撰,〔南朝宋〕裴松之\,注,中华书局,中华国学文库,2011年。 130 | 131 | \lybook{《四书五经》},陈戍国\,点校,岳麓书社,2003年。白文版11合1(含春秋三传),使用方便。 132 | % NOTE: 此为上下册1637页。另有“中华经典普及文库”同名书(中华书局2009年版),单册925页,不含公羊、谷梁传。陈戍国《四书五经校注本》(岳麓书社2006年版)亦不含公羊、谷梁传。 133 | 134 | \lybook{《春秋左传正义》},〔西晋〕杜预\,注,〔唐〕孔颖达\,正义,北京大学出版社,十三经注疏丛书,1999年。 135 | 136 | \lybook{《春秋左传注》},杨伯峻\,编著,中华书局,中华国学文库,2018年。 137 | 138 | \lybook{《左传译注》},李梦生\,撰,上海古籍出版社,中华古籍译注丛书,1998年。 139 | 140 | \lybook{《春秋公羊传译注》},王维堤、唐书文\,撰,上海古籍出版社,十三经译注丛书,2004年。 141 | 142 | \lybook{《春秋公羊传注疏》},〔东汉〕何休\,注,〔唐〕徐彦\,疏,蒋宗福\,整理,山东画报出版社,四库家藏丛书,2004年。 143 | 144 | \lybook{《春秋谷梁传译注》},承载\,撰,上海古籍出版社,十三经译注丛书,2004年。 145 | 146 | \lybook{《春秋谷梁传注疏》},〔东晋〕范宁\,注,〔唐〕杨士勋\,疏,喻遂生、张显成、蒋宗福\,整理,山东画报出版社,四库家藏丛书,2004年。 147 | 148 | \lybook{《春秋传》},〔南宋〕胡安国\,撰,王丽梅\,校点,岳麓书社,湖湘文库·甲编,2011年。 149 | 150 | \lybook{《尚书译注》},李民、王健\,撰,上海古籍出版社,国学经典译注丛书,2012年。《尚书》篇幅不长,但以诘屈聱牙著称。这个译注本精细周详,有历史背景分析,有各家注的比较,给人呵护备至的感觉。 151 | 152 | \lybook{《尚书正义》},(旧题)〔西汉〕孔安国\,注,〔唐〕孔颖达\,疏,喻遂生\,整理,山东画报出版社,四库家藏丛书,2004年。 153 | 154 | \lybook{《书集传》},〔南宋〕蔡沈\,注,钱宗武、钱忠弼\,整理,凤凰出版社,2010年。 155 | 156 | \lylabel{shijingquanzhu}\lybook{《诗经全注》},褚斌杰\,注,人民文学出版社,世界文学名著文库,1999年。 157 | 158 | \lybook{《毛诗正义》},〔西汉〕毛亨\,传,〔东汉〕郑玄\,笺,〔唐〕孔颖达\,等疏,梁运华\,整理,山东画报出版社,四库家藏丛书,2004年。 159 | 160 | \lybook{《诗集传》},〔南宋〕朱熹\,注,赵长征\,点校,中华书局,中华国学文库,2011年。 161 | 162 | \lybook{《周礼·仪礼·礼记》},陈戍国\,点校,岳麓书社,古典名著普及文库,2006年。 163 | 164 | \lybook{《周礼》},徐正英、常佩雨\,译注,中华书局,中华经典名著全本全注全译丛书,2014年。 165 | 166 | \lybook{《周礼注疏》},〔东汉〕郑玄\,注,〔唐〕贾公彦\,疏,彭林\,整理,山东画报出版社,四库家藏丛书,2004年。 167 | 168 | \lybook{《仪礼译注》},杨天宇\,撰,上海古籍出版社,十三经译注丛书,2004年。 169 | 170 | \lybook{《仪礼注疏》},〔东汉〕郑玄\,注,〔唐〕贾公彦\,疏,尹小林\,整理,山东画报出版社,四库家藏丛书,2004年。 171 | 172 | \lybook{《礼记译注》},杨天宇\,撰,上海古籍出版社,十三经译注丛书,2004年。 173 | 174 | \lybook{《礼记正义》},〔东汉〕郑玄\,注,〔唐〕贾公彦\,疏,喻遂生、蒋宗福、张显成、方有国、李海霞、何锡光\,整理,山东画报出版社,四库家藏丛书,2004年。 175 | 176 | \lybook{《礼记》},原名《礼记集说》,〔元〕陈澔\,注,金晓东\,校点,上海古籍出版社,国学典藏丛书,2016年。 177 | 178 | \lybook{《三礼辞典》},钱玄、钱兴奇\,编著,江苏古籍出版社,1998年。 179 | 180 | \lybook{《大戴礼记今注今译》},高明\,注译,台湾商务印书馆,古籍今注今译丛书,1975年。 181 | 182 | \lybook{《周易译注》},黄寿祺、张善文\,撰,上海古籍出版社,十三经译注丛书,2004年。 183 | 184 | \lybook{《周易正义》},〔三国魏〕王弼、〔东晋〕韩伯\,注,〔唐〕孔颖达\,等疏,何锡光、虎维铎\,整理,山东画报出版社,四库家藏丛书,2004年。 185 | 186 | \lybook{《孝经·二十四孝》},喻岳衡、喻涵\,译注,岳麓书社,古典名著阅读无障碍本,2012年。 187 | 188 | \lybook{《孝经译注》},胡平生\,译注,中华书局,中国古典名著译注丛书,1996年。 189 | 190 | \lybook{《国语·战国策》},李维琦\,点校,岳麓书社,古典名著普及文库,2006年。 191 | 192 | \lybook{《国语集解》},〔三国吴〕韦昭\,注,徐元诰\,集解,王树民、沈长云\,点校,中华书局,中华国学文库,2019年。 193 | 194 | \lybook{《战国策注释》},何建章\,注释,中华书局,1990年。 195 | 196 | \lybook{《孟子译注》},杨伯峻\,译注,杨逢彬\,修订,岳麓书社,古典名著标准读本,2009年。 197 | 198 | \lybook{《孟子注疏》},〔东汉〕赵岐\,注,〔北宋〕孙奭\,疏,龚抗云\,整理,山东画报出版社,四库家藏丛书,2004年。 199 | 200 | \lybook{《孟子正义》},〔清〕焦循\,撰,沈文倬\,点校,中华书局,中华国学文库,2017年。 201 | 202 | \lybook{《孟子今注今译》},史次耘\,注译,重庆出版社,2009年。 203 | 204 | \lybook{《荀子校注》},张觉\,校注,岳麓书社,古典名著标准读本,2006年。 205 | 206 | \lybook{《荀子集解》},〔清〕王先谦\,撰,沈啸寰、王星贤\,整理,中华书局,中华国学文库,2012年。 207 | 208 | \lybook{《韩诗外传译注》},〔西汉〕韩婴\,编著,魏达纯\,译注,东北师范大学出版社,1993年。 209 | 210 | \lybook{《韩诗外传笺疏》},屈守元\,著,巴蜀书社,2012年。 211 | 212 | \lybook{《孔子家语》},〔三国魏〕王肃\,编著,王国轩、王秀梅\,译注,中华书局,中华经典名著全本全注全译丛书,2011年。 213 | 214 | \lybook{《老子·庄子·列子》},张震\,点校,岳麓书社,古典名著普及文库,2006年。 215 | 216 | \lylabel{laozizhuyi}\lybook{《老子注译》},高亨\,著,华钟彦\,校,河南人民出版社,1980年。《老子》版本繁多,文字、断句屡有分歧,难辨原委,本书引文均据此本。 217 | 218 | \lybook{《老子》},〔西汉〕河上公、〔三国魏〕王弼\,注,〔西汉〕严遵\,指归,刘思禾\,校点,上海古籍出版社,国学典藏丛书,2013年。 219 | % NOTE: 王弼《道德经注》长期以来是《老子》流传于世的唯一版本,直到1973年从湖南省长沙市马王堆汉墓出土西汉初年的帛书本,1993年从湖北省荆门市出土战国中期的摘抄本(郭店楚简本)等。 220 | 221 | \lybook{《老子今注今译》}(参照简帛本最新修订版),陈鼓应\,注译,商务印书馆,道典诠释书系,2003年。 222 | 223 | \lybook{《庄子集释》},〔清〕郭庆藩\,撰,王孝鱼\,点校,中华书局,中华国学文库,2013年。 224 | 225 | \lybook{《庄子今注今译》}(最新修订版),陈鼓应\,注译,商务印书馆,道典诠释书系,2007年。 226 | 227 | \lybook{《庄子》},方勇\,译注,中华书局,中华经典名著全本全注全译丛书,2010年。 228 | 229 | \lybook{《管子通解》},赵守正\,撰,北京经济学院出版社,1989年。 230 | 231 | \lybook{《管子》},〔唐〕房玄龄\,注,〔明〕刘绩\,补注,刘晓艺\,校点,上海古籍出版社,国学典藏丛书,2015年。 232 | 233 | \lybook{《晏子春秋校注》},张纯一\,撰,梁运华\,点校,中华书局,中华国学文库,2017年。 234 | 235 | \lybook{《晏子春秋译注》},孙彦林、周民、苗若素\,译注,齐鲁书社,1991年。 236 | 237 | \lybook{《商君书·韩非子》},张觉\,点校,岳麓书社,古典名著普及文库,2006年。后附《申子》、《慎子》。 238 | 239 | \lybook{《商君书全译》},〔战国〕商鞅\,原著,张觉\,译注,贵州人民出版社,中国历代名著全译丛书,1993年。 240 | 241 | \lybook{《韩非子集解》},〔清〕王先慎\,撰,钟哲\,点校,中华书局,中华国学文库,2013年。 242 | 243 | \lybook{《韩非子校注》}(修订本),《韩非子》校注组\,编写,周勋初\,修订,凤凰出版社,2009年。 244 | 245 | \lybook{《韩非子校注》},张觉\,校注,岳麓书社,古典名著标准读本,2006年。 246 | 247 | \lybook{《吕氏春秋·淮南子》},杨坚\,点校,岳麓书社,古典名著普及文库,2006年。 248 | 249 | \lybook{《吕氏春秋集释》},许维遹\,撰,梁运华\,整理,中华书局,中华国学文库,2016年。 250 | 251 | \lybook{《吕氏春秋译注》}(修订本),张双棣、张万彬、殷国光、陈涛\,译注,北京大学出版社,2000年。 252 | 253 | \lybook{《说苑译注》},〔西汉〕刘向\,撰,程翔\,译注,北京大学出版社,2009年。 254 | 255 | \lybook{《帝王世纪·世本·逸周书·古本竹书纪年》},陆吉\,等校点,齐鲁书社,2010年。 256 | 257 | \lybook{《逸周书校补注译》}(修订本),黄怀信\,著,三秦出版社,2006年。 258 | 259 | \lybook{《古本竹书纪年译注》},李民\,等译注,中州古籍出版社,1990年。 260 | 261 | \lybook{《朱子语类》},〔南宋〕黎靖德\,编,杨绳其、周娴君\,校点,岳麓书社,1997年。第19--50卷是朱熹师徒关于《论语》的问答。 262 | 263 | \lybook{《武经七书直解》},〔明〕刘寅\,直解,张实、刘韻真\,点校,岳麓书社,1992年。 264 | 265 | \lybook{《日知录集释》},〔清〕顾炎武\,著,〔清〕黄汝成\,集释,栾保群、吕宗力\,校点,花山文艺出版社,1990年。 266 | 267 | \lybook{《四库全书总目提要》},〔清〕纪昀\,总纂,河北人民出版社,2000年。 268 | 269 | \lybook{《中国哲学文献选编》},陈荣捷\,编著,杨儒宾、吴有能、朱荣贵、万先法\,译,黄俊杰\,校阅,江苏教育出版社,国学书库·哲学类丛,2006年。 270 | 271 | \lylabel{yaojijietijiqidufa}\lybook{《要籍解题及其读法》},梁启超\,著,岳麓书社,民国学术文化名著丛书,2010年。1923年,清华大学\lyq{指定十来部有永久价值的古书令学生们每学期选读一部或两部,想令他们得些国学常识而且养成自动的读书能力}。本书就是梁启超(1873--1929)在清华介绍这些古典要籍的讲义。1925年初版,共8讲,主要涉及11本书,《论语》冠首。它写于传统学术遭遇西学冲击引发的“国学热”中,当时没有资料可查,时间又匆忙,算是闭卷考试。但以梁先生中西交融的深厚学养,写来毫不费力,偶有离题发挥之处,正可一窥他的读书兴味与昂扬精神。 272 | % NOTE: 另有两个附录:1923年4、5月间,为《清华周刊》撰写的《国学入门书要目及其读法》,以及大致同时的《评胡适之的“一个最低限度的国学书目”》。所述种种常识,似乎\lylink{15.26}{今亡矣夫}!如开篇讲四书实为基本读物:\lyq{六七百年来,数岁孩童入三家村塾者,莫不以四书为主要读本。其书遂形成一般常识之基础,且为国民心理之总关键。} 273 | 274 | \lybook{《西周史》},杨宽\,著,上海人民出版社,1999年。 275 | 276 | \lybook{《春秋史》},顾德融、朱顺龙\,著,上海人民出版社,2001年。 277 | 278 | \lybook{《战国史》}(增订本),杨宽\,著,上海人民出版社,2003年。 279 | 280 | \lybook{《鲁国史》},郭克煜\,等著,人民出版社,1994年。 281 | 282 | \lybook{《中国文化史》},柳诒徵\,编著,中国大百科全书出版社,中国学术丛书,1988年。 283 | 284 | \lybook{《中国古代官制》},柏铮\,编,北京大学出版社,1989年。 285 | 286 | \lybook{《中国历代官制简表》},卫文选\,著,山西人民出版社,1987年。 287 | -------------------------------------------------------------------------------- /style.tex: -------------------------------------------------------------------------------- 1 | % Lengths. 2 | \newlength{\lyszbody} 3 | \newlength{\lyszchaptertitle} 4 | \newlength{\lyszsectiontitle} 5 | \newlength{\lyszsubsectiontitle} 6 | \newlength{\lyszpageno} 7 | 8 | \setlength{\lyszbody}{12pt} 9 | \setlength{\lyszchaptertitle}{16pt} 10 | \setlength{\lyszsectiontitle}{14pt} 11 | \setlength{\lyszsubsectiontitle}{13pt} 12 | \setlength{\lyszpageno}{10.5pt} 13 | 14 | 15 | % Page layout. 16 | \usepackage[ 17 | left=3.2cm, 18 | right=3.2cm, 19 | top=3.5cm, 20 | bottom=3.5cm, 21 | ]{geometry} 22 | 23 | 24 | % Packages. 25 | \usepackage{calc} 26 | \usepackage{enumitem} 27 | \usepackage{etoolbox} 28 | %\usepackage{xstring} 29 | \usepackage{graphicx} 30 | \usepackage{indentfirst} 31 | \usepackage[svgnames]{xcolor} 32 | \usepackage[normalem]{ulem} 33 | 34 | \usepackage[pagecolor=white, nopagecolor=white]{pagecolor} 35 | \usepackage{afterpage} 36 | \usepackage[scale=1.5]{ccicons} 37 | 38 | \usepackage{tikz} 39 | \usetikzlibrary{mindmap} 40 | 41 | \usepackage{tcolorbox} 42 | \tcbuselibrary{skins, breakable} 43 | 44 | 45 | % Fonts. 46 | 47 | % English, numerics, symbols. 48 | \usepackage{pifont} 49 | \usepackage[quiet]{fontspec} 50 | \defaultfontfeatures{Mapping=tex-text} 51 | \setmainfont[Ligatures=NoCommon]{Linux Libertine O} 52 | \setsansfont[Ligatures=NoCommon, Scale=MatchLowercase]{Linux Libertine O} 53 | 54 | \font\pagenofont = "Linux Libertine O" at \lyszpageno % for page numbers 55 | 56 | % Pinyin, in Source Han Sans: 57 | % https://github.com/adobe-fonts/source-han-sans/tree/release 58 | % The second tone marks of "Linux Libertine O" is upside-down for the Chinese. 59 | % Besides, it seems conventional to use a Sans Serif font for pinyin. Also good for labeling. 60 | % The cover page's pinyin won't be typeset in this style. 61 | \newfontfamily{\ftpinyin}[Scale=0.86]{Source Han Sans SC} 62 | \newcommand{\lypy}[1]{\textnormal{\ftpinyin #1}} 63 | 64 | % 八卦。 65 | \newcommand\lybaguasym[1]{{\CJKfontspec{DejaVu Sans}#1}} 66 | \font\lybaguasyma = "DejaVu Sans" 67 | 68 | % Chinese. 69 | % 70 | % 方正字体授权(2016年2月起正式施行): http://www.foundertype.com/index/release_info.html 71 | % 2018-8-3,更新链接:https://www.foundertype.com/index.php/About/bookAuth/key/my_sysq.html 72 | % \lyq{ 73 | % 计算机字库的使用方式主要有以下三种: 74 | % 1. 内部使用:指个人或单位在其内部使用的终端设备上安装并使用字库的行为。该使用行为包括在屏幕上显示和临时从打印机上输出两种。 75 | % 2. 内置使用:指将字库文件整体或部分、直接或格式转换后,以嵌入的方式应用到网站、计算机程序或带有可视化显示功能的电子产品中的行为。 76 | % 3. 商业发布:指以直接营利或者间接营利为目的,将字体作为视觉设计要素,进行复制、发行、展览、放映、信息网络传播、广播等使用字体的行为。 77 | % } 78 | % \lyq{上述三种方式中 “商业发布”行为是字体应用最重要的一种方式。方正公司仅针对商业发布内容的最终所有者提供授权。} 79 | % \lyq{免费字体:包括四种字体:方正黑体、方正书宋、方正仿宋、方正楷体。针对“商业发布”这种使用方式免费。} 80 | % 81 | % 根据我的理解,由于“内置使用”弱于“商业发布”,这表示对“内置使用”这种方式的开源项目也免费。 82 | % 客服解释,这4个字体虽然商业使用免费,但字体文件仍需付费下载。GBK版每个字体5元。 83 | % 84 | % 另外: 85 | % 1. 既然我已经付费下载,获得它们的合法使用权; 86 | % 2. “商业发布”中,又允许“复制、发行”等行为。 87 | % 所以是不是可以说,我有权把这4个字体包含在自己的项目里,以任意方式(包括开源)发布,使所有从我这里获得这4个字体的人, 88 | % 也递推具有了“商业发布”的合法使用权,而不用再像我那样付费下载了?请熟悉这一块法律的朋友指教。 89 | \usepackage{xeCJK} 90 | \usepackage{zhnumber} 91 | \setCJKmainfont[BoldFont={方正黑体_GBK}, ItalicFont={方正楷体_GBK}]{方正书宋_GBK} 92 | \setCJKfamilyfont{fttitle}{方正黑体_GBK} 93 | \setCJKfamilyfont{ftfangsong}[Scale=1.03]{方正仿宋_GBK} 94 | \setCJKfamilyfont{ftkaiti}[Scale=1.03]{方正楷体_GBK} 95 | 96 | \newcommand\lyqemph[1]{{\CJKfontspec{方正楷体_GBK}#1}} 97 | % Extended characters, in Source Han Serif: 98 | % https://github.com/adobe-fonts/source-han-serif/tree/release 99 | \newcommand\lyextended[1]{{\CJKfontspec{Source Han Serif SC}#1}} 100 | 101 | 102 | % Header & footer. 103 | \usepackage{fancyhdr} 104 | \pagestyle{fancy} 105 | 106 | \fancyhf{} 107 | \newcommand{\lyheaderimg}{} % placeholder 108 | \chead{\raisebox{-4pt}{\includegraphics{img/\lyheaderimg}}} % use outlined graphics 109 | \cfoot{\textcolor{DarkSlateGray}{\pagenofont - \thepage\ -}} 110 | 111 | \fancypagestyle{plain}{% 112 | \renewcommand{\headrule}{} 113 | \fancyhf{} 114 | \cfoot{\textcolor{DarkSlateGray}{\pagenofont - \thepage\ -}} 115 | } 116 | 117 | 118 | % Header rule. 119 | \newcommand{\lymakeheadrule}{% 120 | \makebox[0pt][l]{\rule[0.55\baselineskip]{\headwidth}{0.4pt}}% 121 | \rule[0.7\baselineskip]{\headwidth}{1pt}} 122 | 123 | \makeatletter 124 | \renewcommand{\headrule}{% 125 | {\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi% 126 | \lymakeheadrule}} 127 | \makeatother 128 | 129 | \setlength{\headheight}{34pt} % suppress fancyhdr warnings 130 | 131 | % Remove space before chapter title. 132 | \makeatletter 133 | \patchcmd{\@makechapterhead}{50}{0}{}{} 134 | \patchcmd{\@makeschapterhead}{50}{0}{}{} 135 | \makeatother 136 | 137 | % titlesec. 138 | \usepackage{titlesec} 139 | \titleformat{\chapter}[block] 140 | {\fontsize{\lyszchaptertitle}{\lyszchaptertitle * \real{1.2}}\selectfont\CJKfamily{fttitle}\filcenter} 141 | {第\zhnum{chapter}篇} 142 | {0.5em}{} 143 | 144 | \titleformat{\section}[block] 145 | {\fontsize{\lyszsectiontitle}{\lyszsectiontitle * \real{1.2}}\selectfont\CJKfamily{fttitle}} 146 | {\thesection} 147 | {1em}{} 148 | 149 | \titleformat{\subsection}[block] 150 | {\fontsize{\lyszsubsectiontitle}{\lyszsectiontitle * \real{1.2}}\selectfont\CJKfamily{fttitle}} 151 | {\thesubsection} 152 | {1em}{} 153 | 154 | \titlespacing*{\chapter}{0pt}{0pt}{30pt} 155 | 156 | % titletoc. 157 | \usepackage{titletoc} 158 | \titlecontents{chapter} 159 | [0em] 160 | {\bfseries} 161 | {第\zhnumber{\thecontentslabel}篇\hspace{0.5em}} 162 | {} 163 | {\dotfill\textrm{\contentspage[{\bfseries\thecontentspage}]}} 164 | \titlecontents{section} 165 | [2em] 166 | {\bfseries} 167 | {} 168 | {} 169 | {\dotfill\textrm{\contentspage[{\bfseries\thecontentspage}]}} 170 | 171 | 172 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 173 | % Other tweaks. 174 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 175 | 176 | \setlength{\parindent}{\lyszbody * 2} 177 | \renewcommand{\baselinestretch}{1.4} 178 | \renewcommand{\labelitemii}{$\triangleright$} 179 | 180 | \newcommand{\lysetparindent}[2]{{\setlength{\parindent}{#1}#2}} 181 | 182 | 183 | % Chinese names. 184 | \renewcommand{\contentsname}{目\qquad 录} 185 | \renewcommand{\listfigurename}{插\quad 图\quad 目\quad 录} 186 | \renewcommand{\listtablename}{表\quad 格\quad 目\quad 录} 187 | \renewcommand{\figurename}{图} 188 | \renewcommand{\tablename}{表} 189 | 190 | 191 | % Underlines. 192 | % color = gray, depth = 0.32em, thickness = 0.54pt 193 | \newcommand{\lybasiculine}{\bgroup\markoverwith{\textcolor{gray}{\rule[-0.32em]{1pt}{0.54pt}}}\ULon} 194 | 195 | % Don't join up with neighbors. 196 | \newcommand{\lyuline}[1]{% 197 | \nobreak\hspace{0.1em}% 198 | \lybasiculine{\kern-0.1em\hbox{#1\kern-0.1em}}% 199 | \nobreak\hspace{0.1em}} 200 | 201 | \newcommand{\lydashuline}{\bgroup\markoverwith{% 202 | \kern1.2pt\textcolor{gray}{\rule[-0.32em]{2.6pt}{0.54pt}}\kern1.2pt}% 203 | \ULon} 204 | 205 | % Not used for now. 206 | %\newcommand{\lydbuline}{% 207 | % \bgroup\markoverwith{% 208 | % \textcolor{gray}{\rule[-0.25em]{1pt}{0.3pt}}% 209 | % \llap{\textcolor{gray}{\rule[-0.35em]{1pt}{0.3pt}}}% 210 | % }\ULon} 211 | 212 | 213 | % Keywords, quotations, etc. 214 | \newcommand{\lyterm}[1]{\textbf{#1}} % word or phrase to be explained 215 | \newcommand{\lykw}[1]{{\CJKfamily{ftkaiti}#1}} % stressed keyword 216 | \newcommand{\lyq}[1]{{\CJKfamily{ftfangsong}#1}} % inline quote 217 | \newcommand{\lyqe}[1]{#1} % English inline quote 218 | \newcommand{\lyl}[1]{【例】#1} % example 219 | \newcommand{\lyc}[1]{【参】#1} % cf (see also) 220 | \newcommand{\lychar}[1]{\lyuline{#1}} % character in text 221 | \newcommand{\lytopics}[1]{} % processed by external script; use ,as separator 222 | \newcommand{\lytopic}[1]{\textbf{#1}} 223 | \newcommand{\lycenterpar}[1]{\noindent\begin{center}#1\end{center}} 224 | \newcommand{\lyalt}[2]{#1} % LaTeX uses #1, translator uses #2 225 | 226 | \newcommand{\lycharname}[1]{\textbf{#1}} 227 | \newcommand{\lybook}[1]{\textbf{#1}} 228 | \newcommand{\lybooke}[1]{\textbf{#1}} 229 | 230 | 231 | % Labels and links. 232 | \makeatletter 233 | 234 | % Create a hypertarget with PDF bookmark location raised by one line. 235 | \newcommand{\lylabel}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} 236 | 237 | % Links. 238 | \newcommand{\lycharlink}[2]{\hyperlink{#1}{\lyuline{#2}}} % character 239 | 240 | % Double-underline is visually distracting. worthwhile or not 241 | % to highlight links to blobs? Revert to old style. 242 | %\newcommand{\lylink}[2]{\hyperlink{#1}{% 243 | % \IfDecimal{#1}{\lydbuline{#2}}% % blob 244 | % {\lyuline{#2}}}} % other 245 | \newcommand{\lylink}[2]{\hyperlink{#1}{{\lyuline{#2}}}} 246 | 247 | \newcommand{\lyref}[1]{\hyperlink{#1}{\tcbox[nobeforeafter, size=fbox, box align=base, colback=white, colframe=black!50, boxrule=0.36mm]{#1}}} % \lyblob 248 | 249 | \newcommand{\lyurl}[2]{\href{#1}{\lydashuline{#2}}} 250 | \newcommand{\lyurladdr}[2]{\href{#1}{#2}} % direct URL address, no decoration 251 | 252 | % Used by \lyblob. Create a raised hypertarget and add a PDF bookmark. 253 | \newcommand{\lyblobmark}[2][1]{\Hy@raisedlink{\hypertarget{#2}{}\pdfbookmark[#1]{#2}{#2}}} 254 | 255 | % Create a PDF bookmark directly; the default level is section. 256 | \def\lymunch#1{} 257 | \newcommand{\lypdfbookmark}[4][1]{% 258 | #2#3{\phantomsection\Hy@writebookmark{}{#4}{\@currentHref}{#1}{toc}#4}} 259 | 260 | \makeatother 261 | 262 | 263 | % Environments. 264 | 265 | % Compact version of itemize and enumerate. 266 | \newenvironment{lyitemize}% 267 | {\begin{itemize}[leftmargin=*, topsep=0.32em]% 268 | \setlength{\itemsep}{2pt}% 269 | \setlength{\parskip}{2pt}}% 270 | {\end{itemize}} 271 | 272 | % Same as lyitemize, used for annotation purpose only. 273 | \newenvironment{lyblobitemize}% 274 | {\begin{lyitemize}}% 275 | {\end{lyitemize}} 276 | 277 | \newenvironment{lyenumerate}% 278 | {\begin{enumerate}[leftmargin=*, topsep=0.32em]% 279 | \setlength{\itemsep}{2pt}% 280 | \setlength{\parskip}{2pt}}% 281 | {\end{enumerate}} 282 | 283 | % Chinese poems quotation. 284 | \newenvironment{lyquotepoem}% 285 | {\begin{quotation}\CJKfamily{ftfangsong}}% 286 | {\end{quotation}} 287 | 288 | % English poems quotation. 289 | \newenvironment{lyquotepoeme}% 290 | {\begin{quotation}}% 291 | {\end{quotation}} 292 | 293 | % Paragraphs quotation. 294 | \newenvironment{lyquotepara}% 295 | {\begin{quotation}\CJKfamily{ftfangsong}}% 296 | {\end{quotation}} 297 | 298 | \newenvironment{lysignature}% 299 | {\vspace{2em}\begin{flushright}\itshape}% 300 | {\end{flushright}} 301 | 302 | 303 | % Blobs. 304 | \colorlet{lytextbackground}{black!10} 305 | \newtcolorbox[auto counter, number within=chapter]{lybaseblob}[1]{ 306 | breakable, 307 | skin=enhanced jigsaw, 308 | colback=white, colframe=lytextbackground, colbacktitle=lytextbackground, coltitle=black, 309 | boxrule=0.5mm, 310 | segmentation style={solid, line width=0.4mm}, 311 | after skip=1em, 312 | phantom={\lyblobmark{\thetcbcounter}}, 313 | title=#1, 314 | overlay unbroken and first ={ 315 | \node[anchor=north east, inner sep=0pt, outer sep=0pt] at ([xshift=-\marginparsep]frame.north west) {\tcbox[boxsep=0pt, left=1.8mm, right=1.8mm, top=1.8mm, bottom=1.8mm, colback=white, colframe=black!25]{\thetcbcounter}}; 316 | } 317 | } 318 | 319 | % Normal style. 320 | \newcommand{\lyblob}[3]{% 321 | \begin{lybaseblob}{#1}% 322 | \begin{lyblobitemize} 323 | #2 324 | \end{lyblobitemize} 325 | \ifblank{#3}{}{\tcblower #3}% 326 | \end{lybaseblob}% 327 | } 328 | 329 | % Free (arbitrary) style. 330 | \newcommand{\lybloba}[3]{% 331 | \begin{lybaseblob}{#1}% 332 | #2% 333 | \ifblank{#2}{\typeout{Empty upper part}}{}% 334 | \ifblank{#3}{}{\tcblower #3}% 335 | \end{lybaseblob}% 336 | } 337 | 338 | 339 | % Version info. 340 | \providecommand{\lycommitno}{0} 341 | \providecommand\buildnoaboly{0} 342 | \providecommand{\buildnoly}{0} 343 | \newcommand{\projectversionnumber}{v0.3.0} 344 | \newcommand{\versioninfoaboly}{\projectversionnumber+build.\buildnoaboly.commit.\lycommitno} 345 | \newcommand{\versioninfoly}{\projectversionnumber+build.\buildnoly.commit.\lycommitno} 346 | 347 | -------------------------------------------------------------------------------- /topics.tex: -------------------------------------------------------------------------------- 1 | \lyalt{\lylabel{topics}}{} 2 | \phantomsection 3 | \chapter*{主\quad 题\quad 索\quad 引} 4 | \addcontentsline{toc}{chapter}{主题索引} 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | 7 | 主题类型的划分并不严谨,只是根据各章的话题与涉及的概念,大致梳理的纲要,按出现频次排序。每章至少归入一个主题,通常是若干个。并不是某个主题词出现在某章,就一定包罗进来。需要的话,可以用白文版搜索。为便于熟悉孔子的人格,还加入了“\lylink{topickongziziping}{孔子自评}”、“\lylink{topicrenpingkongzi}{人评孔子}”两个主题。 8 | 9 | \bigskip 10 | 11 | \lysetparindent{0pt}{ 12 | 13 | INSERSION_POINT 14 | } % end of \lysetparindent (keep this comment) 15 | -------------------------------------------------------------------------------- /usage.tex: -------------------------------------------------------------------------------- 1 | \lyalt{\lylabel{usage}}{} 2 | \phantomsection 3 | \chapter*{使\quad 用\quad 说\quad 明} 4 | \addcontentsline{toc}{chapter}{使用说明} 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | 7 | 写一本书出来,总希望它讨人喜欢。这里讲一讲它为什么是现在这个样子,并且在我的构想中,它还会变成什么样。 8 | 9 | 10 | \lypdfbookmark\section*{命名} 11 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12 | 13 | “一瓶论语”这个名字,主观上是想说,两千多年来,《论语》的研究心得早已汇聚成汪洋大海,这本小书只是我在浅岸边凭着喜好汲取的点点滴滴,肯定有很多“一瓶子不满,半瓶子晃荡”的毛病。你不妨以此为阶,形成对《论语》完整独立的理解,装满让自己受用不尽的一瓶。 14 | 15 | 内容上,“一瓶”可以当成“译评”的谐音,本书的注解大致分成译和评两种性质。 16 | 17 | 说“译”并不准确,它没有像很多现代注本那样,把原文全部翻译出来。我一直觉得,无论读文言文还是外语,只要不是刚入门或者碰到非常难的结构,大段的翻译就很碍眼:它占据了太多的篇幅,分散了对原文的关注,客观上削弱了直接阅读原文的能力,平庸的译文还让人很快失掉兴趣。与其把精力花在推敲译文上,不如把注释做得扎实一些,读者自然就能贯通文意。 18 | 19 | 《一瓶论语》的译,主要是对字词、结构的解释,也就是注。成句的翻译属于少数,有时是为了补足句子成分,有时是疏通容易误解的结构,有时只想表达得灵活一些,建议你自己多试试,看会不会译得更好。 20 | 21 | 《一瓶论语》的评,主要是对一句话或者一整章内容的感受:它在孔子当时是不是合理?放在现代有什么意义?这个部分直接反映了我的偏好与局限,所以选择比较谨慎,以免喧宾夺主,干扰你的独立思考。 22 | 23 | 24 | \lypdfbookmark\section*{体例} 25 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 26 | 27 | \lylabel{lunyuversion} 28 | 本书的《论语》原文采用杨伯峻先生《\lylink{lunyuyizhu}{论语译注}》的文本及分章,只是段落标点略有差异。每章的内容可以看成瓶子里的一“滴”,单独放在一个大圆角框里,\lyalt{框外面的左上角}{框内右上角}标有这一章的序号。框的顶部是原文,用\colorbox{lytextbackground}{浅灰底}高亮,随后就是译和评。\lyalt{不少“大滴”是跨页的,但是每章的原文都不会跨页,保证了完整的视觉感受。}{} 29 | % NOTE: 传统上,《论语》分为20篇,从“学而”到“尧曰”,每篇都用开头比较有意义的两三个字作为篇名。每篇包含若干章,多的有40多章,少的仅有3章,共512章。每章的内容有长有短,一般都不太长。大部分是记录孔子的言行,所以称为语录体。篇的排列顺序,传统上标为“学而第一”、“为政第二”等等,排列起来很不工整,只是看起来古色古香而已,而且影响PDF书签的效果,所以本书不取,改为“第一篇 学而”等等,PDF书签则用阿拉伯数字。TODO: move to 源流。 30 | 31 | 每条译用一个圆点•开头,需要解释的原文显示为\lyterm{\lyalt{黑体}{这样}},注解中的关键词显示为\lykw{\lyalt{楷体}{这样}}。注解一般按原文中出现的顺序排列,偶尔也会稍微调整前后位置,或者把有关联的几处合并为一条。注解一般宁详勿略,经常会追溯到字的本义。连续用几个词进行解释的,通常是从自身的含义延伸到上下文里的特定含义,可以留意其中的细微差别。用“指”标出的,总是上下文里的含义。在我感觉“刚好合适”的地方,还会用简单的英语作注。如果遇到难字没有解释,应该是前面已经解释过了,可以从头搜索一下。 32 | % NOTE: 本义主要参照《汉字源流字典》的解释。特别古老很不直观的本义,酌情采用《辞源》的第一义。 33 | 34 | 比较浅显易懂的章节不带评。有的评直接连在注解之后,有的放在整章末尾,前面不加圆点。少数个人想法较多的评,就用横线隔开。总之是以看着直观、读着通顺为准。 35 | % NOTE: 某些地方包含着我对传统文化的感情,当然,假如还能看出点别的有用的东西,更是意外之喜。 36 | 37 | 没有了逐句翻译,省掉的篇幅就用来进一步解释原文,我称之为“例参体”。我上学的时候,不太喜欢直接相信字典里的解释,总要找到一个用法相同的典型例子才放心。很多注解的后面,就附上了这类例证,用【例】醒目地标出。为了更好地理解原文的某句话或者一整章的意义,还用【参】补充了一些值得对照的观点,也包括辅助性的背景知识。字词用法上的例证尽量引用《论语》后文,作为预习;观点上的参考尽量引用《论语》前文,作为复习,除非遇到关键的概念,或者值得辨析的情况。例、参引用的原文片段,显示为\lyq{\lyalt{仿宋体}{这样}},前后不加引号。引文中如果遇到难字,就在随后的(~)里加上简注。引文中的省略号,除非另有说明,都是对原文的节略。引文\lyq{〔~〕}里的话,是对原文的补充说明。 38 | 39 | 例、参中的引用,大部分是文言文。除了《论语》章句之间的参照印证以外,它们有的支持或强化了《论语》的观点,有的稍有差异,也有的针锋相对。对于喜欢独立思考的读者,这种参差碰撞似乎比“纯净化”更有营养。但它受限于我的阅读范围,在本书维护过程中,我会随时把更合适的内容增补进来。古义今用是我比较留意的情况,有时也会用现代汉语的成语和常用词作为例证。特别是成语,既保留了古汉语中的含义,又有很强的现代生命力,应该是比较合适的切入点。另外还引用了少量英文材料,大都提供了汉语译文。其中,《圣经》英文采用英王钦定本(\emph{King James Bible}),中文采用和合本;其它除了标明译者的地方,都是我翻译的。 40 | 41 | 可是过犹不及,补充材料太多,会有明显的不平衡感,也影响对原文的专注。建议\textbf{始终把理解原文放在首位},额外的内容不妨选读。尤其对那些概括总结性的话,更应该有鉴别地看待。 42 | 43 | 注解中还包含一些语法方面的内容。中国古代强调熟读成诵、文义自达,不太重视形式化规则,汉语语法是清末开始受西方影响才逐渐建立的。语法固然实用,但汉语(包括古汉语)自有其特点,比如往往一个字就是一个词,词性又灵活多变,不像英语那样有明确的对错之分。所以,既要善用语法的分析能力,也应该知道,目前的语法体系还未能完善地概括汉语的特征。 44 | 45 | 本书采用了很多超链接,这是电子版的一大优势,可以更好地形成概念网络。比如,有时单解释一个词感觉不够到位,还会链接到它更基本的含义。要有效使用本书,先要熟悉跳来跳去的操作,在跳之前要留意当前位置,\lyalt{阅读器}{浏览器}也应该有后退、前进的功能。使用的超链接主要有3种样式:圆角小框跳转到某章开头,例如 \lyref{1.1};\lyalt{\lylink{junzi}{实下划线}}{\lylink{junzi}{这样}的}跳转到本书内的某个位置;\lyalt{\lyurl{https://www.abolybook.org/}{虚下划线}}{\lyurl{https://www.abolybook.org/}{这样}的}\lyalt{使用浏览器}{}打开\lyalt{}{外部}网址链接。\lyalt{此外,封面上的思维导图和联系方式也加了超链接,只是用\textcolor{\lycoverlinkcolor}{不同的颜色}表示。直接写出的网址就不加任何效果。}{} 46 | 47 | 自古以来,《论语》的注解可谓千锤百炼,但我有时仍对旧注无法满意,思来想去,还是按自己的理解写了出来,记为“与各家不同”。在这方面,我很不喜欢标新立异,只是觉得自己的想法确实好一些,恳请读者指正。当然,这些解释未必是我第一个想到的,只是没有精力查尽相关的材料。它们有的与旧注差别很大,有的只是细节不同,共计9处:\lyref{3.4} \lyref{3.23} \lyref{7.1} \lyref{8.3} \lyref{8.9} \lyref{12.1} \lyref{17.1} \lyref{17.16} \lyref{18.6}。 48 | 49 | 译评之外的部分,还包括\lylink{characters}{人物表}、\lylink{topics}{主题索引}以及\lylink{references}{参考材料}。人物表把《论语》中的孔子弟子与常见人物(包括各种称呼)集中起来撰写小传,辅以超链接,就很容易熟悉各人的面貌。主题索引是从基本概念的角度梳理的《论语》纲要。另外还打算添加一个导言,用另一种方式把离散的水滴串成有机的整体,这是后续的一个重点内容。 50 | 51 | 本书不含脚注。脚注总让我把视线从正文移开,指望看到些好东西,往往却很失望,还得努力续上中断的思维。脚注只有恼人的数字,而超链接有文本作指示,是可以预期的。我的选择是,把通常作为脚注的话,写成\lylink{sourcecode}{源代码}里的注释,用“NOTE”标出。它们是对正文的补充说明,但还不值得出现在书面上。如果对正文的说法有疑惑,可以先看看注释里有没有解释。用“TODO”标出的,是我随时记下的想法,表示后续撰写的方向。 52 | 53 | % NOTE: 还有很多细节考虑,比如注释版、白文版的页眉都是插入图像曲线而不是文本字符,搜索的时候就不会定位到页眉上,选择复制也会工整很多。 54 | 55 | 56 | \lypdfbookmark\section*{电子版} 57 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 58 | 59 | \lyalt{PDF电子版的设计,重点考虑了主流智能手机横屏阅读的方便。如果在电脑上按屏幕宽度显示,文字可能偏大。大字容易缩小,要想在手机上放大了挪来挪去,就很费劲了。内文尽量采用大小相同的字号,也是为了在小屏幕上看起来省力。内文的目录只列了顶层大纲,PDF的书签视图则详细得多,可以直接跳转到每一章。 60 | 61 | 前面说过,阅读器的选择很重要。在手机上,它最好还能自动或手动地切除白边,更有效地利用屏幕宽度。Android上,我喜欢用免费的 \lyurl{https://play.google.com/store/apps/details?id=org.ebookdroid}{EbookDroid},只是它的设置略微复杂。iOS上,我印象中 \lyurl{https://www.goodreader.com}{GoodReader} 的效果很好,也不算贵。电脑上的选择就很多,显示最棒的当然是 \lyurl{https://get.adobe.com/reader/}{Adobe Reader}(免费软件)和 \lyurl{https://acrobat.adobe.com/us/en/products/acrobat-pro.html}{Acrobat}(商业软件)。}{} 62 | 63 | \lylabel{sourcecode}本书用\lyalt{\LaTeX}{LaTeX}撰写,经过简单的Python处理,编译成PDF电子书,可以从\,\lyurl{https://github.com/abolybook/aboly/releases/latest}{GitHub}\,或\lyurl{https://pan.baidu.com/s/1eRp6vMq\#path=\%252Faboly}{百度网盘}下载。\lyalt{主要使用的字体有:英文和数字用 \lyurl{http://libertine-fonts.org/}{Linux Libertine O}(公有领域),拼音用 \lyurl{https://github.com/adobe-fonts/source-han-sans}{\lypy{Source Han Sans SC}}(开源),普通正文为方正书宋,黑体字为\lyterm{方正黑体},楷书为\lykw{方正楷体},仿宋体为\lyq{方正仿宋}(\lyurl{https://www.foundertype.com/index.php/About/bookAuth/key/my\_sysq.html}{免费使用})。}{Web版的生成,先用\lyurl{https://www.antlr.org/}{ANTLR}从LaTeX转换为XML,再用XSLT导出HTML。} 64 | 65 | \lylabel{projectinfo} 66 | 本书基于\lyalt{“知识共享”\lylink{abolylicense}{协议}}{“知识共享”协议\lyurl{https://creativecommons.org/licenses/by-nc-nd/3.0/cn/}{CC BY-NC-ND 3.0}},以开放源代码的形式发布在GitHub上:\lyurladdr{https://github.com/abolybook/aboly}{github.com/abolybook/aboly},欢迎提出问题和建议。\lyalt{从这个PDF文件的文档属性里,可以看到它的完整版本信息:\\ 67 | \versioninfoaboly\\ 68 | 其中,\projectversionnumber 是它的版本号;build.\buildnoaboly 表示从项目开始算起,它在我这里总共生成了\buildnoaboly 遍;commit.\lycommitno 是当前版本的源代码在项目历史中的编号。}{} 69 | 70 | 其它联系方式: 71 | \begin{lyitemize} 72 | \item 本书网站的反馈页面,可以自由发表感想,参与讨论:\lyurladdr{https://www.abolybook.org/ideas}{www.abolybook.org/ideas}。 73 | \item 内容较多或者不希望公开的想法,可以通过邮件告诉我:\lyurladdr{mailto:abolybook@gmail.com}{abolybook@gmail.com}。 74 | % \item 新浪博客:\lyurladdr{http://blog.sina.com.cn/abolybook}{blog.sina.com.cn/abolybook},微信订阅号:abolybook,主要用来发布更新。 75 | % NOTE: Use GitHub Pages for interesting stuff. 76 | \end{lyitemize} 77 | 78 | 79 | \lypdfbookmark\section*{计划中} 80 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 81 | 82 | 本书是用业余时间断续撰写的,有很多明显可以改进的地方。下面列出来的,我会细水长流地改进,未知的问题,就需要大家的智慧与帮助。谢谢! 83 | \begin{lyitemize} 84 | \item 各章之间的联系还较散乱,需要仔细梳理。主题索引也应该更有条理,并且补充参考材料中没来及写的点评。 85 | \item 正文之前会增加一篇导言,介绍孔子的生平和影响,不少章的历史背景就有了着落。我对它的期望很高,希望不会篇幅太长。 86 | \item 持续改进“评”的部分。 87 | \end{lyitemize} 88 | 89 | \lycenterpar{敬请期待!} 90 | -------------------------------------------------------------------------------- /validate.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | import io 5 | import re 6 | 7 | from rawblobs import rawblobs 8 | 9 | # Configurations. 10 | ENCODING = 'utf-8' 11 | 12 | SPECIAL_LYREFS = (r'问\lylink{zhi4d', ) 13 | 14 | # NOTE: 15 | # - Quotations abbreviated using …… don't need to be included. 16 | # - Quotations containing “” which are ‘’ in the original text 17 | # don't need to be included. 18 | SPECIAL_LYQS = ( 19 | r'君子无众寡,无小大,\lylink{wu2', # 1.8 20 | r'君子……畏\lylink{tianming}{天命},……小人不知天命而不畏也。', # 9.1 21 | ) 22 | 23 | 24 | def validate_lylabels(log): 25 | infiles = ( 26 | 'aboly.tex', 27 | 'autobody.tex', 28 | 'autocharacters.tex', 29 | 'autotopics.tex', 30 | # 'guide.tex', # TODO: uncomment 31 | 'license.tex', 32 | 'preface.tex', 33 | 'references.tex', 34 | 'usage.tex', 35 | ) 36 | label_pat = re.compile(r'\\lylabel\{(.+?)\}') 37 | labelinfo = [] # label, infile index, line no 38 | for i, infile in enumerate(infiles): 39 | lines = io.open(infile, encoding=ENCODING).readlines() 40 | for l, line in enumerate(lines): 41 | mat = label_pat.search(line) 42 | if mat: 43 | labelinfo.append((mat.group(1), i, l)) 44 | labelinfo.sort(key=lambda x: x[0]) 45 | 46 | # Check for duplicates. 47 | nlabel = len(labelinfo) 48 | if nlabel != len(set(x[0] for x in labelinfo)): 49 | i = 0 50 | while i < nlabel - 1: 51 | j = i + 1 52 | if labelinfo[i][0] != labelinfo[j][0]: 53 | i += 1 54 | continue 55 | while j < nlabel and labelinfo[i][0] == labelinfo[j][0]: 56 | j += 1 57 | if labelinfo[i][0] == labelinfo[j][0]: 58 | j += 1 59 | log.error('Duplicate lylabel "%s" in', labelinfo[i][0]) 60 | for x in range(i, j): 61 | log.error(' line %d of %s', labelinfo[x][2] + 1, 62 | infiles[labelinfo[x][1]]) 63 | i = j 64 | return False 65 | 66 | # Labels should not start with a digit (reserved for \lyblob). 67 | for i, info in enumerate(labelinfo): 68 | label = info[0] 69 | if not label or label[0].isdigit(): 70 | log.error('Invalid lylabel "%s" on line %d of %s', label, 71 | labelinfo[i][2] + 1, infiles[labelinfo[i][1]]) 72 | return False 73 | return True 74 | 75 | 76 | def validate_lylinks(log): 77 | infiles = ( 78 | 'autotopics.tex', 79 | 'body.tex', 80 | 'characters.tex', 81 | # 'guide.tex', # TODO: uncomment 82 | 'license.tex', 83 | 'preface.tex', 84 | 'references.tex', 85 | 'usage.tex') 86 | pat_anchor = re.compile(r'\\lylabel\{(.+?)\}') 87 | pat_link = re.compile(r'\\(?:lycharlink|lylink|lyref)\{(.+?)\}') 88 | 89 | anchors = set() 90 | for infile in infiles: 91 | for lineno, line in enumerate(io.open(infile, encoding=ENCODING)): 92 | lineno += 1 93 | for x in pat_anchor.finditer(line): 94 | anchors.add(x.group(1)) 95 | blob_labels = set(b[0] for b in rawblobs) 96 | anchors |= blob_labels 97 | 98 | valid = True 99 | for infile in infiles: 100 | for lineno, line in enumerate(io.open(infile, encoding=ENCODING)): 101 | for x in pat_link.finditer(line): 102 | target = x.group(1) 103 | if target not in anchors: 104 | valid = False 105 | log.error('Invalid target: "%s" on line %d of "%s"', 106 | target, lineno + 1, infile) 107 | return valid 108 | 109 | 110 | def validate_lyrefs(log): 111 | infiles = ( 112 | 'body.tex', 113 | # 'guide.tex', # TODO: uncomment 114 | 'license.tex', 115 | 'preface.tex', 116 | 'references.tex', 117 | 'usage.tex', 118 | ) 119 | special_lyrefs = set(SPECIAL_LYREFS) 120 | special_lyqs = set(SPECIAL_LYQS) 121 | special_trans = str.maketrans({'“': '‘', '”': '’'}) 122 | labels, texts = zip(*rawblobs) 123 | lyref_tag = r'\lyref' 124 | # Ensure that \lyref is properly surrounded. Generate warnings. 125 | delims = r' ()【】。,、:;!—{}' 126 | re_lyref_before = re.compile(r'(? 0 and line[mat.start() - 1] == '\\': 209 | continue 210 | word = mat.group(1).lower() 211 | if word not in lywords: # TODO: consider plurals 212 | valid = False 213 | log.error( 214 | 'Invalid lycommand: "%s" on line %d, column %d of "%s"', 215 | word, lineno + 1, 216 | mat.start() + 1, infile) 217 | return valid 218 | 219 | 220 | def validate_pinyin(log): 221 | infiles = ( # NOTE: exclude covers 222 | 'aboly.tex', 223 | 'body.tex', 224 | 'characters.tex', 225 | 'autotopics.tex', 226 | # 'guide.tex', # TODO: uncomment 227 | 'license.tex', 228 | 'preface.tex', 229 | 'references.tex', 230 | 'usage.tex', 231 | ) 232 | tone_chars = set('āáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜ') 233 | pinyin_chars = tone_chars.union(' abcdefghijklmnopqrstuwxyz') 234 | prefix = r'\lypy{' 235 | suffix = r'}' 236 | prefix_len = len(prefix) 237 | special_pinyin = set(('The Rubáiyát of Omar Khayyám', )) 238 | 239 | for infile in infiles: 240 | with io.open(infile, encoding=ENCODING) as f: 241 | lines = f.readlines() 242 | for lineno, line in enumerate(lines): 243 | for tc in tone_chars: 244 | index = 0 245 | while True: 246 | index = line.find(tc, index) 247 | if index == -1: 248 | break 249 | valid = True 250 | left = line[:index].rfind(prefix) 251 | if left == -1: 252 | valid = False 253 | else: 254 | right = line.find(suffix, index + 1) 255 | if right == -1: 256 | valid = False 257 | else: 258 | pinyin = line[left + prefix_len:right] 259 | valid = all(c in pinyin_chars for c in pinyin) 260 | if not valid: 261 | if not any(sp in line for sp in special_pinyin): 262 | log.error( 263 | 'Incorrect pinyin on line %d, column %d of %s', 264 | lineno + 1, index + 1, infile) 265 | return False 266 | break 267 | else: 268 | index = right 269 | return True 270 | 271 | 272 | # All above. 273 | validators = ( 274 | validate_lylabels, 275 | validate_lylinks, 276 | validate_lyrefs, 277 | validate_lywords, 278 | validate_pinyin, 279 | ) 280 | --------------------------------------------------------------------------------