Wikibooks zhwikibooks https://zh.wikibooks.org/wiki/Wikibooks:%E9%A6%96%E9%A1%B5 MediaWiki 1.47.0-wmf.18 first-letter Media Special Talk User User talk Wikibooks Wikibooks talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Transwiki Transwiki talk Wikijunior Wikijunior talk Subject Subject talk TimedText TimedText talk Module Module talk Event Event talk 日语 0 4898 187087 171486 2026-09-05T14:58:40Z Pawsdt 68279 187087 wikitext text/x-wiki <templatestyles src="Nihongo textbook/styles.css" /> < [[Subject:语言|语言]] __NOTOC__ <div style="background:#fff;color:inherit; float:left; width:98%; border:1px solid #aaa; background:#FFFAFA; padding:15px"> <div class="center" style="line-height:30px; font-size:200%;font-weight:bold;">日語教科書</div> <div style="line-height:30px; font-size:200%;font-weight:bold;"class="center">{{Lang|ja|・{{ruby|日|に}}{{ruby|本|ほん}}{{ruby|語|ご}}の{{ruby|教|きょう}}{{ruby|科|か}}{{ruby|書|しょ}}}}</div> <!-- 左欄開始 --> <div class="content"> <div style="box-shadow: 0 0 .4em #999; margin:1em 0.25em 2em 0.25em;"> <div style="padding: 1em;"> == 介紹 == * [[日语/序言]] * [[日语/范例]] * [[日语/文字]] * [[日语/常識]] * [[日语/常見疑問]] ==讀和寫== *[[日语/假名]] *[[日语/語音]] *[[日语/音調]] *[[日语/假名/認讀練習]] ==字詞== * [[日語/詞彙]] * [[日語/同形異義詞]] ==會話== *[[日语/入門課程]] *[[日语/詞組練習]] *[[日語/商業]] *[[日語/旅遊]] </div></div></div> <!-- 中左欄開始 --> <div class="content"> <div style="box-shadow: 0 0 .3em #999; margin: 1em 0.25em 2em 0.25em;"> <div style="padding: 1em;"> == 文法 == * [[日语/文法]] === 句式 === * [[日语/文法#判斷句|日语/文法/判斷句]] * [[日语/文法#存在句|日语/文法/存在句]] * [[日语/文法#願望句|日语/文法/願望句]] === 品詞 === * [[日语/文法/動詞]] * [[日语/文法/補助用言]] * [[日语/文法/形容詞]] * [[日语/文法/形容動詞]] * [[日语/文法/助詞]] * [[日语/文法/助動詞]] * [[日语/文法/名詞]] * [[日语/文法/副詞]] * [[日语/文法/連體詞]] * [[日语/文法/接續詞]] * [[日语/文法/感嘆詞]] === 表達 === * [[日语/文法/敬語]] * [[日语/文法/授受]] === 用语对照 === *[[日语/文法/“学校语法”与“日语教学语法”用语对照]] </div></div></div> <!-- 中左欄開始 --> <div class="content"> <div style="box-shadow: 0 0 .3em #999; margin: 1em 0.25em 2em 0.25em;"> <div style="padding: 1em;"> ==课文== *[[日语/课文/第一课|第一课]] *[[日语/课文/第二课|第二课]] </div></div></div> <!-- 右欄開始 --> <div class="content"> <div style="box-shadow: 0 0 .3em #999; margin: 1em 0.25em 2em 0.25em;"> <div style="padding: 1em;"> ==日本語能力試驗(JLPT)== *[[日語/日檢/日本語能力試驗]] **[[日語/日檢/日本語能力試驗/N1單字]] **[[日語/日檢/日本語能力試驗/N2單字]] **[[日語/日檢/日本語能力試驗/N3單字]] **[[日語/日檢/日本語能力試驗/N4單字]] **[[日語/日檢/日本語能力試驗/N5單字]] ==外部資源== * [http://brng.jp/50renshuu.pdf 假名練習帳 (PDF)] * [http://jp.sonic-learning.com/2010/01/21/%e6%97%a5%e8%aa%9e%e4%ba%94%e5%8d%81%e9%9f%b3%e5%92%8c%e7%99%bc%e9%9f%b3%e7%9a%84%e5%ad%b8%e7%bf%92%e9%a0%86%e5%ba%8f 音速語言學習(日語)] * [http://study.u-biq.org/ 在線日本語学習] * [http://brng.jp/ 便利日語 - 日本語補充項目(適用於香港人)] {{wikiversity}} </div></div></div></div> [[Category:日語|日]] 47w56sbn8n85pm3j9voxyggnoa9wmtp 汉语 0 4900 187086 184491 2026-09-05T14:55:03Z Pawsdt 68279 改成ruby 187086 wikitext text/x-wiki < [[Subject:语言]] <div style="background:white;margin-left:auto; margin-right:auto;width:92%; box-shadow:grey 0px 0px 5px; border-radius:8px; color: #000; font-size:1em; text-shadow:white 0 1px 8px;padding:10.865px;line-height: 30px; font-size:150%">{{ruby|欢迎|huān yíng}}{{ruby|来到|lái dào}}{{ruby|汉语|hàn yǔ}}{{ruby|教科书|jiào kē shū}}! </div> <br> <div style="background:white;margin-left:auto; margin-right:auto;width:92%; box-shadow:grey 0px 0px 5px; border-radius:8px; color: #000; font-size:1em; text-shadow:white 0 1px 8px;padding:10.865px;"> <div style="line-height: 30px;font-size:150%">目录</div> * [[汉语/序言|序言]] * [[汉语/拼音|第1课-拼音]] * [[汉语/文字|第2课-文字]] * [[汉语/书法|第3课-书法]] * [[汉语/词汇|第4课-词汇]] * [[汉语/文法|第5课-文法]] * [[汉语/课程|第6课-语篇]] * [[汉语/資源|附錄-資源]] </div> {{Wikibook|现代标准汉语}} {{Wikipedia|汉语}} [[分類:漢語]] e6vjcxowuo53o9qrmowsp3amo5dufcw Wikijunior:自我保护/目录/烧烫伤 110 19458 187180 61197 2026-09-06T11:26:39Z Tisscherry 69132 187180 wikitext text/x-wiki 發生燒燙傷時,請牢記急救五字訣「沖、脫、泡、蓋、送」。 沖:流動的冷水沖至少20分鐘。 脫:若有衣服或其他物品覆蓋,充分泡濕後再小心脫掉,若皮膚上起水泡,要小心不要弄破。 泡:將受傷部位泡在冷水中。 蓋:使用乾淨的棉布用冷開水(煮過後冷卻的水)泡濕蓋住傷口。 送:立刻前往醫院,或使在前面的步驟時可以先打緊急電話求助。 千萬不要使用任何偏方或自行塗藥。 8g8yfut2ezx275yty8b3y4ro5pwksqz 187181 187180 2026-09-06T11:29:46Z Tisscherry 69132 187181 wikitext text/x-wiki 發生燒燙傷時,牢記急救五字訣「沖、脫、泡、蓋、送」。 沖:流動的冷水沖至少20分鐘。 脫:若有衣服或其他物品覆蓋,充分泡濕後再小心脫掉,若皮膚上起水泡,要小心不要弄破。 泡:將受傷部位泡在冷水中。 蓋:使用乾淨的棉布用冷開水(煮過後冷卻的水)泡濕蓋住傷口。 送:立刻前往醫院,或使在前面的步驟時可以先打緊急電話求助。 千萬不要使用任何網上偏方或自行塗藥。 == 參考 == *[https://www.cmuh.cmu.edu.tw/HealthEdus/Detail?no=4735 各種燒燙傷急救處理]-中國醫藥大學附設醫院 *[https://www.sunshine.org.tw/column/index/burns?akey=burn-treatment&srsltid=AfmBOorwh6USjJUMEC4J3vFFEOzSK9WfbfP5plQocp5k9qILIv4qcEgC 燙傷處理怎麼做?一文了解燒燙傷急救、後續處理與照護方法]-陽光社會福利基金會 hs4irc3px44i4syo49smnwlj1giatfz 187182 187181 2026-09-06T11:32:46Z Tisscherry 69132 187182 wikitext text/x-wiki 發生燒燙傷時,牢記急救五字訣「沖、脫、泡、蓋、送」。 沖:流動的冷水沖燙傷處至少20分鐘。 脫:若有衣服或其他物品覆蓋,充分泡濕後再小心脫掉,若皮膚上有起水泡,要小心不要弄破。 泡:將受傷部位泡在冷水中。 蓋:找乾淨的棉布用冷開水(煮過後冷卻的水)泡濕蓋住傷口。 送:立刻前往醫院,或使在前面的步驟時可以先打緊急電話求助。 千萬不要使用網上任何偏方或自行塗藥。 == 參考 == *[https://www.cmuh.cmu.edu.tw/HealthEdus/Detail?no=4735 各種燒燙傷急救處理]-中國醫藥大學附設醫院 *[https://www.sunshine.org.tw/column/index/burns?akey=burn-treatment&srsltid=AfmBOorwh6USjJUMEC4J3vFFEOzSK9WfbfP5plQocp5k9qILIv4qcEgC 燙傷處理怎麼做?一文了解燒燙傷急救、後續處理與照護方法]-陽光社會福利基金會 bcety6ag8t5hki23szoqf1tfm13baim Wikijunior:自我保护/目录/安全意识 110 23358 187178 120632 2026-09-06T10:48:06Z Tisscherry 69132 187178 wikitext text/x-wiki “害人之心不可有,防人之心不可無。”成人社會的人類一直存有戰爭與侵襲的習慣,這是目前為止各國皆失敗的教育依然難以避免的事實。所以,在這個時代裡,隨時都要懂得如何應對隨時發生的危機,而且應該通過意識的培養從而形成良好的本能,畢竟我們如果不能有效的保證自己和家人的人身安全。那麼,我們所做的一切可能都是毫無意義的,這是一個看似繁複卻非常必要的學習。中國有一个成语叫做“居安思危”。就是我們在平時要做好應對危機的準備,就像是消防員平時要儲存和維護好救火的裝備與材料,並熟悉運用救火的各項技能,若等到需要救火的時候才準備,就已經很晚了。 og82lhgxhklfhbgam9h39rj9jpdqcqm Wikijunior:食物 110 25064 187176 97203 2026-09-06T09:53:13Z Tisscherry 69132 187176 wikitext text/x-wiki 几乎任何的生命都需要一种得以延续生命形态的相对新鲜的物质。整体来说,这些可以使生命因而延续的物质都是'''食物'''。 ==历史== ==种类== [[File:Salad (5).jpg|thumb|沙拉。沙拉分为水果沙拉、蔬菜沙拉等。]] ==各地的特色食品== ==动物的食物== ==零食== iwbutt6vyx0ggykhqyd8u6dcfdh7x6t 食譜/地瓜圓 0 25867 187175 183267 2026-09-06T09:40:25Z Tisscherry 69132 187175 wikitext text/x-wiki '''地瓜圓'''是台灣傳統[[甜點]]。 == 作法 == [[File:Taro_Balls_at_Jiufen,_New_Taipei_City,_Sept_2011.jpg|thumb|right|150px|地瓜圓與芋圓]] 以[[地瓜]]蒸熟後壓成[[泥]],加上[[木薯粉]]([[太白粉]]亦可,木薯粉較Q,太白粉則較軟。)及[[水]]拌勻成[[糰]],搓揉成[[長條形]]再切成小塊,放入沸水中煮至浮起撈出即成。 == 吃法 == 可和在冰糖水裡食用,也可熱食。在台灣,許多甜點如[[豆花]]、[[刨冰]],均可加點地瓜圓、芋圓以及綠豆圓覆蓋其上一起食用。 == 相關條目 == * [[芋圓]] * [[綠豆圓]] * 抹茶圓 * 山藥圓 * 芝麻圓 [[Category:食譜/甜品]] [[Category:糰子類食品]] [[Category:台灣甜食]] 89lx5tkaw6zx5zxbeulbw1v4nn0q0nr Wikijunior:自我保护/目录/危機意识 110 30674 187177 137329 2026-09-06T10:42:51Z Tisscherry 69132 187177 wikitext text/x-wiki 真實的物理世界,不同的社會因素,人性在這樣的拉力下,所累積的往往是莫名的衝動和危險的隨時發生。而且,有些事往往是全無先兆的,甚至看起來是隨機的,往往突然就發生了。不過,即使如此,諸多的危險還是有可以提前預防的方式。這種面對危險可以居安思危的思維,即是危機意識。也就是隨時覺察危險或許即將發生的一種認真生活與生存的能力。對於生命的生存和延續,對弱者以及家人的關照都有極大的意義。 taptacrc00zs1awrfnrqt79zlbgqksh 现代标准汉语 0 32793 187088 187083 2026-09-06T01:21:34Z 魔琴 49316 /* 目录 */ // Edit via Wikiplus 187088 wikitext text/x-wiki {{stub}} {{Wikibook|汉语}} 本书主要介绍现代标准汉语,读者应具有一定的中文阅读能力。 本书主要参考中国大陆学者黄伯荣、廖旭东主编的《现代汉语》(增订六版)编写,亦兼参照其他同类教材以及各领域的专著。在部分纲领性的概念讲解中,中国大陆由于受到苏联的影响,采用马克思主义哲学的视角来分析问题。本教材会参考台湾等地的专著剥离这样的视角;但考虑到中国大陆读者的需要,仍然会以观点补充的形式在内文或注释中特别提出。 本书正文不会分别显示繁体和简体中文,若希望使用某种用字模式阅读本书,请直接切换维基教科书的内容语言变体。 为求简洁,本书中「现代标准汉语」会省作「汉语」,容易混淆时亦会省作「现代汉语」、「标准汉语」、「国语」、「普通话」等。 == 本书结构 == {{#invoke:现代标准汉语教材/目录结构|toplevel}} [[Category:漢語]] ersjac8vsp8kgtbkix8zsd0d8ncps0r 现代标准汉语/语音 0 32794 187141 187078 2026-09-06T03:20:08Z 魔琴 49316 (小工具)统一页眉页脚格式 187141 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 从「语言概说」一章我们能了解到语音在语言中的重要性。这一章我们将了解语音的性质,以及现代标准汉语的'''语音'''系统。 中国大陆的语言学教材采用马克思主义哲学的观点,认为语音是语言的物质外壳<ref>马克思与恩格斯《德意志意识形态》:“精神”从一开始就很倒霉,受到物质的“纠缠”,物质在这里表现为振动着的空气层、声音,简言之,即语言。语言和意识具有同样长久的历史;语言是一种实践的、既为别人存在因而也为我自身而存在的、现实的意识。语言也和意识一样,只是由于需要,由于和他人交往的迫切需要才产生的。</ref>,是人类通过发声器官传递信息的有意义的声音。<ref>黄廖本p.15</ref> == 语音的性质 == 语音具有物理、生理、社会三个属性。 === 语音的物理属性 === 语音的物理属性包括音高、音强、音长和音色。 * '''音高'''指声音的高低,取决于物体振动的频率。频率越高,音高越高。 * '''音强'''即音量,指声音的强弱,与发音体振动的幅度有关。振幅越大,声音越强。 * '''音长'''指声音的长短,取决于发音体振动的时间。发音体振动时间越长,音长越长。 * '''音色'''又叫音质,是声音的特色。音色与声音的泛音有关,这体现在物体振动所成波形的不同。音色不同,可能因为: ** 发音体不同。 ** 发音方法不同。 ** 共鸣腔形状不同。 === 语音的生理属性 === 人的发音器官可以分为以下三大部分: * '''呼吸器官'''呼出气流,气流是语音的动力。 * '''声带'''。呼出的气流通过声带之间的声门。声带的打开和关闭能控制气流是否呼出;声带的张力(松紧变化)能调整声音的音高。 * '''声腔'''<ref>北大本p.24</ref>是共鸣器,能扩大声音。声腔包括咽腔、口腔和鼻腔。口腔内各器官能调节声音的通路,发出丰富的声音。 <gallery widths=300px heights=300px> Gray1204_zh.png|声带示意图(简体中文) Places of articulation.svg|调音部位 </gallery> <small>1.外唇、2.内唇、3.牙齒、4.齒齦、5.齒齦後部、6.硬腭前部、7.硬腭、8.軟腭、9.小舌、10.咽腔壁、11.声門、12.會厭、13.舌根、14.舌面後、15.舌面前、16.舌葉、17.舌尖、18.舌尖下部</small> === 语音的社会属性 === 语音能表示意义,但是不同社会、民族、地域表达同一个事物用的语音不同。因此,语音与它表示的意义没有必然联系,是人为规定的。语音和意义的结合,是使用该语言的社会约定俗成的。 不同的语言有不同的语音,同一种语音在语言里起的作用也不一样,这说明语音的社会属性也表现在语音的系统性上。 中国大陆的教材受到马克思主义哲学分析方法影响,认为社会属性是语音的本质属性。 == 本章目录 == {{#invoke:现代标准汉语教材/目录结构|chapter}} <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> sv18j60t3lk0edh7wegwmep2jl7ypn9 187142 187141 2026-09-06T03:36:19Z 魔琴 49316 // Edit via Wikiplus 187142 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 从「语言概说」一节我们能了解到语音在语言中的重要性。这一章我们将了解语音的性质,以及现代标准汉语的语音系统。 == 语音是什么 == '''语音'''就是人类说话的声音,或者说,是人类通过发声器官传递信息的具有词句意义的声音。人类通过发声器官也能传递其他信息,比如喘气、喷嚏、咳嗽、呻吟,但他们并没有词句含义,不能算作语音。<ref name=HL15>黄廖本p.15</ref> 中国大陆的语言学教材采用马克思主义哲学的观点,认为语音是语言的物质外壳<ref group=马>马克思与恩格斯《德意志意识形态》:“精神”从一开始就很倒霉,受到物质的“纠缠”,物质在这里表现为振动着的空气层、声音,简言之,即语言。语言和意识具有同样长久的历史;语言是一种实践的、既为别人存在因而也为我自身而存在的、现实的意识。语言也和意识一样,只是由于需要,由于和他人交往的迫切需要才产生的。</ref><ref name=HL15 />,因为语义需要依附于物质实体<ref>李子瑄、曹逢甫《汉语语言学》p.33</ref>来表达——语音是语义的表达形式<ref name=HL15 />。 == 语音的性质 == 语音具有物理、生理、社会三个属性。 * '''物理属性''',或者说语音的'''物理学''':语音是一种'''声音''',那么和其他声音一样,物理学中声音有的性质,语音也同时拥有。 * '''生理属性''',或者说语音的'''生理学''':语音是'''人类发出'''的声音,那么人类的各个器官是如何发出语音,如何发出不同的语音的? * '''社会属性''':语音除了是人类发出的声音以外,还需要带有'''词句意义'''。这个意义是社会赋予的,因此语音也具有社会属性。 === 语音的物理属性 === 语音的物理属性包括音高、音强、音长和音色。 * '''音高'''指声音的高低,取决于物体振动的频率。频率越高,音高越高。 * '''音强'''即音量,指声音的强弱,与发音体振动的幅度有关。振幅越大,声音越强。 * '''音长'''指声音的长短,取决于发音体振动的时间。发音体振动时间越长,音长越长。 * '''音色'''又叫音质,是声音的特色。音色与声音的泛音有关,这体现在物体振动所成波形的不同。音色不同,可能因为: ** 发音体不同。 ** 发音方法不同。 ** 共鸣腔形状不同。 === 语音的生理属性 === 人的发音器官可以分为以下三大部分: * '''呼吸器官'''呼出气流,气流是语音的动力。 * '''声带'''。呼出的气流通过声带之间的声门。声带的打开和关闭能控制气流是否呼出;声带的张力(松紧变化)能调整声音的音高。 * '''声腔'''<ref>北大本p.24</ref>是共鸣器,能扩大声音。声腔包括咽腔、口腔和鼻腔。口腔内各器官能调节声音的通路,发出丰富的声音。 <gallery widths=300px heights=300px> Gray1204_zh.png|声带示意图(简体中文) Places of articulation.svg|调音部位 </gallery> <small>1.外唇、2.内唇、3.牙齒、4.齒齦、5.齒齦後部、6.硬腭前部、7.硬腭、8.軟腭、9.小舌、10.咽腔壁、11.声門、12.會厭、13.舌根、14.舌面後、15.舌面前、16.舌葉、17.舌尖、18.舌尖下部</small> === 语音的社会属性 === 语音能表示意义,但是不同社会、民族、地域表达同一个事物用的语音不同。因此,语音与它表示的意义没有必然联系,是人为规定的。语音和意义的结合,是使用该语言的社会约定俗成的。 不同的语言有不同的语音,同一种语音在语言里起的作用也不一样,这说明语音的社会属性也表现在语音的系统性上。 中国大陆的教材受到马克思主义哲学分析方法影响,认为社会属性是语音的本质属性。 == 本章目录 == {{#invoke:现代标准汉语教材/目录结构|chapter}} <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> s97icw13wdysuat2wu63p3sdm6a8mio 187143 187142 2026-09-06T03:37:12Z 魔琴 49316 (小工具)统一页眉页脚格式 187143 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 从「语言概说」一节我们能了解到语音在语言中的重要性。这一章我们将了解语音的性质,以及现代标准汉语的语音系统。 == 语音是什么 == '''语音'''就是人类说话的声音,或者说,是人类通过发声器官传递信息的具有词句意义的声音。人类通过发声器官也能传递其他信息,比如喘气、喷嚏、咳嗽、呻吟,但他们并没有词句含义,不能算作语音。<ref name=HL15>黄廖本p.15</ref> 中国大陆的语言学教材采用马克思主义哲学的观点,认为语音是语言的物质外壳<ref group=马>马克思与恩格斯《德意志意识形态》:“精神”从一开始就很倒霉,受到物质的“纠缠”,物质在这里表现为振动着的空气层、声音,简言之,即语言。语言和意识具有同样长久的历史;语言是一种实践的、既为别人存在因而也为我自身而存在的、现实的意识。语言也和意识一样,只是由于需要,由于和他人交往的迫切需要才产生的。</ref><ref name=HL15 />,因为语义需要依附于物质实体<ref>李子瑄、曹逢甫《汉语语言学》p.33</ref>来表达——语音是语义的表达形式<ref name=HL15 />。 == 语音的性质 == 语音具有物理、生理、社会三个属性。 * '''物理属性''',或者说语音的'''物理学''':语音是一种'''声音''',那么和其他声音一样,物理学中声音有的性质,语音也同时拥有。 * '''生理属性''',或者说语音的'''生理学''':语音是'''人类发出'''的声音,那么人类的各个器官是如何发出语音,如何发出不同的语音的? * '''社会属性''':语音除了是人类发出的声音以外,还需要带有'''词句意义'''。这个意义是社会赋予的,因此语音也具有社会属性。 === 语音的物理属性 === 语音的物理属性包括音高、音强、音长和音色。 * '''音高'''指声音的高低,取决于物体振动的频率。频率越高,音高越高。 * '''音强'''即音量,指声音的强弱,与发音体振动的幅度有关。振幅越大,声音越强。 * '''音长'''指声音的长短,取决于发音体振动的时间。发音体振动时间越长,音长越长。 * '''音色'''又叫音质,是声音的特色。音色与声音的泛音有关,这体现在物体振动所成波形的不同。音色不同,可能因为: ** 发音体不同。 ** 发音方法不同。 ** 共鸣腔形状不同。 === 语音的生理属性 === 人的发音器官可以分为以下三大部分: * '''呼吸器官'''呼出气流,气流是语音的动力。 * '''声带'''。呼出的气流通过声带之间的声门。声带的打开和关闭能控制气流是否呼出;声带的张力(松紧变化)能调整声音的音高。 * '''声腔'''<ref>北大本p.24</ref>是共鸣器,能扩大声音。声腔包括咽腔、口腔和鼻腔。口腔内各器官能调节声音的通路,发出丰富的声音。 <gallery widths=300px heights=300px> Gray1204_zh.png|声带示意图(简体中文) Places of articulation.svg|调音部位 </gallery> <small>1.外唇、2.内唇、3.牙齒、4.齒齦、5.齒齦後部、6.硬腭前部、7.硬腭、8.軟腭、9.小舌、10.咽腔壁、11.声門、12.會厭、13.舌根、14.舌面後、15.舌面前、16.舌葉、17.舌尖、18.舌尖下部</small> === 语音的社会属性 === 语音能表示意义,但是不同社会、民族、地域表达同一个事物用的语音不同。因此,语音与它表示的意义没有必然联系,是人为规定的。语音和意义的结合,是使用该语言的社会约定俗成的。 不同的语言有不同的语音,同一种语音在语言里起的作用也不一样,这说明语音的社会属性也表现在语音的系统性上。 中国大陆的教材受到马克思主义哲学分析方法影响,认为社会属性是语音的本质属性。 == 本章目录 == {{#invoke:现代标准汉语教材/目录结构|chapter}} <noinclude>{{MSCL/footer}} == 注释 == ===马克思主义哲学=== {{reflist|group=马}} == 参考资料 == {{reflist}} </noinclude> amfogwrkod9wrbslazy0rfaxtug9h71 现代标准汉语/语音/声母 0 32795 187149 186590 2026-09-06T05:51:51Z 魔琴 49316 (小工具)统一页眉页脚格式 187149 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> __TOC__汉语的'''声母'''如下表所示: {| class="wikitable" style="text-align:center;" |+ 图例 |- | 国际音标<br>拼音 注音 |} {| class="wikitable" style="text-align:center;" |+聲母列表 ! colspan="2" | !![[:w:雙唇音|雙唇]]||[[:w:唇齒音|唇齒]]||[[:w:齒音|齒]]、<br>[[:w:齒齦音|齒齦]]||[[:w:捲舌音|捲舌]]||[[:w:齦顎音|齦-{}-腭]]||[[:w:軟顎音|软-{}-腭]] |- ! colspan="2" |[[:w:鼻音 (辅音)|鼻音]] |[[:w:/m/|/m/]]<br>m ㄇ|| ||[[:w:/n/|/n/]]<br>n ㄋ|| || || |- ! rowspan="2" |[[:w:塞音|塞音]]||[[:w:送氣|不送氣]] |[[:w:/p/|/p/]]<br>b ㄅ|| ||[[:w:/t/|/t/]]<br>d ㄉ|| || |[[:w:/k/|/k/]]<br>g ㄍ |- ![[:w:送氣|送氣]] |/pʰ/<br>p ㄆ|| ||/tʰ/<br>t ㄊ|| || |/kʰ/<br>k ㄎ |- ! rowspan="2" |[[:w:塞擦音|塞擦音]]!![[:w:送氣|不送氣]] | || ||[[:w:清齿龈塞擦音|/ts/]]<br>z ㄗ||[[:w:清卷舌塞擦音|/ʈʂ/]]<br>zh ㄓ |[[:w:清龈颚塞擦音|/tɕ/]]<br>j ㄐ|| |- ![[:w:送氣|送氣]] | || ||/tsʰ/<br>c ㄘ||/ʈʂʰ/<br>ch ㄔ |/tɕʰ/<br>q ㄑ|| |- ! colspan="2" |[[:w:擦音|擦音]] | ||[[:w:/f/|/f/]]<br>f ㄈ||[[:w:/s/|/s/]]<br>s ㄙ |[[:w:清卷舌擦音|/ʂ/]]<br>sh ㄕ |[[:w:清龈颚擦音|/ɕ/]]<br>x ㄒ||[[:w:/x/|/x/]]<br>h ㄏ |- ! colspan="2" |[[:w:近音|近音]] | || ||[[:w:/l/|/l/]]<br>l ㄌ |[[:w:卷舌近音|/ɻ/]]<br>r ㄖ|| || |} <small>注:本表合并了齿音和齿龈音。d ㄉ、t ㄊ、n ㄋ、l ㄌ为齿龈音;齿音z ㄗ、c ㄘ、s ㄙ的严式音标可以记为<span style="font-family:'Times New Roman', 'Linux Libertine', times, sans-serif">{{IPA|[t̻͡s̪]}}、{{IPA|[t̻͡s̪ʰ]}}、{{IPA|[s̪]}}</span>。</small> == 声母的排列顺序 == 声母一般按照这个顺序排列: {|class=wikitable style="text-align:center" !发音部位 !!colspan=3|[[:w:双唇音|双唇音]]!![[:w:唇齿音|唇齿音]]!!colspan=4|[[:w:舌尖中音|舌尖中音<br>(齿龈音)]]!!colspan=3|[[:w:舌根音|舌面后音<br>(软腭音)]]!!colspan=3|[[:w:舌面前音|舌面前音<br>(龈腭音)]]!!colspan=4|[[:w:舌尖后音|舌尖后音<br>(捲舌音)]]!!colspan=3|[[:w:舌尖前音|舌尖前音<br>(齿音)]] |- bgcolor="#f0f0f0" ![[國際音標]] |/p/||/pʰ/||/m/||/f/||/t/||/tʰ/||/n/||/l/||/k/||/kʰ/||/x/||/tɕ/||/tɕʰ/||/ɕ/||/ʈʂ/||/ʈʂʰ/||/ʂ/||/ɻ/||/ts/||/tsʰ/||/s/ |- ![[漢語拼音]] |b||p||m||f||d||t||n||l||g||k||h||j||q||x||zh||ch||sh||r||z||c||s |- ![[注音符號]] |ㄅ||ㄆ||ㄇ||ㄈ||ㄉ||ㄊ||ㄋ||ㄌ||ㄍ||ㄎ||ㄏ||ㄐ||ㄑ||ㄒ||ㄓ||ㄔ||ㄕ||ㄖ||ㄗ||ㄘ||ㄙ |- !例字 |帮||滂||明||非||端||透||泥||来||哥||科||喝||鸡||七||西||知||迟||诗||日||资||词||丝 |} === 零声母 === 开头没有声母的音节,一般称为“零声母”,可以用惯用符号“∅”表示,只有必要时才写。∅不是国际音标符号(国际音标有一相似符号/ø/,表示半闭前圆唇元音),不是拼音或注音字母,也不写在韵母前头。零声母的音节可能会产生半元音、浊擦音或是声门塞音。但是它们不明显,不重要,不表意,因此不需要写出。零声母一般算作声母。 == 声母的分类 == 声母都是辅音。以下根据辅音的分类方法分类汉语的辅音声母。 汉语唯一一个不作声母的辅音/ŋ/也可以按下文方式分类,但这里不将其列出。 === 根据发音部位分类 === 汉语的辅音可以根据发音部位分为七类:<!--古汉语声母名称加“也叫”,现今汉学界常用名称不加“也叫”--> # '''双唇音'''(也叫'''重唇音''')的调音部位是双唇:双唇闭合,形成阻碍。 # '''唇齿音'''(也叫'''轻唇音''')的调音部位是唇齿:上唇和下齿靠近,形成阻碍。我们也把双唇音和唇齿音合称为唇音。 # '''齿音'''('''舌尖前音''')的调音部位是牙齿:舌尖平伸抵住齿背,形成阻碍。 # '''齿龈音'''('''舌尖中音''')的调音部位是齿龈:舌尖抵住上齿龈,形成阻碍。 # '''卷舌音'''('''舌尖后音''')的调音部位是卷舌:舌尖抵住上颚前部,形成阻碍。 # '''龈腭音'''('''舌面前音''')的调音部位是龈腭:舌面前部抵住硬腭前部,形成阻碍。 # '''软腭音'''('''舌面后音''',也叫'''牙音''')的调音部位是软腭:舌根抵住软腭,形成阻碍。 === 根据发音方法分类 === 辅音的发音方法有很多方面,我们可以从阻碍的方式、声带是否振动、气流的强弱三方面来观察。 ==== 根据阻碍方式分类 ==== 先前我们学过,辅音的发音可以分为三个阶段:成阻——持阻——除阻(即形成阻碍——持续阻碍——解除阻碍)。这三个阶段的情况不同产生了不同的辅音。<ref>{{cite book |author1=张子泉 |title=普通话教程 |date=2005-04-01 |publisher=清华大学出版社 |isbn=9787302107255 |pages=42}}</ref>汉语的辅音可以分为五类: # '''爆发音''':旧称'''塞'''[sè ㄙㄜˋ]'''音'''。上下发音部位接触闭塞,阻塞气流;气流突然冲破阻碍,爆发出声。 # '''擦音''':上下发音部位靠近,形成窄缝;气流从窄缝中挤出,摩擦出声。 # '''塞擦音''':上下发音部位接触闭塞,阻塞气流;然后气流突破阻碍,从窄缝中挤出,摩擦出声。 # '''鼻音''':口腔关闭,软腭下降,打开鼻腔通路;气流从鼻腔流出。 # '''边音''':两个发音部位彼此靠拢,组成声腔并且收窄,但仍然有足够空间予气流流动。 ==== 根据声带是否振动分类 ==== 发音时声带不振动的叫作'''清音''',振动的叫作'''浊音'''。汉语大部分声母是清音,基本没有清浊对立。 浊音声母只有四个:m ㄇ、n ㄋ、l ㄌ、r ㄖ。其余的都是清音。 ==== 根据气流的强度分类 ==== 现代汉语中,塞音和塞擦音能根据气流的强度分类。气流较弱的是'''不送气音''';气流较强的叫'''送气音''',在国际音标中标注为上标h,形如ʰ(一种过时的写法是单个向后的弯引号<span style=font-family:serif>-{‘}-</span>)。 == 声母的发音 == 以下详细描写各辅音声母的发音方法。 {| class=wikitable |+ 声母的发音方法 |- ! 发音部位 !! {{nowrap|声母}} !! {{nowrap|辅音}} !! 辅音名称 !! 发音方法 !! {{nowrap|例字}} |- ! rowspan=3 | 双唇音 | b ㄅ || /p/ || 不送气清双唇塞音 || 双唇紧闭,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破双唇的阻碍,爆发发声。|| 标本 |- | p ㄆ || /pʰ/ || 送气清双唇塞音 || 与/p/大致相同,区别是气流较强。|| 批评 |- | m ㄇ || /m/ || (浊)双唇鼻音 || 双唇紧闭,软腭下降打开鼻腔通路,声带振动,气流从鼻腔通过,鼻腔共鸣。剩余的气流冲破双唇的阻碍,发出轻微的塞音。|| 美妙 |- !唇齿音 | f ㄈ || /f/ || 清唇齿擦音 || 下齿接触上唇,软腭上升阻塞鼻腔通路,声带不振动。气流从唇齿之间挤出,摩擦发声。|| 方法 |- ! rowspan=4 | 舌尖中音<br>{{nowrap|(齿龈音)}} | d ㄉ || /t/ || 不送气清齿龈塞音 || 舌尖抵住上齿龈,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破舌尖的阻碍,爆发发声。|| 道德 |- | t ㄊ || /tʰ/ || 送气齿龈清塞音 || 与/t/大致相同,区别是气流较强。|| 疼痛 |- | n ㄋ || /n/ || (浊)齿龈鼻音 || 舌尖抵住上齿龈,软腭下降打开鼻腔通路,声带振动,气流从鼻腔通过,鼻腔共鸣。剩余的气流冲破舌尖的阻碍,发出轻微的塞音。|| 男女 |- | l ㄌ || /l/ || (浊)齿龈边近音 || 舌尖抵住上齿龈,软腭下降打开鼻腔通路,声带振动,气流从舌头两边通过。|| 力量 |- ! rowspan=3 | 舌面后音<br>(软腭音) | g ㄍ || /k/ || 不送气清软腭塞音 || 舌面后音抵住软腭,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破舌面的阻碍,爆发发声。|| 更改 |- | k ㄎ || /kʰ/ || 送气清软腭塞音 || 与/k/大致相同,区别是气流较强。|| 宽阔 |- | h ㄏ || /x/ || 清软腭擦音 || 舌面后音靠近软腭,留出窄缝,软腭上升阻塞鼻腔通路,声带不振动。气流从窄缝中挤出,摩擦发声。<br><small>注:有些时候也读成清声门擦音/h/。/h/的发音方法仅有呼出气流。</small>||黄昏 |- ! rowspan=3 | 舌面前音<br>(龈腭音) | j ㄐ || /tɕ/ || 不送气清龈腭塞擦音 || 舌面前部抵住硬腭前部,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破舌面的阻碍形成窄缝,从中挤出,摩擦发声。||拒绝 |- | q ㄑ || /tɕʰ/ || 送气清龈腭塞擦音 || 与/tɕ/大致相同,区别是气流较强。||亲戚 |- | x ㄒ || /ɕ/ || 清龈腭擦音 || 舌面前部靠近硬腭前部,留出窄缝,软腭上升阻塞鼻腔通路,声带不振动。气流从窄缝中挤出,摩擦发声。||学习 |- ! rowspan=4 | 舌尖后音<br>(捲舌音) | {{nowrap|zh ㄓ}} || /ʈʂ/ || 不送气清捲舌塞擦音 || 舌尖上翘抵住硬腭前部,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破舌尖的阻碍形成窄缝,从中挤出,摩擦发声。||战争 |- | {{nowrap|ch ㄔ}} || /ʈʂʰ/ || 送气清捲舌塞擦音 || 与/ʈʂ/大致相同,区别是气流较强。||惆怅 |- | {{nowrap|sh ㄕ}} || /ʂ/ || 清捲舌擦音 || 舌尖上翘接近硬腭前部,留出窄缝,软腭上升阻塞鼻腔通路,声带不振动。气流从窄缝中挤出,摩擦发声。||书生 |- | r ㄖ || /ɻ/ || (浊)捲舌近音 || 舌尖上翘接近硬腭前部,软腭上升阻塞鼻腔通路,声带振动,气流从口腔中央流过舌面。<br><small>注:有人认为是浊卷舌擦音/ʐ/。/ʐ/的发音方法与/ʂ/大致相同,区别仅在于是气流挤出前声带要振动。||柔软 |- ! rowspan=3 | 舌尖前音<br>(齿音) | z ㄗ || /ts/ || 不送气清齿龈塞擦音 || 舌尖抵住齿背,软腭上升阻塞鼻腔通路,声带不振动。微弱的气流冲破舌尖和齿背之间的阻碍形成窄缝,从中挤出,摩擦发声。||自在 |- | c ㄘ || /tsʰ/ || 送气清齿龈塞擦音 || 与/ts/大致相同,区别是气流较强。 ||层次 |- | s ㄙ || /s/ || 清齿龈擦音 || 舌尖靠近齿背,留出窄缝,软腭上升阻塞鼻腔通路,声带不振动。气流从窄缝中挤出,摩擦发声。 ||思索 |} <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> f67exo4k3b5xmi2lmf2gt36ojgqedqj 现代标准汉语/语音/韵母 0 32937 187150 186720 2026-09-06T05:52:11Z 魔琴 49316 (小工具)统一页眉页脚格式 187150 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> __TOC__汉语的'''韻母'''如下表所示: {| class="wikitable" style="text-align:center;" |+ 图例 |- | 国际音标<br>拼音 注音 |} {| class="wikitable" style="font-family: sans-serif; text-align: center"; |+ 韻母列表 |- ! ! width="23%" |[[:w:開口呼|開口呼]] ! width="23%" |[[:w:齊齒呼|齊齒呼]] ! width="23%" |[[:w:合口呼|合口呼]] ! width="23%" |[[:w:撮口呼|撮口呼]] |- ! rowspan="6" style="writing-mode:vertical-rl" | 無韻尾韻母 | (-i ㄭ) | {{IPA|/i/}}<br />i ㄧ | {{IPA|/u/}}<br />u ㄨ | {{IPA|/y/}}<br />ü ㄩ |- | {{IPA|/a/}}<br />a ㄚ | {{IPA|/ia/}}<br />ia ㄧㄚ | {{IPA|/ua/}}<br />ua ㄨㄚ | style="background-color: #ccc;" | |- | {{IPA|/o/}}<br />o ㄛ | style="background-color: #ccc;" | | {{IPA|/uo/}}<br />uo ㄨㄛ | style="background-color: #ccc;" | |- | {{IPA|/ɤ/}}<br />e ㄜ | style="background-color: #ccc;" | | style="background-color: #ccc;" | | style="background-color: #ccc;" | |- | {{IPA|/ɛ/}}<br />ê ㄝ | {{IPA|/iɛ/}}<br />ie ㄧㄝ | style="background-color: #ccc;" | | {{IPA|/yɛ/}}<br />üe ㄩㄝ |- | {{IPA|/ɚ/}}<br />er ㄦ | style="background-color: #ccc;" | | style="background-color: #ccc;" | | style="background-color: #ccc;" | |- ! rowspan="4" style="writing-mode:vertical-rl" | 元音韻尾韻母 | {{IPA|/ai/}}<br />ai ㄞ | {{IPA|/iai/}}<br />iai ㄧㄞ | {{IPA|/uai/}}<br />uai ㄨㄞ | style="background-color: #ccc;" | |- | {{IPA|/ei/}}<br />ei ㄟ | style="background-color: #ccc;" | | {{IPA|/uei/}}<br />uei(ui) ㄨㄟ | style="background-color: #ccc;" | |- | {{IPA|/au/}}<br />ao ㄠ | {{IPA|/iau/}}<br />iao ㄧㄠ | style="background-color: #ccc;" | | style="background-color: #ccc;" | |- | {{IPA|/ou/}}<br />ou ㄡ | {{IPA|/iou/}}<br />iou(iu) ㄧㄡ | style="background-color: #ccc;" | | style="background-color: #ccc;" | |- ! rowspan="6" style="writing-mode:vertical-rl"| 鼻音韻尾韻母 | {{IPA|/an/}}<br />an ㄢ | {{IPA|/iɛn/}}<br />ian ㄧㄢ | {{IPA|/uan/}}<br />uan ㄨㄢ | {{IPA|/yæn/}}<br />üan ㄩㄢ |- | {{IPA|/ən/}}<br />en ㄣ | {{IPA|/in/}}<br />in ㄧㄣ | {{IPA|/uən/}}<br />uen(un) ㄨㄣ | {{IPA|/yn/}}<br />ün ㄩㄣ |- | {{IPA|/aŋ/}}<br />ang ㄤ | {{IPA|/iaŋ/}}<br />iang ㄧㄤ | {{IPA|/uaŋ/}}<br />uang ㄨㄤ | style="background-color: #ccc;" | |- | {{IPA|/əŋ/}}<br />eng ㄥ | {{IPA|/iŋ/}}<br />ing ㄧㄥ | {{IPA|/uəŋ/}}<br />ueng ㄨㄥ | style="background-color: #ccc;" | |- | style="background-color: #ccc;"| | style="background-color: #ccc;"| | {{IPA|/uŋ/}}<br />ong ㄨㄥ | {{IPA|/yuŋ/}}<br />iong ㄩㄥ |} 注: # (-i ㄭ):知、池、诗、日、资、次、思等字的韵母,汉语言学界将其解释为[[:w:舌尖元音|舌尖元音]]。汉语拼音用“i”表示;注音符号用“ㄭ”解释,但不写入拼式。 # ㄧ:该符号在不同字体下可能作一竖或者一横,下同。注音符号最初发布时规定,直排作一横,横排作一竖;现台湾一般作一横,中国大陆一般作一竖。 # 表内所有/a/音素为宽式记法。<!-- # 汉语拼音中,iou、uei、uen作韵母时省作iu、ui、un。--> # ueng和ong互补分布,注音皆注作ㄨㄥ。无声母时为ueng,有声母时为ong。<ref>北大本p.58</ref> # iong ㄩㄥ:黄廖<ref>黄廖本p.51, 53</ref>、沈郭版<ref>沈郭本p.57</ref>皆标作/yŋ/,复旦版<ref>复旦本p.66</ref>内文作/ioŋ/,表格归于齐齿呼但记作/yŋ/。北大版<ref>北大本p.57</ref>标作/ioŋ/,并注可标作/yuŋ/或/yŋ/。 == 韵母的结构 == 韵母可分为介音、韵腹和韵尾。<ref>黄廖本p.53</ref> * '''介音'''也叫韵头,出现在韵腹之前,仅有i ㄧ、u ㄨ、ü ㄩ三个高元音。 * '''韵腹'''是韵母的主干,不可缺少。所有元音都能作韵腹。也叫作「主元音」。主元音清晰响亮,介音和韵尾中的元音则轻短含混。 * '''韵尾'''在韵腹后,仅有/i/、/u/、/n/、/ŋ/四个。 韵腹和韵尾合称「韵身」或「韵基」。 {| class="wikitable" style="text-align: center" |+ 韵母结构举例 |- !rowspan=2| 示例韵母 !!rowspan=2| 介音 !! colspan=2| 韵身 |- ! 韵腹 !! 韵尾 |- | /i/<br>i ㄧ || || /i/ || |- | /o/<br>o ㄛ || || /o/ || |- | /ai/<br>ai ㄞ || || /a/ || /i/ |- | /in/<br>in ㄧㄣ || || /i/ || /n/ |- | /yɛ/<br>üe ㄩㄝ || /y/ || /ɛ/ || |- | /iau/<br>iao ㄧㄠ || /i/ || /a/ || /u/ |- | /uaŋ/<br>uang ㄨㄤ|| /u/ || /a/ || /ŋ/ |} 韵母也可以简称「韵」。注意「韵」可能有多种含义。在「声韵调」中,「韵」指韵母,在「声介韵」中,「韵」就指韵身了。另外,汉语传统声韵学也有一个叫「韵」的概念,是韵身、声调的组合。 == 韵母的分类 == 韵母可以按不同标准分类: === 韵母组成成分 === 韵母根据其组成成分<ref>北大本p.53</ref>,可以分为[[:w:单元音韵母|單元音韵母]]、[[:w:复元音韵母|複元音韻母]]、鼻尾音韻母三类。 * '''单元音韵母''':只有一个元音。 * '''复元音韵母''':两个或三个元音复合而成,包括: ** '''前响复韵母''':由两个元音复合,韵腹在前,舌位由低向高,如ai ㄞ、ei ㄟ、ao ㄠ、ou ㄡ。 ** '''后响复韵母''':由两个元音复合,韵腹在后,舌位由高向低,如ia ㄧㄚ、ua ㄨㄚ、uo ㄨㄛ、ie ㄧㄝ、üe ㄩㄝ。 ** '''中响复韵母''':由三个元音复合,韵腹在中间,舌位由高向低再向高,如iai ㄧㄞ、uai ㄨㄞ、uei ㄨㄟ、iao ㄧㄠ、iou ㄧㄡ。 * '''鼻尾音韵母''':由一个或两个元音,与一个鼻辅音复合而成,包括: ** '''前鼻音韵母''':指以/n/结尾的韵母。 ** '''后鼻音韵母''':指以/ŋ/结尾的韵母。 === 四呼 === 传统上,汉语声韵学根据韵母的第一个元音<ref>普通话水平测试专用教材 / 普通话水平测试研究组, 普通话培训研究中心编. -- 北京: 北京理工大学出版社,2013.1 (2014.3重印) “按韵母开头元音的发音口形分类”</ref>来分类韵母,称为「四呼」: * '''开口呼''':没有介音,且韵腹不是/i/、/u/、/y/。 * '''齐齿呼''':介音或韵腹为/i/。 * '''合口呼''':介音或韵腹为/u/。 * '''撮口呼''':介音或韵腹为/y/。 注音符号可以直接看出一个韵母属于四呼的哪种。对于拼音,要注意: # 声母「-i ㄭ」为开口呼。 # ong ㄨㄥ和iong ㄩㄥ应归为合口呼<ref name="普2003合口呼">《普通话水平测试实施纲要》(2003年版)p.30-31</ref>和撮口呼<ref>《普通话水平测试实施纲要》(2003年版)p.31</ref>。<ref>黄廖本p.51注释2</ref><ref>北大本p.58-59</ref>{{NoteTag|然而部分学者分别归为开口呼和齐齿呼,例见张斌本p.46。}} 此外,韵母o ㄛ只与声母b ㄅ、p ㄆ、m ㄇ、f ㄈ相拼{{NoteTag|除了作叹词的咯[·lo ˙ㄌㄛ]等字。}},而这种音节的韵母其实是uo ㄨㄛ<ref>王力《汉语音韵》p.20注释2</ref><ref>杨剑桥《汉语现代音韵学》p.180,2012年8月第二版</ref><ref>{{Cite journal|author= 刘明华|url= http://mall.cnki.net/magazine/magadetail/KXZB200811.htm|title= 汉语拼音方案的O韵母与UO韵母之辨|journal= 科学之友|year= 2008|issue= 11|pages= 126-127|access-date= 2018-12-08|archive-date= 2021-04-16|archive-url= https://web.archive.org/web/20210416185647/https://mall.cnki.net/magazine/magadetail/KXZB200811.htm|dead-url= no}}</ref>(或者是/uɤ/<ref>吴术燕. 《汉语拼音方案》 中韵母o的发音问题[J]. 梧州学院学报,2018,28(5):82-87. DOI:10.3969/j.issn.1673-8535.2018.05.015.</ref><ref>陈宏.(2008).汉语拼音方案中o的拼合与音值. 语言教学与研究(06),76-82.</ref>),因此此类音节归入合口呼<ref name="普2003合口呼"/>{{NoteTag|也有人认为应该归入开口呼。}}。 == 韵母的发音 == === 元音的分类 === 元音的发音可以根据三方面观察: # '''舌位的高低'''({{lang|en|height}}):'''舌位'''是指发音时舌头最高点的相对位置。舌位最高的音叫'''高元音''',最低的叫'''低元音'''。舌位的高低和嘴巴的开口度密切相关,舌位越高,嘴巴长得越小;舌位越低则反之。因此高元音也叫'''闭元音''',低元音也叫'''开元音'''。元音可以根据舌位从高到低分为闭、次闭、半闭、中、半开、次开、开元音。 # '''舌位的前后'''({{lang|en|backness}}):舌位相对于口腔的前后也会影响元音的发音。元音可以根据舌位从前到后分为前、次前、央、次后、后元音。 # '''唇形的圆展'''({{lang|en|roundedness}}):发音时,嘴唇拢圆的元音称为'''圆唇元音''',嘴唇平展向回收的称为'''不圆唇元音'''。 [[File:Cardinal vowel tongue position-front.svg|thumb|upright=0.9|几个前元音,舌位从高到低]] === 汉语的元音 === 汉语一共可以分析出这些单元音: {| class=wikitable style="text-align:center" |- ! !!colspan=2| 前 !!colspan=2| 中 !!colspan=2 | 后 |- ! !! 不圆 !! 圆 !! 不圆 !! 圆 !! 不圆 !! 圆 |- ! 闭 |[[:w:/i/|[i]]] || [[:w:/y/|[y]]] || || || || [[:w:/u/|[u]]] |- ! 次闭 | || || || || || |- ! 半闭 | [[:w:/e/|[e]]] || || || || [[:w:/ɤ/|[ɤ]]] || [[:w:/o/|[o]]] |- ! 中 | || || [[:w:/ə/|[ə]]] || || |- ! 半开 | [[:w:/e/|[e]]] || || || || || |- ! 次开 | [[:w:/æ/|[æ]]] || || || || || |- ! 开 | [[:w:/a/|[a]]] || || [[:w:/ä/|[ä]]] || || [[:w:/ɑ/|[ɑ]]] || |} <small> # 单击超链接可以进入维基百科的相应条目,学习不同的音素和发音方法。 # [ə]的卷舌版本[ɚ]的发音方法为:发出[ə]时舌尖上翘。 </small> === 音位/a/ === :<small>关于音位的具体信息,可以查看本章的“[[现代标准汉语/语音/音位|音位]]”一节。不明白也不影响阅读。</small> 拼音中表记作a的音素(注音中/a/出现于ㄚ、ㄞ、ㄠ、ㄢ、ㄤ)均可视为同一音位/a/(也就是说上表都记作“a”)。/a/有数种[[:W:音位#音位變體|条件变体]],也就是说标记为“a”的音在不同条件下发的是不同的音:<ref name=h-a>黄廖本p.96</ref> {| class="wikitable" |+ /a/的条件变体 |- ! 出现条件 !! 举例 !! 音位变体(实际发音) |- | 韵尾/i/、/n/前 || ai ㄞ、an ㄢ || [a] |- | 无韵尾 || 注音仅有ㄚ;<br>拼音有a、ia、ua || [a]和[ɑ]之间的「[[:w:开央不圆唇元音|开央不圆唇元音]]」,可记作[ä]。<br>汉语言学界一般用符号ᴀ,下循之。 |- | 韵尾/u/、/ŋ/前 || au ㄠ、ang ㄤ || [ɑ] |- |colspan=2 style="text-align:center"| ian ㄧㄢ || [ɛ]<ref name=h-a/><ref name=p-yan/><ref>王力《汉语音韵》p.17</ref> |- |colspan=2 style="text-align:center"| üan ㄩㄢ || [æ]<ref name=p-yan>北大本p.56</ref> |} === 鼻音韵尾 === === 舌尖元音 === 知、池、诗、日、资、次、思等字的韵母,可能是音节化的辅音。然而汉语言学界一般将其解释为“[[:w:舌尖元音|舌尖元音]]”。 汉语中舌尖元音分为两种: * 舌尖前不圆唇元音:资、次、思的韵母,类似音节化的[z],但气流通路并不发生摩擦(或者很弱)。念“资”字并拉长,字音后部即为该元音。汉语言学界用符号ɿ表示。 * 舌尖后不圆唇元音:知、池、诗、日的韵母,类似音节化的[ɻ],气流通路不发生摩擦(或者很弱)。念“知”字并拉长,字音后部即为该元音。汉语言学界用符号ʅ表示。 [ɿ]只出现在声母z ㄗ、c ㄘ、s ㄙ后,[ʅ]只出现在和声母zh ㄓ、ch ㄔ、sh ㄕ、r ㄖ后,均不能独立为音节;此外,上述声母均不会与韵母i ㄧ相拼,因此i ㄧ和[ɿ]、[ʅ]互补分布。{{NoteTag|北大版认为三者为同一音位,而黄廖、复旦版则认为三者各自为一音位。}} 汉语拼音用“i”表示这两个元音,与韵母“ㄧ”相同;注音符号则用“ㄭ”解释,但不写入拼式。 需要注意的是,[ɿ]、[ʅ]两个符号和[ᴀ]一样,并不被国际音标接受。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> b0vdon6d4pg81nq1unhb5cco089s98q 现代标准汉语/语音/声调 0 32998 187093 186723 2026-09-06T01:41:44Z 魔琴 49316 // Edit via Wikiplus 187093 wikitext text/x-wiki {{MSCL/header}} '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{Nextpage|语音/音节}} == 注释 == {{NoteFoot}} == 参考资料 == <references /> 7w3qva6rebnq3hco3x3txtq7thcjhxx 187104 187093 2026-09-06T02:26:44Z 魔琴 49316 // Edit via Wikiplus 187104 wikitext text/x-wiki {{MSCL/header}} '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == <references /> exlbroozvq6lrv4mc7zfyl67d3r2on8 187123 187104 2026-09-06T02:44:26Z 魔琴 49316 // Edit via Wikiplus 187123 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == <references /> d87my1eksq896u2sd96pq3ivh2g5qc1 187124 187123 2026-09-06T02:45:37Z 魔琴 49316 /* 调值 */ // Edit via Wikiplus 187124 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。</ref> 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == <references /> qximyig86j5lo4rw1pj8dushwrdacna 187125 187124 2026-09-06T02:45:59Z 魔琴 49316 /* 注释 */ // Edit via Wikiplus 187125 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。</ref> 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} === Unicode=== {{NoteFoot|group=U}} == 参考资料 == <references /> 54s66fixa53t5otylbwm2b1bo8mnnx5 187126 187125 2026-09-06T02:46:14Z 魔琴 49316 /* Unicode */ // Edit via Wikiplus 187126 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。</ref> 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} === Unicode=== {{Reflist|group=U}} == 参考资料 == <references /> azir1xy1x4e3k0j2tsl7zjey2kdcwor 187127 187126 2026-09-06T02:46:37Z 魔琴 49316 /* 参考资料 */ // Edit via Wikiplus 187127 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示;您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。</ref> 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} === Unicode=== {{Reflist|group=U}} == 参考资料 == {{reflist}} 6dbotqhjon8yy4sh6dq45k5rzpbusdy 187128 187127 2026-09-06T02:47:30Z 魔琴 49316 /* 调值 */ // Edit via Wikiplus 187128 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示。</ref>您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} === Unicode=== {{Reflist|group=U}} == 参考资料 == {{reflist}} bbflcxg4jqka1er1smvbtntie3eyza6 187129 187128 2026-09-06T02:48:06Z 魔琴 49316 /* 调值 */ // Edit via Wikiplus 187129 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示。</ref>您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 {{MSCL/footer}} == 注释 == {{NoteFoot}} === Unicode=== {{Reflist|group=U}} == 参考资料 == {{reflist}} 03xs3zaj1v382qnbocf80srmflbxelo 187151 187129 2026-09-06T05:52:34Z 魔琴 49316 (小工具)统一页眉页脚格式 187151 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> '''声调'''是一种由音高构成的超音段成分。<ref>黄廖本p.64</ref>现代汉语等语言通过声调来区别意义,是有声调的语言。 == 调值 == '''调值'''是音节的实际读音,指音节音高变化的固定形式。调值的特点是: * 由相对音高决定。 * 读音连续而且渐变,没有停顿和跳跃。 国际音标提供了两种描写调值的方式,其中一种是赵元任的五度标记法。五度标记法有幾種不同的表達方法,詳述如下: 漢語言學界常用的一種方法是“數字法”。我们将说话的音高分为五度,从低到高分别用1、2、3、4、5表示。描述语音时,我们用数字记录下开始、结束和转折(如有)时的音高,数字的变化反映了音调的走向。譬如,调值15表示声音从最低音(1)升到最高音(5);调值451表示从较高(4)升到最高(5),再下降到最低音(1)。请注意,漢學界1至5表示低至高,其他語言的學界可能并不按此表記。 國際音標則使用“曲線法”,与“数字法”大致相同。先在右侧画一条竖线作标尺,将标尺分为四段,各端点从低到高分别表示音值的最低、次低、中、次高、最高。竖线左边对照着标尺从左到右绘制线条(同样地,也只需要记录开始、结束和转折,各节点之间用线段连接即可),线条的高低走向反映了音调的走向。譬如,数字法的调值15即可用<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>表示。<ref group=U>常用的五个声调符号(1-5)位于Unicode的U+02E5至U+02E9,折线则通过声调符号的组合来显示。</ref>您使用的字体可能不支持曲線法的符号,导致这类符号(如前面的<span style="font-family:'Arial Unicode MS','Times New Roman',consolas,sans-serif">˩˥</span>)不能正确显示甚至完全不能显示。{{NoteTag|前面的例子看起来应该像一个小角,或是倒过来的V,而不是像J7或是其他什么。}} 为了易于阅读,本书将使用数字法标注调值。譬如从中间音高(3)升到最高(5)的[ma]音,标记为[ma<sup>35</sup>]。 == 调类 == 我们现在可以把不同的调值排列起来,组成不同的音调了!譬如11、12、13、14……这样能排列出来的音调有很多。但是,一种语言的音调种类是有限的,并不会分出那么多。把一种方言{{NoteTag|即使是同一门语言,该语言下各方言的调值很有可能不相同,甚至對於某種語言的方言和次方言也會如此,所以这里说方言而非语言。}}的所有音节按不同的音调来分类,就形成了“调类”。'''调类'''是声调的种类。{{NoteTag|在汉语、古代汉语和汉语方言等语言的研究中,调类的概念还包括有无塞音韵尾。两个字即使调值相同,然而一个有塞音韵尾一个没有,二字也属于不同调类。由于现代标准汉语没有塞音韵尾,这里直接忽略这种情况。}}現代標準漢語採用的是北京方言的語音系統,而北京方言有四种调类: # '''阴平声'''调值为55,简称阴平,也称“第一声”。音调最高,而且没有升降变化,因此是“高平调”。 # '''阳平声'''调值为35,简称阳平,也称“第二声”。音调从中间向高处升,因此是“中升调”。{{NoteTag|有人也叫“高升调”,意为往高处升。黄廖本取“中升调”。}} # '''上声'''调值为214,也称“第三声”。音调先降后升,因此是“降升调”。{{NoteTag|“上”字在“上声”一词中一般读shǎng ㄕㄤˇ(上声)而非shàng ㄕㄤˋ(去声)。關於「上聲」一詞的讀音爭議,可參見維基百科條目[[:w:現代標準漢語音系#聲調|《現代標準漢語音系》「聲調」章節]]的腳註。}} # '''去声'''调值为51,也称“第四声”。音调从最高降到最低,因此是“全降调”。 {{Multiple image |align=right |image1=Pinyin Tone Chart.svg |total_width=275 |footer=<big>用曲線法表示汉语的四个调类<br><br>[[File:Zh-pinyin tones with ma.ogg|center|225px]]<br>依次朗读四种声调,以“ma ㄇㄚ”为例</big> }} 上面说的“高平”“中升”等描述的是调类的'''调型''',调型粗略地描述了声调的高低、升降的变化模式,而没有指出准确的音值。常见的调型有平、升、降、升降、降升(后两种也叫曲折调)。由于北京方言的各调型有明显差异(平、升、降升、降),注音符号和汉语拼音都使用调型的轮廓来给現代漢語音节标注声调。 {| class=wikitable style="text-align:center" |+ 注音和拼音用来标注声调的符号 |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !符號 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} 現代標準漢語的调类系统可以往上追溯到古代汉语。<ref>黄廖本p.66</ref>古代汉语曾經有四個調類,名字分別是「平」、「上」、「去」、「入」。这个调类系统后来经过不同的变化,形成现今各汉语方言的声调。因此,现代的汉语方言的命名也都去追溯古代汉语的声调名称。我们又知道,声调是很不稳定的超音段成分,极容易发生变化。因此,调类的名称只与这种声调的历史有关,和调值、调型完全没有可见的联系。 具体来说,已知北京方言的阴平调值是55,但不能说对于任何方言,阴平就是55,55就是阴平。譬如,济南方言阴平的调值是213,烟台方言中调值为55的调类是去声。官话区尚且如此,更不要说其它方言区了。 为什么要区分调值和调类的概念,并且还要用反映历史的「平」、「上」、「去」、「入」来命名今人的语言的调类呢?如果仅仅孤立地看标准汉语,确实意义不大。但是在汉语方言学的研究中,更抽象的调类起到更重要的作用。北京话和济南话的阴平调,调值相差甚远,但是阴平调的汉字是基本一致的;北京方言的55是阴平,烟台方言的55是去声,只是碰巧相同,完全没有联系。 最后以阴平举例梳理本节已学的名词: * 「阴平」是'''调类'''的名称。调类是声调的种类。 * 国语阴平的'''调值'''是55。调值是音高的变化形式。 * 国语阴平的'''调型'''是(高)平调。调型能粗略描述调值。 == 轻声 == 汉语还有一个“声调”叫'''轻声''',其实它并不是一个独立的声调,而是前述四种声调在一定条件下的变体。 关于轻声的具体内容请参阅本章“[[现代标准汉语/语音/轻声|轻声]]”一节。 == 变调 == 在口语中,一些音节受到其它音节的影响,可能会发生变化,这叫'''语流音变'''。汉语中最明显的语流音变即发生在声调中,这种调值的变化叫作'''变调'''。<ref>黄廖本p.83</ref> 通常,一个音节单独发音时的调值叫'''本调''',变化后的调值叫作'''变调'''。<ref>北大本p.112</ref> 汉语中明显的音变包括上声的变调和特殊字的变调。 === 上声的变调 === 上声的变调变化较大,调型会改变;而且实际应用中,变调更常出现,本调反而不常见。甚至可以说,上声可以认为是一个低平调<ref>王力《现代汉语语音分析中的几个问题》,《中国语文》第4期,1979。编者获取该文献自:王力《龙虫并雕斋文集补编》p.322,2015。原文为:「北京话的上声,基本上是一个低平调……」(後略)</ref>,调值大约为21或是11<ref>石锋,冉启斌.普通话上声的本质是低平调——对《汉语平调的声调感知研究》的再分析[J].中国语文,2011(6):550-555576 引「赵元任1932;1933」</ref>,也可以读成213或者212<ref>《普通话水平测试实施纲要》(2021年版)p.26</ref>。 传统上认为,上声的本调是214。上声的音调在语流末尾不变;但当上声音节后还连着其它音节时,这个上声的调值会发生变化。 ;一、总体规则 * 当下一个音节是上声时,上声改读35,与阳平相同。如「洗脸」「彩笔」「老虎」「领导」。 * 当下一个音节不是上声(是阴平、阳平或去声,下称「非上声」)时,上声改读21,这个调也叫'''半上声''',因为是完整上声的前半段。例如: ** 在阴平前:火车、小心、水杯。 ** 在阳平前:旅行、语言、海洋。 ** 在去声前:鼓励、巩固、礼物。 ;二、上声+轻声 上声+轻声比较特殊。 * 如果轻声来自「非上声」,都能按照「总体规则」处理,即变为「21+轻声」。 * 但是当这个轻声字源自一个上声字时,有两种变调方式: ** 35+轻声,如:等等、哪里、想起、讲讲。 ** 21+轻声:如:奶奶、姐姐、嫂子、耳朵。 ;三、多个上声相连 * 如果三个上声相连,前两个上声应根据词语的结构来变调。 ** 双音节+单音节的结构(也叫「双单格」),前两个音节连接紧密,语义停顿在第二个音节后。此时前两个上声都变调为35,即「35+35+214」。如:展览馆、水彩笔、洗脸水。 ** 单音节+双音节的结构(也叫「单双格」),后两个音节连接紧密,语义停顿在第一个音节后。此时第一个上声变为半上(21),第二个上声变为35,即「21+35+214」。如:小展览、纸老虎、小两口。 * 如果多个上声相连,也要类似地分析结构,根据语义和停顿来变调。 但是,这种情况也受个人习惯的影响。《普通话水平测试实施纲要》认为,开头音节不是逻辑重音时,开头和当中的上声也可变为35。<ref name=multishang>《普通话水平测试实施纲要》(2021版)p.31</ref> 此外,不容易确定格式的(比如音译的)词语,也不能强行规定一个读音,譬如「索马里」「卡塔尔」等。<ref name=multishang/> === 「一」的变调 === 一[yī ㄧˉ]是阴平字,它的变调遵循以下规律: * 在阴平、阳平、上声前,调值变为51。如:一般、一瓶、一晚。 * 在去声前,调值变为35。如:一样、一定。 需要注意的是「一」字变调的特殊情况: * 作为序数词时不变调。如:第一、一中、五一。这样,是否变调就有了辨义作用。譬如不变调的「一楼」表示「第一层楼」,而变调的「一楼」表示「一整层楼」。 * 注意,副词「一连」的「一」不是序数词,要变调。如,「一连下了三天雨」。 * 「一」在数词中的变调规则为: ** 「一」(1)参照上述变调规则; ** 「一」作个位数时,不论是序数词还是基数词,都不变调。如「十一」; ** 「一」作十位数,可以不变调,仍读55。<ref>《普通话水平测试实施纲要》(2021版)p.31-32</ref> === 「不」的变调 === 不[bù ㄅㄨˋ]是去声字,调值51。但在去声前,调值变为35。如:不要、不够。<ref>《普通话水平测试实施纲要》(2021版)p.32</ref> === 「七」、「八」的变调 === 以往要求「七」、「八」二字在去声前调值改为35,但目前这种变调已经罕见。《普通话水平测试实施纲要》也已删去这种要求。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} ===Unicode=== {{reflist|group=U}} == 参考资料 == {{reflist}} </noinclude> ajjrpb3qf0ejrrjovvtbdf684k1cqef 现代标准汉语/绪论/汉语概说 0 33013 187140 186976 2026-09-06T03:19:47Z 魔琴 49316 (小工具)统一页眉页脚格式 187140 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 世界上有上千种语言,我们正在使用的汉语是这上千种语言的其中一门。为什么世界上有这么多门语言?一门语言难道不行吗? == 巴别塔的故事 == 虽然我们能用语言来谈论语言本身,也能根据已有的材料推测古代的语言。但是语言的诞生和发展可是能追溯到史前时代,而史前时代的特点就是,他们没有留下史料。因此,语言是何时产生、如何产生、怎么一路演变到今天这样纷繁复杂的,当今的语言是否有共同的祖先,这些是语言学上仍未解决的问题。我们先暂时不管人类学家、考古学家的枯燥的争论,不妨来读读神话传说,看看古代人们是怎么猜测语言和语言多样性的诞生的。 《旧约圣经》有一篇著名的小故事,描绘了语言从单一变成多样的过程。 <blockquote> 那時,天下人的口音言語,都是一樣。 他們往東邊遷移的時候,在示拿地{{NoteTag|[[:w:示拿地|示拿地]],《旧约圣经》地名,大概在两河流域。}}遇見一片平原,就住在那裏。 他們彼此商量說:「來吧!我們要做磚,把磚燒透了。」他們就拿磚當石頭,又拿石漆當灰泥。 他們說:「來吧!我們要建造一座城,和一座塔。塔頂通天,爲要傳揚我們的名,免得我們分散在全地上。」 耶和華{{NoteTag|耶和华,《旧约圣经》中描绘的神、造物主,新教圣经和合本译作「耶和华」。亚伯拉罕诸教均是一神教,信仰唯一的神。}}降臨要看看世人所建造的城和塔。 耶和華說:「看哪,他們成爲一樣的人民,都是一樣的言語。如今旣作起這事來,以後他們所要作的事,就沒有不成就的了。 「我們下去,在那裏變亂他們的口音,使他們的言語,彼此不通。」 於是耶和華使他們從那裏分散在全地上.他們就停工,不造那城了。 因爲耶和華在那裏變亂天下人的言語,使衆人分散在全地上,所以那城名叫巴別。 ——《旧约圣经·创世记》(和合本,有改动) </blockquote> 巴别塔的意象也超出了宗教界,是语言(特别是人造语言)的特有象征。 巴别塔的故事当然不是真的。这两千年的历史已经无可争辩地告诉我们,语言不需要神,自己就会多样化发展。一个民族在地理上分成两半,往下传一百年,口音就会有差异,往下传数百年,可能就无法沟通了。为什么?因为他们形成了不同的社会、不同的文化、不同的认同。 假设巴别塔的故事是真的,那么这位神打乱人们的语言的时候,似乎还遵循了一定规律。近代语言学家发现,古希腊语、拉丁语、梵语、波斯语,这四门古老的语言,似乎有一些共同的特性。不止这四门语言,从印度到西欧这一片地区,大部分民族的语言有着相似的特点。通过互相比较、联系,能看出他们的亲缘关系,并且可以假设他们来自同一个祖先。操这门语言的人民在数千年的历史上不断迁徙,语言不断分化,形成了希、拉、梵、波以及其他各民族所操的上百门语言。我们将能够联系起来的这些语言归纳到一起,称作一个'''语系'''(〔英〕{{lang|en|language family}})。'''语系'''是同一个祖语分化出来的语言组成的集合<ref>叶蜚声、徐通锵《语言学纲要》第七章 语言演变与语言分化</ref>,'''祖语'''({{lang|en|proto-language}})是若干相关语言的共同祖先。希、拉、梵、波等语言从属的语系是世界上分布最广泛的语系,称为'''印欧语系'''({{lang|en|Indo-European languages}}),其祖语称为原始印歐語({{lang|Proto-Indo-European}})。 '''汉语'''是汉族的母语,也是大中华区部分民族的母语。 == 古代汉语史 == 从语言谱系的角度来看,汉语属于[[:w:汉藏语系|汉藏语系]]。 汉语来自古代汉语。古代汉语也是不断变化的,大致可以分为三个时期:先秦至汉朝时期是'''上古汉语''',魏晋南北朝和隋唐时期是'''中古汉语''',宋朝以后为'''近代汉语'''(或叫'''近古汉语''')。 虽然古代汉语在变化,但是汉语的书面语却一直保留上古汉语的语法,后来称为“文言”。古代汉语大量文献都用文言写成,这种情况一直持续到20世纪。而在书面语以外,自然变化出的语言,被称为“白话”。古代汉语的“'''言文分离'''”指的就是这种书面语和口语不一致的状态。 近代汉语成型于宋朝、元朝时期。明清时期的标准语称为“官话”,因此近代汉语也称'''古代官话'''。 == 汉语方言 == 官话仅仅是汉语的一种方言,虽然分布范围最广、使用人数最多,但仍然不是汉语的全貌。 '''方言'''是通行于一定地域的语言<ref>黄廖本p.3</ref>,是语言的地域变体{{NoteTag|事实上,现在的「方言」概念并不局限于「地域」层面的变体,社会层面的变体也称为方言。}}。方言和语言并没有明显的语言学意义上的界限,一些语言(包括汉语)的方言也被认为是独立的语言。这里我们仍然按照传统的说法,均称这些变体为方言。 方言和语言一样,具有完整的语音、词汇、语法等系统,虽然较所属语言的通行范围狭窄,但其本身并不残缺。 == 现代汉语 == 1912年,清王朝被推翻,中华民国成立。新成立的共和国开始制定语言标准,称为“国语”。 * 语音方面,1913年,中华民国教育部召开“读音统一会”,确定了全国通用语言(国语)各字的读音。后来在20世纪20年代,又改用北京语音为标准。{{NoteTag|也叫「新国音」。相对地,1913年制定的、后被废除的语音标准也叫「老国音」。}} * 词汇和语法方面,1915年开始,中国文学界发起“新文化运动”。新文化运动倡导用官话白话文写作。符合官话口语词汇、语法的白话文逐渐成熟,并取代了与口语脱离的文言文,奠定了现代汉语语法的基础。广义上的现代汉语就指新文化运动以后的汉语。 1949年,中国共产党在中国大陆地区成立了中华人民共和国,中华民国退守台湾。1955年,中国大陆的中国科学院召开现代汉语规范问题学术会议,确定了汉语的标准语,并决议用“普通话”来称呼。 狭义上,「汉语」一般指汉语的标准语,也叫「现代标准汉语」。'''现代标准汉语'''是以北京语音为标准音,以官话为基础方言,以官话白话文著作为语法规范的语言<ref>中华人民共和国国务院《国务院关于推广普通话的指示(1956年2月6日)》:汉语统一的基础已经存在了,这就是以北京语音为标准音、以北方话为基础方言、以典范的现代白话文著作为语法规范的普通话。</ref>,广泛通行于华人地区,是中国大陆和台湾的通用语言和实务上的官方语言,也被新加坡列入官方语言。 现代标准汉语是一门多中心语言,在中国大陆也叫「普通话」,在台湾也叫「国语」,在新加坡和马来西亚也叫「华语」。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> p3fr3h5pqen4ff7uhsjdcgnuhhc4bi1 现代标准汉语/语音/音节概说 0 33039 187152 187058 2026-09-06T05:52:52Z 魔琴 49316 (小工具)统一页眉页脚格式 187152 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 现代标准汉语中,不带声调的音节约有400个,带声调的约有1300个。<ref>黄廖本p.73</ref>一般来说,一个汉字的读音就是一个带声调的音节。 == 注音符号 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 === 注音符号的声母 === 注音符号的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 |b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 |d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 |g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 |j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 |zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 |z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> === 注音符号弃用的声母 === 注音符号刚发布时,还包括三个声母: {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。 </small> 这三个字母由于汉语语音标准调整而弃用。{{NoteTag|「汉语概说」提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有ㄪ、ㄫ、ㄬ(v、ng、gn)三个声母,这三个声母符号因此废弃。}} 三个字母可以依次填入「聲母读音」表中的三个空位。 === 注音符号的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 === 注音符号的书写 === 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音 == 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 === 汉语拼音的字母 === 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> === 汉语拼音的声母 === 汉语拼音的声母与注音差异不大,详见[[#注音符号的声母|上文相应段落]]。 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 汉语拼音的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 === 汉语拼音的书写 === 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: '''一、隔音字母和隔音符号''' 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 '''二、省写''' * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 '''三、标声调''' 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 '''四、正词法''' 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 == 音节表 == 声母、韵母、声调并不能无节制地配合,一些声母和韵母无法相拼,一些声韵组合只存在少数几个声调。 现代汉语的完整音节表可以查看'''[[现代标准汉语/附录/音节表|附录《音节表》]]'''{{NoteTag|虽称「完整音节表」,但是本表不考虑轻声、儿化。}}。如果你想查询声母、韵母的配合表(即不考虑声调),可以查看'''[[现代标准汉语/附录/基本音节表|附录《基本音节表》]]'''。 汉语中仅存在于口语的声音并不列入上述附录,请查阅'''[[现代标准汉语/附录/边缘音系|附录《边缘音系》]]'''。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> igi7bvz8l9nz3ez5w3iakh2hh10zu8h 187162 187152 2026-09-06T06:08:24Z 魔琴 49316 // Edit via Wikiplus 187162 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 现代标准汉语中,不带声调的音节约有400个,带声调的约有1300个。<ref>黄廖本p.73</ref>一般来说,一个汉字的读音就是一个带声调的音节。 == 音节表 == 声母、韵母、声调并不能无节制地配合,一些声母和韵母无法相拼,一些声韵组合只存在少数几个声调。 现代汉语的完整音节表可以查看'''[[现代标准汉语/附录/音节表|附录《音节表》]]'''{{NoteTag|虽称「完整音节表」,但是本表不考虑轻声、儿化。}}。如果你想查询声母、韵母的配合表(即不考虑声调),可以查看'''[[现代标准汉语/附录/基本音节表|附录《基本音节表》]]'''。 汉语中仅存在于口语的声音并不列入上述附录,请查阅'''[[现代标准汉语/附录/边缘音系|附录《边缘音系》]]'''。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> o60acs5px9k4amrrbklfa4ej1ehfkmr 187170 187162 2026-09-06T07:32:32Z 魔琴 49316 /* 音节表 */ // Edit via Wikiplus 187170 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 现代标准汉语中,不带声调的音节约有400个,带声调的约有1300个。<ref>黄廖本p.73</ref>一般来说,一个汉字的读音就是一个带声调的音节。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 6m31h1ygp1ipnpa0rxnf30bjvqyg1bl 现代标准汉语/绪论/语言概说 0 33115 187135 186975 2026-09-06T03:10:58Z 魔琴 49316 (小工具)统一页眉页脚格式 187135 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 在学习现代标准汉语之前,我们需要知道'''语言'''是什么。 我们可能会说,人与其他动物的显著区别就是人会说话,人有语言{{NoteTag|根据马克思主义研究方法,语言是一种人区别于其他动物的本质特征,是人类在共同劳动中创造、并用于增强自身的能力,从而促进社会的发展的工具。<ref>周一民本p.1</ref>}},语言是人类独有的。果然如此吗? == 语言是人类特有的工具 == 我们可以从两方面讨论这个问题。<ref>岑运强p.18-19</ref> * 其他生物是否真的没有「语言」?如果我们认为「语言」衹是传达信息的工具,那么其他生物当然有「语言」,例如蜜蜂的舞蹈、蚂蚁的触角、鸟类的鸣叫、鲸鱼的高音;但如果我们认为「语言」必须要有说出来的丰富多彩的话语,必须能够表达无穷无尽种类的信息,那么「语言」确实是人类独有的——或者说,人类的语言相比其他动物的传讯方式有着明显的甚至根本的区别。 * 其他生物是否能学会人类的语言?譬如猫狗可能可以「听懂」我们的叫唤,鹦鹉可以模仿我们的声音,但我们并不能和他们讨论公寓、工厂、火星,因为他们「学会」的衹是只言片语,而不是我们整个语言系统,也不能用语言表达他们自己的想法——更可能是简单的条件反射。即使是灵长动物,如黑猩猩,在严格的训练下也衹能懂得基础的词语和手势,尚未有证据证明他们能学会整套语言系统。 即使我们对于语言是否是人类独有存在疑虑,人类在通讯能力上是大大超过其他动物的,说语言是人类相比于其他动物的显著特征,大概没有问题。<ref>谢国平p.1-3</ref> 因此,我们可以说,语言是人类特有(甚至可以说是独有的)的传达信息的工具。但这样衹是表达了语言的功能,没有展示它具体是个什么东西。也就是说,它本身的性质是什么?它有什么特征? == 语言的特征 == 谢国平《语言学概论》总结了语言的十六个特征:<ref>谢国平p.4-7</ref> # 声音—听觉的传讯管道:话语是以声音的形式传播的,说话者发出声音,听话者通过听觉系统接受声音。 # 广播传讯与定向接收:声音是像四面八方传播的,因此说话者发出的话语也是以广播的方式传播;而听话者接收到声音后,大脑可以判断声音来源的方向。 # 迅速消失的信号:声音转瞬即逝,说话者闭上嘴,话就消失了。 # 可交替性:一般来说,每个人都能是说话者,也能是听话者。 # 完全回馈:说话者能听到自己的发出的所有的信号,我们是一边说一边听自己的话语的。一旦失聪,或者在实验室中延缓声音的接收,我们说话就十分不顺。 # 专门化:语言系统的主要功能是发出及接收信息,没有生理上的功能,说话与否并不影响呼吸、消化、循环的人体功能。 # 具有语意:词语有固定的意思。 # 任意性({{lang|en|arbitrariness}}):词语本身、词语所表达的事物,他们之间没有必然的联系。同样一个意义,在不同语言中用不同的方式表示,如汉语说的「树」,在英语却说「{{lang|en|tree}}」,在拉丁语说「{{lang|la|arbor}}」,无论是写起来,还是说出来,都是完全不同的。如果词语和事物能有联系,那我们应该用同一个词来表达同一个概念,然而事实上每种语言可能相近,也可能天差地别。但是,有没有反例? # 离散性<ref name=舒6>舒兆民p.6</ref>:语言系统可以分为几个类别,如语音、句法等,每个类别又可以细分到不同的单位。 # 超越时空:我们谈论的事物并不需要当时在场。面前没有树的时候,我们也可以讨论树;文王、武王、周公、孔子,当代人谁都没有见过,但我们仍然能谈论他们。 # 能产性({{lang|en|productivity}}):语言的规律是有限的,但人类却能创造出无限多的句子,传递无限多的信息。 # 传统性:语言不是遗传的,需要从已经学会语言的人那边学习过来。 # 形式的二元性:语言系统可以从物理层次和语意解释系统两层分析。物理层次上,我们说的话都是声音,他们本身是没有任何意义的;但是从语意解释系统来看,声音恰当的组合就产生了意义。 # 為不實之言的能力:人类可以说谎、支支吾吾,还可以说毫无意义的废话。 # 反身性<ref name=舒6 />:我们可以(而且就正在用)语言来讨论语言系统本身。蜜蜂的舞动仅能表达数种意思,他们不能用舞动的方式来讨论「舞动」这一传讯系统,但我们可以用语言来讨论我们的语言系统。 # 可学习性:我们能够学会母语,能够学会多门外语。对于任何人来说,任何语言都是能够学习的。 动物的「语言」可能仅包括上面的几种特点,而一般来说,人类的语言是拥有所有上述特征的。 學者爲語言下定義時,一般會從上述特徵中總結出这五個特點: * 系统性。 * 通过声音传递信息的符号。 * 任意性。 * 人的自主有意识的行为。 * 与文化有关的社会行为。 我们接下来会讨论到其中的某些特點。 == 语言是符号系统 == === 什么是符号 === '''符号'''是能够被用来代表其他事物的标志。譬如红绿灯上的「绿色灯」就是「可以通行」的标志,试卷上的「红色大叉」代表「回答错误」,地图上用带圈的「文」字表示学校。 符号可以分成「能指」和「所指」两个部分。 * '''能指'''(〔法语〕{{lang|fr|signifiant}},〔英语〕{{lang|en|signifier}})就是符号本身,例如绿灯的能指就是那个绿色的灯本身。 * '''所指'''(〔法语〕{{lang|fr|signifié}},〔英语〕{{lang|en|signified}})就是符号指代的事物,例如绿灯的所指就是告诉你「可以通行」。 能指和所指之间没有必然的联系,是人为约定的。 * 为什么「通行」是绿色,而不是蓝、黄、白?这是人们约定的。当然你可能说交通灯的颜色可能有警示色、心理机制、光的波长等等的考虑,但你没法解释为什么偏要定在红、黄、绿三色。——譬如,警示色也是有橙色和黄色的。 * 打叉本身也没有表示「错误」的意思,这是你和老师的约定。有些情况下在方框内打叉表示「选中」,这也是分发、填写表单的双方的约定。 * 一些地图上用带圈的「文」字表示学校,而不是带方框的「文」、带圈的「校」,也是制图师们约定并写在图例中的。 这样的现象,我们称为'''任意性'''({{lang|en|arbitrariness}})。 === 语言与符号 === 语言是一种符号。 [[File:Saussure-cours-p-099b (cropped).png|thumb|「arbor」代表树的概念]] 譬如说,汉语说的“树”,或是英语说的「{{lang|en|tree}}」、拉丁语的「{{lang|la|arbor}}」,我们说出来的这个词,这个语音形式就是这个符号的能指;我们心中的「高大的植物」这样的概念就是这个符号的所指。 语言也一样存在任意性。为什么我们用「shu~」这样的声音来代表这种植物,而不用其他声音代表?这是说不清楚的。「shu~」本身和这种高大的植物这样的概念没有任何关系,也没有任何理由来代表这种高大植物。如果语言没有任意性,那么各门语言都该用同一种声音来代表同一个概念,而这是和现实不符合的。 对于语言的任意性,有人可能会这样争辩: 「有些词似乎是来自拟声。」譬如法语「{{lang|fr|fouet}}」(鞭子)、「{{lang|fr|glas}}」(丧钟)的声音可能有某种特殊的听感,但是如果我们追溯这两个词的更早的形式——拉丁语「{{lang|la|fāgus}}」(山毛榉)、「{{lang|la|classicum}}」(一种喇叭的声音)——就会发现,这样的联想没有依据。而再说真正的拟声词,他们也不是完全任意的,而是语言使用者约定俗成的模仿。譬如犬吠声,汉语一般说「汪汪」,英语大多说「{{lang|en|woof}}」,也有的说「{{lang|en|arf}}」,法语听起来像「哇」{{NoteTag|〔法语〕{{lang|fr|oua}}}},德语听起来像「vau」{{NoteTag|〔德语〕{{lang|de|wau}}}}——不同的语言有不同的叫法。此外,拟声词进入语言系统后,也会跟着语言一起变化。例如英文的「{{lang|en|pigeon}}」(鸽子)可能来自通俗拉丁语一个因拟声造的词「{{lang|la|pipio}}」,已经和原来完全两样了。<ref>费尔迪南·德·索绪尔.普通语言学教程.商务印书馆.2009(高明凯译,岑麒祥、叶蜚声校注)p.93-98</ref> 「有些感叹词,可能是人们的自发表达。」表达同样意思的感叹词,不同的语言也有不一样的说法。感叹词也会和拟声词一样,随着语言在时间流逝中的变化而变化:我们读《蜀道难》的「噫吁嚱」,很难想象哪种感叹词会这样发音,那是因为唐代的语音和现在的语音有很大区别。 不论是拟声词还是感叹词,他们的数量极少,在语言系统中是边缘的,即使并不任意,也不影响语言的性质,只能说语言存在一定的「非任意性」成分。 === 系统性 === 语言不仅是符号,而是符号的系统。这里,我们应该更细致地厘定我们的研究对象。我们说「树」,说「我吃饭」,我们说出来的不是语言,我们是运用语言的规则说出了一些有意义的话,这些话并不是语言本身。这裏,我们用'''言语'''(〔法〕{{lang|fr|parole}})来代表我们说话的动作,以及我们说出来的话;而用'''语言'''(〔法〕{{lang|fr|langue}})表示一些人共同拥有的说话的系统。每个人的言语都是不一样的,但是这些人会拥有共同的语言。语言和言语相互依存:言语要想为人所理解,就必须要有语言;语言的规则又必须要有言语来建立。语言学的主要研究对象是语言({{lang|fr|langue}}),而不是言语。 那么,为什么说语言是系统呢?这是因为,语言符号之间并不孤立,而是由一定规则组合起来的。我们可以从两个方面看语言的系统性。 * 组合和聚合:人在说话的时候,只能一个符号(声音符号)一个符号依次往外说,因此我们说,语言符号具有线条性。语言符号一一相连接的关系叫'''组合关系'''。例如,「我愿意走路」这句话就表现了组合关系。而「我」可以替换成「你」、「他」、「阿珍」等等,「愿意」可以替换成「想」、「讨厌」等等,「走路」可以替换成「跑步」、「写诗」、「音乐」等等,这样用具有相同作用的符号相互替换的关系便称为'''聚合关系'''。组合关系和聚合关系是对任意性的制约。 * 层级性:语言的要素可以往下细分到基础的、可能是极少的单位,比如最基础的声音的单位,大部分语言都仅有数十个。但是当语言的单位互相组合,我们就能说出无穷多句话语。 因此,我们说语言是符号系统。 == 语言与声音 == 在先前的讲述中,我们反复提到语言的声音。传统上认为,语言是一定有声音的。你可能说,「我写下汉字,并没有说话,就没有用到声音啊」。但是你用汉字写下的中文,它也是用来记录汉语的声音的,这也是和声音密不可分的,即使你并没有说出来。也就是说,'''文字是语言的符号'''。 这一传统观点存在一个例外——手语。手语是听障人士和失语人士使用的一类语言,用手势而非声音来表达意义。现代的语言学认为,手语虽然没有语音,但也是语言。 == 語言與人類的自主意識 == 人的言語({{lang|fr|parole}})行爲是有自主性和意識性的。人們能選擇說什麼、怎麼說,而且正如我們之前討論的,可以討論不在眼前的事物、可以欺騙、可以帶有言外之意,這些都體現了語言的自主性和意識性。甚至,語言工具可以用來討論語言本身,這是自覺的認知能力,動物的交流方式並不具備這樣的特點。 == 語言與社會和文化 == 語言和我們所在的社會、文化有着非常密切的聯繫。 語言本身就是爲了交流而存在的,本身就是社會和文化的產物。同時,也有很多學者認爲,語言也塑造着它服務的社會和文化。學習其他民族的語言的時候,我們不僅學習抽象的語言規則,也會學習那個民族的歷史、文學、文化,學習他們的交際禮儀,學習他們對於世界的認識——譬如有些語言衹把顏色劃分爲兩類,有些語言不用東南西北而用河流的流向表達方位,有些語言的親屬稱謂詞很多有些語言很少……這些都不是天生的、遺傳的,而是在後天學習的。 == 語言與語言學 == 研究語言的科學叫'''語言學'''(〔英〕{{lang|en|linguistics}})。 語言現象很早就進入到了人們的視野。各個文明在發展中留下了豐富的典籍,但是由於語言和文字的變化,後人已經不太能看懂前人的著作,因此產生了對古代語言的研究的學問,這稱爲'''語文學'''({{lang|en|philology}})。進入近代以後,西歐的思想和科學得到了顯著的發展,語言研究的對象也擴大到了現代口語、世界各地的語言。到了18、19世紀,人們認識到了更多語言規律,不再爲其他學科研究語言,而是爲了研究本身而研究語言,語言學成爲了一門獨立的學科。 == 中国大陆教材的观点 == 中國大陸的传统教材受到马克思主义语言理论和现代语言学理论的共同影响,会这樣为语言下定义:<ref>黄廖本p.1</ref> *从结构上看,语言是由语音、词汇、语法构成的音、义结合的符号系统。 *从功能上看,语言是: ** 人类交流的主要手段(人与人的方面); ** 人类认知世界的工具(人与社会的方面); ** 文化的载体(人与文化的方面)。 除了传统的「语音、词汇、语法」三(大)要素,也有教材引入了「语義」的因素。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 0ebkqmw8jp7o6re1pdcwm2s8d589fyr 187137 187135 2026-09-06T03:16:15Z 魔琴 49316 (小工具)统一页眉页脚格式 187137 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 在学习现代标准汉语之前,我们需要知道'''语言'''是什么。 我们可能会说,人与其他动物的显著区别就是人会说话,人有语言{{NoteTag|根据马克思主义研究方法,语言是一种人区别于其他动物的本质特征,是人类在共同劳动中创造、并用于增强自身的能力,从而促进社会的发展的工具。<ref>周一民本p.1</ref>}},语言是人类独有的。果然如此吗? == 语言是人类特有的工具 == 我们可以从两方面讨论这个问题。<ref>岑运强p.18-19</ref> * 其他生物是否真的没有「语言」?如果我们认为「语言」衹是传达信息的工具,那么其他生物当然有「语言」,例如蜜蜂的舞蹈、蚂蚁的触角、鸟类的鸣叫、鲸鱼的高音;但如果我们认为「语言」必须要有说出来的丰富多彩的话语,必须能够表达无穷无尽种类的信息,那么「语言」确实是人类独有的——或者说,人类的语言相比其他动物的传讯方式有着明显的甚至根本的区别。 * 其他生物是否能学会人类的语言?譬如猫狗可能可以「听懂」我们的叫唤,鹦鹉可以模仿我们的声音,但我们并不能和他们讨论公寓、工厂、火星,因为他们「学会」的衹是只言片语,而不是我们整个语言系统,也不能用语言表达他们自己的想法——更可能是简单的条件反射。即使是灵长动物,如黑猩猩,在严格的训练下也衹能懂得基础的词语和手势,尚未有证据证明他们能学会整套语言系统。 即使我们对于语言是否是人类独有存在疑虑,人类在通讯能力上是大大超过其他动物的,说语言是人类相比于其他动物的显著特征,大概没有问题。<ref>谢国平p.1-3</ref> 因此,我们可以说,语言是人类特有(甚至可以说是独有的)的传达信息的工具。但这样衹是表达了语言的功能,没有展示它具体是个什么东西。也就是说,它本身的性质是什么?它有什么特征? == 语言的特征 == 谢国平《语言学概论》总结了语言的十六个特征:<ref>谢国平p.4-7</ref> # 声音—听觉的传讯管道:话语是以声音的形式传播的,说话者发出声音,听话者通过听觉系统接受声音。 # 广播传讯与定向接收:声音是像四面八方传播的,因此说话者发出的话语也是以广播的方式传播;而听话者接收到声音后,大脑可以判断声音来源的方向。 # 迅速消失的信号:声音转瞬即逝,说话者闭上嘴,话就消失了。 # 可交替性:一般来说,每个人都能是说话者,也能是听话者。 # 完全回馈:说话者能听到自己的发出的所有的信号,我们是一边说一边听自己的话语的。一旦失聪,或者在实验室中延缓声音的接收,我们说话就十分不顺。 # 专门化:语言系统的主要功能是发出及接收信息,没有生理上的功能,说话与否并不影响呼吸、消化、循环的人体功能。 # 具有语意:词语有固定的意思。 # 任意性({{lang|en|arbitrariness}}):词语本身、词语所表达的事物,他们之间没有必然的联系。同样一个意义,在不同语言中用不同的方式表示,如汉语说的「树」,在英语却说「{{lang|en|tree}}」,在拉丁语说「{{lang|la|arbor}}」,无论是写起来,还是说出来,都是完全不同的。如果词语和事物能有联系,那我们应该用同一个词来表达同一个概念,然而事实上每种语言可能相近,也可能天差地别。但是,有没有反例? # 离散性<ref name=舒6>舒兆民p.6</ref>:语言系统可以分为几个类别,如语音、句法等,每个类别又可以细分到不同的单位。 # 超越时空:我们谈论的事物并不需要当时在场。面前没有树的时候,我们也可以讨论树;文王、武王、周公、孔子,当代人谁都没有见过,但我们仍然能谈论他们。 # 能产性({{lang|en|productivity}}):语言的规律是有限的,但人类却能创造出无限多的句子,传递无限多的信息。 # 传统性:语言不是遗传的,需要从已经学会语言的人那边学习过来。 # 形式的二元性:语言系统可以从物理层次和语意解释系统两层分析。物理层次上,我们说的话都是声音,他们本身是没有任何意义的;但是从语意解释系统来看,声音恰当的组合就产生了意义。 # 為不實之言的能力:人类可以说谎、支支吾吾,还可以说毫无意义的废话。 # 反身性<ref name=舒6 />:我们可以(而且就正在用)语言来讨论语言系统本身。蜜蜂的舞动仅能表达数种意思,他们不能用舞动的方式来讨论「舞动」这一传讯系统,但我们可以用语言来讨论我们的语言系统。 # 可学习性:我们能够学会母语,能够学会多门外语。对于任何人来说,任何语言都是能够学习的。 动物的「语言」可能仅包括上面的几种特点,而一般来说,人类的语言是拥有所有上述特征的。 學者爲語言下定義時,一般會從上述特徵中總結出这五個特點: * 系统性。 * 通过声音传递信息的符号。 * 任意性。 * 人的自主有意识的行为。 * 与文化有关的社会行为。 我们接下来会讨论到其中的某些特點。 == 语言是符号系统 == === 什么是符号 === '''符号'''是能够被用来代表其他事物的标志。譬如红绿灯上的「绿色灯」就是「可以通行」的标志,试卷上的「红色大叉」代表「回答错误」,地图上用带圈的「文」字表示学校。 符号可以分成「能指」和「所指」两个部分。 * '''能指'''(〔法语〕{{lang|fr|signifiant}},〔英语〕{{lang|en|signifier}})就是符号本身,例如绿灯的能指就是那个绿色的灯本身。 * '''所指'''(〔法语〕{{lang|fr|signifié}},〔英语〕{{lang|en|signified}})就是符号指代的事物,例如绿灯的所指就是告诉你「可以通行」。 能指和所指之间没有必然的联系,是人为约定的。 * 为什么「通行」是绿色,而不是蓝、黄、白?这是人们约定的。当然你可能说交通灯的颜色可能有警示色、心理机制、光的波长等等的考虑,但你没法解释为什么偏要定在红、黄、绿三色。——譬如,警示色也是有橙色和黄色的。 * 打叉本身也没有表示「错误」的意思,这是你和老师的约定。有些情况下在方框内打叉表示「选中」,这也是分发、填写表单的双方的约定。 * 一些地图上用带圈的「文」字表示学校,而不是带方框的「文」、带圈的「校」,也是制图师们约定并写在图例中的。 这样的现象,我们称为'''任意性'''({{lang|en|arbitrariness}})。 === 语言与符号 === 语言是一种符号。 [[File:Saussure-cours-p-099b (cropped).png|thumb|「arbor」代表树的概念]] 譬如说,汉语说的“树”,或是英语说的「{{lang|en|tree}}」、拉丁语的「{{lang|la|arbor}}」,我们说出来的这个词,这个语音形式就是这个符号的能指;我们心中的「高大的植物」这样的概念就是这个符号的所指。 语言也一样存在任意性。为什么我们用「shu~」这样的声音来代表这种植物,而不用其他声音代表?这是说不清楚的。「shu~」本身和这种高大的植物这样的概念没有任何关系,也没有任何理由来代表这种高大植物。如果语言没有任意性,那么各门语言都该用同一种声音来代表同一个概念,而这是和现实不符合的。 对于语言的任意性,有人可能会这样争辩: 「有些词似乎是来自拟声。」譬如法语「{{lang|fr|fouet}}」(鞭子)、「{{lang|fr|glas}}」(丧钟)的声音可能有某种特殊的听感,但是如果我们追溯这两个词的更早的形式——拉丁语「{{lang|la|fāgus}}」(山毛榉)、「{{lang|la|classicum}}」(一种喇叭的声音)——就会发现,这样的联想没有依据。而再说真正的拟声词,他们也不是完全任意的,而是语言使用者约定俗成的模仿。譬如犬吠声,汉语一般说「汪汪」,英语大多说「{{lang|en|woof}}」,也有的说「{{lang|en|arf}}」,法语听起来像「哇」{{NoteTag|〔法语〕{{lang|fr|oua}}}},德语听起来像「vau」{{NoteTag|〔德语〕{{lang|de|wau}}}}——不同的语言有不同的叫法。此外,拟声词进入语言系统后,也会跟着语言一起变化。例如英文的「{{lang|en|pigeon}}」(鸽子)可能来自通俗拉丁语一个因拟声造的词「{{lang|la|pipio}}」,已经和原来完全两样了。<ref>费尔迪南·德·索绪尔.普通语言学教程.商务印书馆.2009(高明凯译,岑麒祥、叶蜚声校注)p.93-98</ref> 「有些感叹词,可能是人们的自发表达。」表达同样意思的感叹词,不同的语言也有不一样的说法。感叹词也会和拟声词一样,随着语言在时间流逝中的变化而变化:我们读《蜀道难》的「噫吁嚱」,很难想象哪种感叹词会这样发音,那是因为唐代的语音和现在的语音有很大区别。 不论是拟声词还是感叹词,他们的数量极少,在语言系统中是边缘的,即使并不任意,也不影响语言的性质,只能说语言存在一定的「非任意性」成分。 === 系统性 === 语言不仅是符号,而是符号的系统。这里,我们应该更细致地厘定我们的研究对象。我们说「树」,说「我吃饭」,我们说出来的不是语言,我们是运用语言的规则说出了一些有意义的话,这些话并不是语言本身。这裏,我们用'''言语'''(〔法〕{{lang|fr|parole}})来代表我们说话的动作,以及我们说出来的话;而用'''语言'''(〔法〕{{lang|fr|langue}})表示一些人共同拥有的说话的系统。每个人的言语都是不一样的,但是这些人会拥有共同的语言。语言和言语相互依存:言语要想为人所理解,就必须要有语言;语言的规则又必须要有言语来建立。语言学的主要研究对象是语言({{lang|fr|langue}}),而不是言语。 那么,为什么说语言是系统呢?这是因为,语言符号之间并不孤立,而是由一定规则组合起来的。我们可以从两个方面看语言的系统性。 * 组合和聚合:人在说话的时候,只能一个符号(声音符号)一个符号依次往外说,因此我们说,语言符号具有线条性。语言符号一一相连接的关系叫'''组合关系'''。例如,「我愿意走路」这句话就表现了组合关系。而「我」可以替换成「你」、「他」、「阿珍」等等,「愿意」可以替换成「想」、「讨厌」等等,「走路」可以替换成「跑步」、「写诗」、「音乐」等等,这样用具有相同作用的符号相互替换的关系便称为'''聚合关系'''。组合关系和聚合关系是对任意性的制约。 * 层级性:语言的要素可以往下细分到基础的、可能是极少的单位,比如最基础的声音的单位,大部分语言都仅有数十个。但是当语言的单位互相组合,我们就能说出无穷多句话语。 因此,我们说语言是符号系统。 == 语言与声音 == 在先前的讲述中,我们反复提到语言的声音。传统上认为,语言是一定有声音的。你可能说,「我写下汉字,并没有说话,就没有用到声音啊」。但是你用汉字写下的中文,它也是用来记录汉语的声音的,这也是和声音密不可分的,即使你并没有说出来。也就是说,'''文字是语言的符号'''。 这一传统观点存在一个例外——手语。手语是听障人士和失语人士使用的一类语言,用手势而非声音来表达意义。现代的语言学认为,手语虽然没有语音,但也是语言。 == 語言與人類的自主意識 == 人的言語({{lang|fr|parole}})行爲是有自主性和意識性的。人們能選擇說什麼、怎麼說,而且正如我們之前討論的,可以討論不在眼前的事物、可以欺騙、可以帶有言外之意,這些都體現了語言的自主性和意識性。甚至,語言工具可以用來討論語言本身,這是自覺的認知能力,動物的交流方式並不具備這樣的特點。 == 語言與社會和文化 == 語言和我們所在的社會、文化有着非常密切的聯繫。 語言本身就是爲了交流而存在的,本身就是社會和文化的產物。同時,也有很多學者認爲,語言也塑造着它服務的社會和文化。學習其他民族的語言的時候,我們不僅學習抽象的語言規則,也會學習那個民族的歷史、文學、文化,學習他們的交際禮儀,學習他們對於世界的認識——譬如有些語言衹把顏色劃分爲兩類,有些語言不用東南西北而用河流的流向表達方位,有些語言的親屬稱謂詞很多有些語言很少……這些都不是天生的、遺傳的,而是在後天學習的。 == 語言與語言學 == 研究語言的科學叫'''語言學'''(〔英〕{{lang|en|linguistics}})。 語言現象很早就進入到了人們的視野。各個文明在發展中留下了豐富的典籍,但是由於語言和文字的變化,後人已經不太能看懂前人的著作,因此產生了對古代語言的研究的學問,這稱爲'''語文學'''({{lang|en|philology}})。進入近代以後,西歐的思想和科學得到了顯著的發展,語言研究的對象也擴大到了現代口語、世界各地的語言。到了18、19世紀,人們認識到了更多語言規律,不再爲其他學科研究語言,而是爲了研究本身而研究語言,語言學成爲了一門獨立的學科。 == 中国大陆教材的观点 == 中國大陸的传统教材受到马克思主义语言理论和现代语言学理论的共同影响,会这樣为语言下定义:<ref>黄廖本p.1</ref> *从结构上看,语言是由语音、词汇、语法构成的音、义结合的符号系统。 *从功能上看,语言是: ** 人类交流的主要手段(人与人的方面); ** 人类认知世界的工具(人与社会的方面); ** 文化的载体(人与文化的方面)。 除了传统的「语音、词汇、语法」三(大)要素,也有教材引入了「语義」的因素。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> dld6lj8inclriwjdzs2ausabxezg3tg User:魔琴/common.js 2 33845 187131 184074 2026-09-06T03:04:01Z 魔琴 49316 187131 javascript text/javascript mw.loader.load('https://commons.wikimedia.org/w/index.php?title=User:Jack_who_built_the_house/convenientDiscussions.js&action=raw&ctype=text/javascript'); mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:魔琴/gadgets/PQR/cd-add.js&action=raw&ctype=text/javascript'); mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:魔琴/gadgets/pingallfromcd/index.js&action=raw&ctype=text/javascript'); mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:魔琴/gadgets/mergepings/index.js&action=raw&ctype=text/javascript'); mw.loader.load('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-CollapsibleSidebar.js&action=raw&ctype=text/javascript'); mw.loader.load("/w/index.php?title=User%3A%E9%AD%94%E7%90%B4%2Fvibe%2Fmscl.js&action=raw&ctype=text/javascript"); a8uca1xl7kyu5vr6fvuhnlz6z7o126p 现代标准汉语/语音/语音的单位 0 34881 187144 187046 2026-09-06T03:37:36Z 魔琴 49316 (小工具)统一页眉页脚格式 187144 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 我们可以将人的语音划分到最小的片段或者元素,方便我们研究。 == 音素 == '''音素'''(〔英语〕{{lang|en|phoneme}}或{{lang|en|phone}})是最小的语音单位,可以分为元音和辅音。 === 辅音 === {{Infobox|above=「{{lang|en|consonant}}」的中文译名 | bodystyle = margin: right = 0 0 1em 1em; float: right; | titlestyle = background-color:#eee; | labelstyle = white-space: nowrap;background-color:#eee; width:4em; | datastyle = white-space: nowrap; font-size: 1rem; |label1=中国大陆 | data1=辅音 |label2=港澳 | data2=輔音 |label3=台湾 | data3=輔音、子音 }} '''辅音'''({{lang|en|consonant}})也叫'''子音''',是气流受到阻碍发出的音,气流必须克服阻碍才能发出声音。 辅音的发音分为三个阶段:成阻(形成阻碍)、持阻(持续阻碍)、除阻(解除阻碍)。 === 元音 === {{Infobox|above=「{{lang|en|vowel}}」的中文译名 | bodystyle = margin: right = 0 0 1em 1em; float: right; | titlestyle = background-color:#eee; | labelstyle = white-space: nowrap;background-color:#eee; width:4em; | datastyle = white-space: nowrap; font-size: 1rem; |label1=中国大陆 | data1=元音 |label2=港澳 | data2=元音 |label3=台湾 | data3=元音、母音 }} '''元音'''(vowel)也叫'''母音''',是发音过程中气流通过口腔而不受阻碍发出的音。 发元音时,气流通过声门冲击声带,使声带均匀振动,并不受阻碍地通过口腔。 === 辅音和元音的不同=== * 主要区别:辅音受阻,元音不受阻。阻碍指阻塞或者明显摩擦。 * 紧张程度:辅音的成阻部位或者发音器官明显紧张,发元音时各器官紧张程度均衡。 * 气流强弱:辅音气流强,元音气流弱。 * 响亮程度:发元音时,声带振动,声音比辅音响亮。辅音不一定。 == 音节 == '''音节'''由音素构成,是人听话时自然感觉到的最小的语音结构单位。<ref>黄廖本p.20</ref>一般来说,汉语一个字与一个音节对应,音节结构为辅音+元音+辅音,前后的辅音都不是一定出现的,但是中间的元音是必需的。 然而,汉语一般不按辅音、元音来分析音节。现在,我们依据传统的分析方法,将一个字音分为声母和韵母两段: * '''声母'''是音节前段的辅音。音节开头没有辅音的(如「安」),习惯称为「零声母」。 * '''韵母'''指的是音节后段,可能是元音,也可能是元音加上辅音。<ref>黄、廖本 p.21</ref> 请注意,辅音和声母、元音和韵母并不等同。韵母包括音节结尾的辅音。 另外,汉语还有「'''声调'''」的概念。在现代汉语中,指的是音高。不同声母、韵母、元音、辅音,他们的区别在于音质不同。不同声调的区别则在于音高不同,而不是音质的不同。 == 音位 == '''音位'''({{lang|en|phoneme}})是语音的单位,是从社会属性划分的。是一个语音系统中能够区别意义的最小声音单位。一个音位可能包含数种不同的音素,但是语言的使用者会认为这几种发音是等同的,甚至可能不会察觉语音上有所不同。 如果一段语音中,两个音素互相替换,代表的意义没有变化,则这两个音素可视为同一个音位。反过来说,如果一段语音的任何一个音位若被换成别的音位,那么它就不再是原来的那段语音,其意义也会改变或者消失。 我们在本章《音位》一节会具体讲述。 <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> 7smoqsrqrg0s45ls2pj26rs2f9ressi 现代标准汉语/语音/语音的记录 0 34882 187148 187084 2026-09-06T05:51:29Z 魔琴 49316 (小工具)统一页眉页脚格式 187148 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 语音看不见,摸不着,不同的音素和非音质成分千变万化,人们费了很大功夫才摸索出准确记录语音的方法。 == 国际音标 == 现代语言学中,记录语音的符号通用'''國際音標'''。 國際音標({{lang|en|International Phonetic Alphabet}},缩写「{{lang|en|'''IPA'''}}」)是[[:w:国际语音学协会|国际语音学协会]]{{NoteTag|〔法语〕{{lang|fr|Association phonétique internationale}},〔英语〕{{lang|en|International Phonetic Association}}}}订立的语音学符号,基本采用拉丁字母及其变形。1886年,欧洲的一些语言学家成立了语音学教师协会{{NoteTag|〔英〕{{lang|en|The Phonetic Teachers' Association}},写作「Dhi Fonètik Tîtcerz' Asóciécon」}},希望订立一套语音符号,帮助孩童学习外语的发音。1888年,协会发表了一套记音符号,同时确立了这套语音符号的设计法则,国际音标就此诞生。 一百年间,国际音标历经了多次修订,已经形成了一个完备的系统,拥有上百个符号和附标记号,可以用来细致地记录任何一种语言、任何一种方言。自从1888年以来,国际音标遵循「一个符号对应一个音素、一个音素对应一个符号的原则」,不像传统的文字、字母会随着语言和方言的不同而改变其代表的语音或者拼写方法,为语音学研究带来了极大的便利。 国际音标最近的一次修订在2005年。 <gallery> File:IPA chart 2020.pdf|国际音标表(英文版) File:International Phonetic Alphabet Chart (Chinese version).png|国际音标表(官方简体中文版) </gallery> 在标准的国际音标之外,各国语音学者也会也根据实际需要进行微小的增刪調整。 == 中国传统的记音方法 == 古代中国人也尝试过语音的记录。不过,他们没有拉丁字母可以用,使用的是汉字。主要方法包括直音法和反切法。 '''直音法'''就是用同音字注音。如:「篙,音高」,意思就是「篙」的读音和「高」的读音一致。 '''反切法'''是 == 近现代的汉语记音史 == 中华民国建立后,为了更方便地标注汉字读音,北洋政府教育部发布「[[注音符号]]」。注音符号是一套用于拼写汉语的字母,每个字母都源自古代的汉字,都代表一个特定的声音。 中华人民共和国建立后,制定了「汉语拼音」,用拉丁字母为汉语标音。汉语拼音后被纳入国际标准(ISO 7098)。 中华民国政府迁台后,台湾沿用「注音符号」。 注音符号(简称「注音」)和汉语拼音(简称「拼音」)是汉语主要的记音方案。本读本两种记音并行,前为拼音,后为注音。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> lcf99kg8p92205nxvy8qeun99gsojos 现代标准汉语/语音/音节的结构 0 34884 187153 187057 2026-09-06T05:53:06Z 魔琴 49316 (小工具)统一页眉页脚格式 187153 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 首先我们认识一下汉语的音节的结构。 == 音节的结构 == 我们在前面的章节中已经知道汉语的音节可以这样拆分: * 一个音节可以分为声母和韵母两个部分。 * 韵母又可以分为介音、韵腹、韵尾三个部分。 * 声调是依附在音节上的音高。 == 音节结构的特点 == 汉语的音节结构有以下特点: # 一个不带声调的音节最多有四个音素 # 元音占优势。除个别字之外,一个字必须有元音(包括舌尖元音),而且最多可以有三个。 # 音节可以没有辅音,可以没有辅音声母(有零声母)。辅音一般出现在音节的开头(声母)或结尾(韵尾),而且没有连续的辅音。 == 音节结构的分析 == <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> 7eyuwgr29mjfc5c8w178hbnz99harfx Module:现代标准汉语教材/目录数据 828 34886 187085 187080 2026-09-05T14:27:30Z 魔琴 49316 [IPE-NEXT] Quick edit 187085 Scribunto text/plain return { { "目录", nav = false, numbered = false, }, { "绪论", numbered = false, children = { "语言概说", "汉语概说", "现代汉语概说", }, }, { "语音", children = { "语音的单位", "语音的记录", "声母", "韵母", "声调", { "音节概说", children = { "音节的结构", "注音符号与汉语拼音", "声、韵、调的拼合", }, }, { "音变概说", children = { "变调", "轻声", "儿化", "连音与合音", }, }, "音位", "朗读与语调", "语音的规范", }, }, { "文字", children = { "汉字的历史", "汉字的传统构形分析", "现行汉字的结构", "简化汉字", "汉字的规范", "汉字与信息时代", }, }, { "词汇", children = { "词汇的单位", "词义", "语义场", "词汇的构成", "词汇的发展", "词汇的规范", "词典与词语释义", }, }, { "语法", children = { "语法的单位", "语素", { "词类概说", children = { "实词", "虚词", "词的兼类" }, }, "短语", { "句子概说", children = { "句法成分", "句型", "句式", "句类", "单句分类法总结", "语法语义分析", }, }, "复句", "句群", "其他语法体系概说", }, }, { "标点符号", children = { "常见的标点符号", "标点符号的书写", "标点符号与信息时代", }, }, { "语用", children = { "话语意义", "言语行为与会话原则", "话语结构", { "修辞概说", children = { "词语修辞", "句式修辞", "辞格", "辞格的综合运用", }, }, "语体", "病句", }, }, { "参考书目", nav = false, numbered = false, }, { "附录", nav = false, numbered = false, sectionPrefix = "附录", sectionSuffix = "", children = { "汉语方言简表", "音节表", "基本音节表", "边缘音系", }, }, } dka95gttkk4z4nh422g36uojm3pzv8i Module:现代标准汉语教材/目录结构 828 34887 187094 187082 2026-09-06T01:45:12Z 魔琴 49316 187094 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页:统一显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则(含跨越嵌套层级的情况)显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prevp = pages[index - 1] local nextp = pages[index + 1] if t == "prev" then if prevp then return '← 上一节:' .. link(prevp) else return "" end elseif t == "next" then if nextp then local label if nextp.chapter ~= current.chapter then label = "下一章" else label = "下一节" end return label .. ":" .. link(nextp) .. " →" else return "" end end return "" end function p.previouspage(frame) local prev = nav("prev") return link(prev) end function p.nextpage(frame) local next = nav("next") return link(next) end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '<div class="教材面包屑">' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '</div>') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p hcpd6ynbrjtl2tn3rbr5s4miydpm5u5 187095 187094 2026-09-06T02:10:59Z 魔琴 49316 187095 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页:统一显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则(含跨越嵌套层级的情况)显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prev = pages[index - 1] local next = pages[index + 1] if t == "prev" then if prev then return '← 上一节:' .. link(prev) else return "" end elseif t == "next" then if next then local label if next.chapter ~= current.chapter then label = "下一章" else label = "下一节" end return label .. ":" .. link(next) .. " →" else return "" end end return "" end function p.previouspage(frame) return nav("prev") end function p.nextpage(frame) return nav("next") end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '<div class="教材面包屑">' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '</div>') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p g200no13t1t66fv0xk9dzfbr9jli7rc 187105 187095 2026-09-06T02:27:48Z 魔琴 49316 // Edit via Wikiplus 187105 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页:统一显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则(含跨越嵌套层级的情况)显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prev = pages[index - 1] local next = pages[index + 1] if t == "prev" then if prev then return '上一节:' .. link(prev) else return "" end elseif t == "next" then if next then local label if next.chapter ~= current.chapter then label = "下一章" else label = "下一节" end return label .. ":" .. link(next) else return "" end end return "" end function p.previouspage(frame) return nav("prev") end function p.nextpage(frame) return nav("next") end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '<div class="教材面包屑">' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '</div>') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p 6a95y37bm5z145ajz4a002zwvhlpcko 187122 187105 2026-09-06T02:43:22Z 魔琴 49316 187122 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页:统一显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则(含跨越嵌套层级的情况)显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prev = pages[index - 1] local next = pages[index + 1] if t == "prev" then if prev then return '上一节:' .. link(prev) else return "" end elseif t == "next" then if next then local label if next.chapter ~= current.chapter then label = "下一章" else label = "下一节" end return label .. ":" .. link(next) else return "" end end return "" end function p.previouspage(frame) return nav("prev") end function p.nextpage(frame) return nav("next") end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '[[', root, ']]', ' › ' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p 5g8jx677ufyelwf7gdijsxmo2hynkg9 187145 187122 2026-09-06T05:44:42Z 魔琴 49316 187145 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页: -- * 如果上一页是本章概论,显示「本章」; -- * 否则显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prev = pages[index - 1] local next = pages[index + 1] if t == "prev" then if prev then local label if prev.isChapter then label = "本章" else label = "上一节" end return label .. ":" .. link(prev) else return "" end elseif t == "next" then if next then local label if next.chapter ~= current.chapter then label = "下一章" else label = "下一节" end return label .. ":" .. link(next) else return "" end end return "" end function p.previouspage(frame) return nav("prev") end function p.nextpage(frame) return nav("next") end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '[[', root, ']]', ' › ' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p 1txgb5itoh96xrjmhwa2hchvkvieffg 187146 187145 2026-09-06T05:47:46Z 魔琴 49316 187146 Scribunto text/plain -- GPT-5.6 Luna, Claude Sonnet 5 Medium local p = {} local data = mw.loadData("Module:现代标准汉语教材/目录数据") ------------------------------------------------------------ -- 基础工具 ------------------------------------------------------------ local function getTitle(item) if type(item) == "string" then return item end return item[1] or item.title or "" end local function getChildren(item) if type(item) ~= "table" then return nil end return item.children end local function isToc(item) if type(item) ~= "table" then return true end return item.toc ~= false end local function isNav(item) if type(item) ~= "table" then return true end return item.nav ~= false end local function isExpanded(item) if type(item) ~= "table" then return true end if item.expanded == nil then return true end return item.expanded end ------------------------------------------------------------ -- 是否计入章 / 节编号 -- -- 在数据中给某一项加上 numbered = false, -- 即可让它不参与编号计数 -- (既不显示编号,也不占用编号名额, -- 后面的项会紧接着前面最后一个编号继续)。 -- -- 例如「参考书目」「附录」本身默认已标记为 numbered = false。 ------------------------------------------------------------ local function isNumbered(item) if type(item) ~= "table" then return true end if item.numbered == nil then return true end return item.numbered end ------------------------------------------------------------ -- 读取顶级项自定义的编号前后缀,取不到就用默认值。 -- -- 顶级项(章)可选字段: -- chapterPrefix / chapterSuffix —— 章自身编号,默认「第」「章」 -- sectionPrefix / sectionSuffix —— 章内各节编号,默认「第」「节」 -- -- 例如附录可以设置: -- sectionPrefix = "附录", sectionSuffix = "" -- 从而把子项编号显示成「附录一」「附录二」而不是「第一节」。 ------------------------------------------------------------ local function getOption(item, key, default) if type(item) == "table" and item[key] ~= nil then return item[key] end return default end ------------------------------------------------------------ -- 阿拉伯数字转中文数字(够用到 99) ------------------------------------------------------------ local chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", } local function toChineseNumber(n) if n < 10 then return chineseDigits[n + 1] end if n < 20 then if n == 10 then return "十" end return "十" .. chineseDigits[n - 10 + 1] end if n < 100 then local tens = math.floor(n / 10) local ones = n % 10 local result = chineseDigits[tens + 1] .. "十" if ones > 0 then result = result .. chineseDigits[ones + 1] end return result end -- 超出常见范围时退回阿拉伯数字,避免报错 return tostring(n) end ------------------------------------------------------------ -- 当前书名 ------------------------------------------------------------ local function getBookRoot() local title = mw.title.getCurrentTitle() return title.rootText end ------------------------------------------------------------ -- 当前页面相对于书名的路径 -- -- 注意:title.text 返回的是完整页面名(不含命名空间, -- 但包含子页面路径),并不会自动去掉书名前缀。 -- 例如书名为「汉语」时,页面「汉语/语音/声母」的 -- title.text 是「汉语/语音/声母」,不是「语音/声母」。 -- 所以这里要显式去掉书名前缀。 ------------------------------------------------------------ local function getRelativeText() local title = mw.title.getCurrentTitle() local root = getBookRoot() local text = title.text if root == "" then return text end if text == root then return "" end local prefix = root .. "/" if text:sub(1, #prefix) == prefix then return text:sub(#prefix + 1) end return text end ------------------------------------------------------------ -- 根据目录层级计算页面路径(不含书名) -- -- 注意: -- 目录树的 children 不代表 MediaWiki 页面层级。 -- -- 例如: -- -- 语音 -- └─ 音节概说 -- └─ 音节的结构 -- -- 实际全部都是: -- -- /语音/... -- ------------------------------------------------------------ local function makePage(title, chapter) return "/" .. chapter .. "/" .. title end ------------------------------------------------------------ -- 把不含书名的路径转换成实际 MediaWiki 页面标题 -- -- 所有生成链接的地方都应该用这个函数拼出完整标题, -- 而不是直接用 "[[/xxx]]" 这种相对写法—— -- 相对链接只有在「当前页面恰好是该页面的子页面」时才能正确解析, -- 在别的页面上转、或者当前页本身层级不对时会失效。 ------------------------------------------------------------ local function fullPageTitle(path) local root = getBookRoot() if root == "" then return path:gsub("^/", "") end return root .. path end ------------------------------------------------------------ -- 遍历所有节点 -- -- callback(item, chapter, path, parent) ------------------------------------------------------------ local function walk(items, chapter, callback, parent) if not items then return end for _, item in ipairs(items) do local title = getTitle(item) local path if parent == nil then -- 顶级章节自身的页面,例如 /语音 path = "/" .. title else -- 所有后代都使用顶级章节作为页面前缀 path = makePage(title, chapter) end callback(item, chapter, path, parent) local children = getChildren(item) if children then walk( children, chapter or title, callback, item ) end end end ------------------------------------------------------------ -- 收集全部页面 -- -- 顺带计算每个页面的编号标签: -- * 顶级项(章):在 data 数组里按顺序编号, -- 跳过 numbered = false 的项, -- 标签格式为 chapterPrefix .. 中文数字 .. chapterSuffix(默认「第」「章」)。 -- * 其余项(节):在所属章节内部按「遍历顺序」重新从 1 编号, -- 不区分嵌套深浅(多缩进一层的节视为平级), -- 同样跳过 numbered = false 的项, -- 标签格式为 sectionPrefix .. 中文数字 .. sectionSuffix(默认「第」「节」, -- 可在顶级项上覆盖,比如附录用「附录」+ "" 得到「附录一」)。 ------------------------------------------------------------ local function getAllPages() local pages = {} local chapterIndex = 0 for _, root in ipairs(data) do local chapter = getTitle(root) local chapterPrefix = getOption(root, "chapterPrefix", "第") local chapterSuffix = getOption(root, "chapterSuffix", "章") local sectionPrefix = getOption(root, "sectionPrefix", "第") local sectionSuffix = getOption(root, "sectionSuffix", "节") local chapterNumber = nil if isNumbered(root) then chapterIndex = chapterIndex + 1 chapterNumber = chapterIndex end local sectionIndex = 0 walk( { root }, chapter, function(item, chapterName, path, parent) local isChapter = (parent == nil) local number = nil local label = nil if isChapter then number = chapterNumber if number then label = chapterPrefix .. toChineseNumber(number) .. chapterSuffix end else if isNumbered(item) then sectionIndex = sectionIndex + 1 number = sectionIndex label = sectionPrefix .. toChineseNumber(number) .. sectionSuffix end end table.insert(pages, { item = item, title = getTitle(item), chapter = chapterName, path = path, nav = isNav(item), isChapter = isChapter, number = number, numberLabel = label, }) end ) end return pages end ------------------------------------------------------------ -- 按页面路径建立索引,方便按 path 查编号 ------------------------------------------------------------ local function buildPageIndex() local pages = getAllPages() local index = {} for _, page in ipairs(pages) do index[page.path] = page end return index end ------------------------------------------------------------ -- 生成带编号前缀的标题,例如: -- 「第一章 语音」「第三节 声母」「附录一 XXX」 -- 没有编号的项直接返回原标题。 ------------------------------------------------------------ local function displayTitle(page) if page.numberLabel then return page.numberLabel .. " " .. page.title end return page.title end ------------------------------------------------------------ -- 查找当前页面 ------------------------------------------------------------ local function getCurrentPage() local current = mw.title.getCurrentTitle() -- 直接比较完整标题,兼容不同书名。 local currentFull = current.prefixedText return currentFull end local function findPageByCurrentTitle(pages) local current = getCurrentPage() for _, page in ipairs(pages) do if fullPageTitle(page.path) == current then return page end end return nil end ------------------------------------------------------------ -- 查找当前页面在导航中的位置 ------------------------------------------------------------ local function getNavPages() local result = {} for _, page in ipairs(getAllPages()) do if page.nav then table.insert(result, page) end end return result end local function findCurrentIndex(pages) local current = getCurrentPage() for i, page in ipairs(pages) do if fullPageTitle(page.path) == current then return i end end return nil end ------------------------------------------------------------ -- 生成单个链接(纯标题,不带编号前缀,使用完整书名路径) ------------------------------------------------------------ local function link(page) return "[[" .. fullPageTitle(page.path) .. "|" .. page.title .. "]]" end ------------------------------------------------------------ -- 通用的多级目录渲染 -- -- items: 要渲染的节点列表 -- chapter: 这些节点所属的顶级章节名(渲染顶级章节列表本身时传 nil) -- depth: 星号缩进层级,从 1 开始 -- isRootLevel: 是否是「顶级章节」这一层(决定路径怎么拼) -- pageIndex: path -> page 的索引,用于取编号 -- result: 输出行会 insert 进这个数组 ------------------------------------------------------------ local function renderList(items, chapter, depth, isRootLevel, pageIndex, result) for _, item in ipairs(items) do if isToc(item) then local title = getTitle(item) local path if isRootLevel then path = "/" .. title else path = makePage(title, chapter) end local stars = string.rep("*", depth) local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, stars .. " [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) local children = getChildren(item) if children and isExpanded(item) then renderList( children, chapter or title, depth + 1, false, pageIndex, result ) end end end end ------------------------------------------------------------ -- 上一页 / 下一页 -- -- 上一页: -- * 如果上一页是本章概论,显示「本章」; -- * 否则显示「上一节」。 -- 下一页: -- * 如果下一页和当前页不属于同一章,显示「下一章」; -- * 否则,如果本页是本章概论,显示「本章第一节」; -- * 否则显示「下一节」。 ------------------------------------------------------------ local function nav(t) local pages = getNavPages() local index = findCurrentIndex(pages) if not index then return "" end local current = pages[index] local prev = pages[index - 1] local next = pages[index + 1] if t == "prev" then if prev then local label if prev.isChapter and prev.chapter == current.chapter then label = "本章" else label = "上一节" end return label .. ":" .. link(prev) else return "" end elseif t == "next" then if next then local label if next.chapter ~= current.chapter then label = "下一章" elseif current.isChapter then label = "本章第一节" else label = "下一节" end return label .. ":" .. link(next) else return "" end end return "" end function p.previouspage(frame) return nav("prev") end function p.nextpage(frame) return nav("next") end ------------------------------------------------------------ -- 全书目录 ------------------------------------------------------------ function p.toc(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">', } renderList(data, nil, 1, true, pageIndex, result) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 顶层目录(仅章) ------------------------------------------------------------ function p.toplevel(frame) local pageIndex = buildPageIndex() local result = { '<div class="教材目录">' } for _, item in ipairs(data) do if isToc(item) then local title = getTitle(item) local path = "/" .. title local page = pageIndex[path] local text = page and displayTitle(page) or title table.insert( result, "* [[" .. fullPageTitle(path) .. "|" .. text .. "]]" ) end end table.insert(result, "</div>") return table.concat(result, "\n") end ------------------------------------------------------------ -- 面包屑 ------------------------------------------------------------ function p.breadcrumb(frame) local root = getBookRoot() local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local result = { '[[', root, ']]', ' › ' } local accumulated = "" for i, part in ipairs(parts) do if accumulated == "" then accumulated = part else accumulated = accumulated .. "/" .. part end if i > 1 then table.insert(result, " › ") end local page = root .. "/" .. accumulated table.insert( result, "[[" .. page .. "|" .. part .. "]]" ) end table.insert(result, '') return table.concat(result) end ------------------------------------------------------------ -- 本章目录 -- -- 在章节内任意页面(含「节中节」内部)显示当前章节的 -- 完整多级目录,例如在 /语音/声母 上显示: -- -- 第二章 语音 -- * 第一节 语音的单位 -- * 第二节 语音的记录 -- * 第三节 声母 -- ... -- * 第六节 音节概说 -- ** 第七节 音节的结构 -- ** 第八节 注音符号与汉语拼音 -- ... ------------------------------------------------------------ function p.chapter(frame) local text = getRelativeText() if text == "" then return "" end local parts = mw.text.split(text, "/") local chapter = parts[1] local pageIndex = buildPageIndex() for _, rootItem in ipairs(data) do if getTitle(rootItem) == chapter then local chapterPath = "/" .. chapter local chapterPage = pageIndex[chapterPath] local chapterText = chapterPage and displayTitle(chapterPage) or chapter local result = { '<div class="教材章节导航">', "'''[[" .. fullPageTitle(chapterPath) .. "|" .. chapterText .. "]]'''", } local children = getChildren(rootItem) if children then renderList(children, chapter, 1, false, pageIndex, result) end table.insert( result, '</div>' ) return table.concat(result, "\n") end end return "" end ------------------------------------------------------------ -- 节中节目录 -- -- 用在本身带有子项的「节」页面上(比如「音节概说」), -- 只列出该节自己的下级子项,不牵扯整章。 -- 如果当前页面没有子项,返回空字符串。 -- -- 例如在 /语音/音节概说 上显示: -- -- * 第七节 音节的结构 -- * 第八节 注音符号与汉语拼音 -- * 第九节 声、韵、调的拼合规律 ------------------------------------------------------------ function p.section(frame) local pages = getAllPages() local currentPage = findPageByCurrentTitle(pages) if not currentPage then return "" end local children = getChildren(currentPage.item) if not children then return "" end local pageIndex = buildPageIndex() local result = { '<div class="教材节中节目录">', } renderList( children, currentPage.chapter, 1, false, pageIndex, result ) table.insert(result, '</div>') return table.concat(result, "\n") end ------------------------------------------------------------ -- 当前页面的编号 -- -- 章页面返回「第X章」,节页面返回相应标签(如「第X节」 -- 或自定义的「附录X」),未编号或找不到当前页时返回空字符串。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|number}} ------------------------------------------------------------ function p.number(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return page.numberLabel or "" end ------------------------------------------------------------ -- 当前页面「编号 + 标题」 -- -- 例如「第一章 绪论」「第七节 音节的结构」「附录一 XXX」, -- 未编号时直接返回标题本身。 -- -- 用法:{{#invoke:现代标准汉语教材/目录结构|title}} ------------------------------------------------------------ function p.title(frame) local pages = getAllPages() local page = findPageByCurrentTitle(pages) if not page then return "" end return displayTitle(page) end return p 6g20qjdn1oj3wwhjy8yv38cy471l2jn Template:MSCL 10 34889 187089 2026-09-06T01:38:08Z 魔琴 49316 [IPE-NEXT] Quick edit 187089 wikitext text/x-wiki 占位用。 {{Special:PrefixIndex/Template:MSCL|stripprefix=1}} o02655euu0cs3acgnymq2u1gpoimgkk Template:MSCL/header 10 34890 187090 2026-09-06T01:40:19Z 魔琴 49316 [IPE-NEXT] Quick edit 187090 wikitext text/x-wiki {{#invoke:现代标准汉语教材/目录结构|previouspage}} {{#invoke:现代标准汉语教材/目录结构|nextpage}} {{#invoke:现代标准汉语教材/目录结构|title}} {{#invoke:现代标准汉语教材/目录结构|breadcrumb}} ai2mqqr4n52chsm95mj40hs2donk2yh 187091 187090 2026-09-06T01:40:44Z 魔琴 49316 // Edit via Wikiplus 187091 wikitext text/x-wiki <noinclude>{{#invoke:现代标准汉语教材/目录结构|previouspage}} {{#invoke:现代标准汉语教材/目录结构|nextpage}} {{#invoke:现代标准汉语教材/目录结构|title}} {{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</noinclude> 6ttpx0yo4axfulworifdfy2upgy3lq1 187092 187091 2026-09-06T01:40:59Z 魔琴 49316 [IPE-NEXT] Quick edit 187092 wikitext text/x-wiki <includeonly>{{#invoke:现代标准汉语教材/目录结构|previouspage}} {{#invoke:现代标准汉语教材/目录结构|nextpage}} {{#invoke:现代标准汉语教材/目录结构|title}} {{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</includeonly> 1qa1jrk8csf88f9m83flt6dyr2c3z11 187096 187092 2026-09-06T02:14:04Z 魔琴 49316 [IPE-NEXT] Quick edit 187096 wikitext text/x-wiki <includeonly><div class="MSCL-header"> <div class="MSCL-header-prevnext"> <div class="MSCL-header-prev">{{#invoke:现代标准汉语教材/目录结构|previouspage}}</div> <div class="MSCL-header-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> </div> <div class="MSCL-header-title">{{#invoke:现代标准汉语教材/目录结构|title}}</div> </div></includeonly> a09764445742l5kepz46p37yxwu637b 187098 187096 2026-09-06T02:15:44Z 魔琴 49316 [IPE-NEXT] Quick edit 187098 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/header/style.css"/><div class="MSCL-header"> <div class="MSCL-header-prevnext"> <div class="MSCL-header-prev">{{#invoke:现代标准汉语教材/目录结构|previouspage}}</div> <div class="MSCL-header-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> </div> <div class="MSCL-header-title">{{#invoke:现代标准汉语教材/目录结构|title}}</div> </div></includeonly> fu5ay5u3mtenmc85yfnebj4po1s09px Template:MSCL/header/style.css 10 34891 187097 2026-09-06T02:15:17Z 魔琴 49316 创建页面,内容为“/* OpenAI ChatGPT GPT-5.6 Luna */ /* 现代标准汉语教材 · 页面页眉 */ .MSCL-header { margin: 1.5em 0 2em; padding: 0 0 .8em; border-bottom: 1px solid #eaecf0; } /* 上一页 / 下一页 */ .MSCL-header-prevnext { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .6em; font-size: .9em; } .MSCL-header-prev, .MSCL-header-next { flex: 1; min-width: 0; } .MSCL-heade…” 187097 sanitized-css text/css /* OpenAI ChatGPT GPT-5.6 Luna */ /* 现代标准汉语教材 · 页面页眉 */ .MSCL-header { margin: 1.5em 0 2em; padding: 0 0 .8em; border-bottom: 1px solid #eaecf0; } /* 上一页 / 下一页 */ .MSCL-header-prevnext { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .6em; font-size: .9em; } .MSCL-header-prev, .MSCL-header-next { flex: 1; min-width: 0; } .MSCL-header-next { text-align: right; } /* 导航链接 */ .MSCL-header-prev a, .MSCL-header-next a { color: #54595d; text-decoration: none; transition: color .15s ease; } .MSCL-header-prev a:hover, .MSCL-header-next a:hover { color: #36c; text-decoration: underline; } /* 当前标题 */ .MSCL-header-title { margin-top: .35em; font-size: 1.5em; font-weight: 600; line-height: 1.4; text-align: center; color: #202122; } /* 手机端 */ @media (max-width: 600px) { .MSCL-header { margin-top: 1em; margin-bottom: 1.5em; } .MSCL-header-prevnext { font-size: .85em; } .MSCL-header-title { font-size: 1.3em; } } p3x1y51brhg2hv67n35yj4lrfbi017y 187099 187097 2026-09-06T02:20:13Z 魔琴 49316 187099 sanitized-css text/css /* OpenAI ChatGPT GPT-5.6 Luna */ /* 现代标准汉语教材 · 页面页眉 */ .MSCL-header { margin: 1.5em 0 2em; padding: 0 0 .8em; border-bottom: 1px solid #eaecf0; } /* 上一页 / 下一页 */ .MSCL-header-prevnext { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .6em; font-size: .9em; } .MSCL-header-prev, .MSCL-header-next { flex: 1; min-width: 0; } .MSCL-header-next { text-align: right; } /* 导航链接 */ .MSCL-header-prev a, .MSCL-header-next a { color: var(--color-subtle, #54595d); text-decoration: none; transition: color .15s ease; } .MSCL-header-prev a:hover, .MSCL-header-next a:hover { color: var(--color-progressive, #36c); text-decoration: underline; } /* 当前标题 */ .MSCL-header-title { font-family: serif; margin-top: .35em; font-size: 1.5em; font-weight: 600; line-height: 1.4; text-align: center; color: var(--color-base, #202122); } /* 手机端 */ @media (max-width: 600px) { .MSCL-header { margin-top: 1em; margin-bottom: 1.5em; } .MSCL-header-prevnext { font-size: .85em; } .MSCL-header-title { font-size: 1.3em; } } pkgo81oi3t84ctsbqt18ld4qsqp3vde 187100 187099 2026-09-06T02:21:05Z 魔琴 49316 [IPE-NEXT] Quick edit 187100 sanitized-css text/css /* OpenAI ChatGPT GPT-5.6 Luna */ /* 现代标准汉语教材 · 页面页眉 */ .MSCL-header { margin: 1.5em 0 2em; padding: 0 0 .8em; border-bottom: 1px solid #eaecf0; } /* 上一页 / 下一页 */ .MSCL-header-prevnext { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-bottom: .6em; font-size: .9em; } .MSCL-header-prev, .MSCL-header-next { flex: 1; min-width: 0; } .MSCL-header-next { text-align: right; } /* 导航链接 */ .MSCL-header-prev a, .MSCL-header-next a { color: var(--color-subtle, #54595d); text-decoration: none; transition: color .15s ease; } .MSCL-header-prev a:hover, .MSCL-header-next a:hover { color: var(--color-progressive, #36c); text-decoration: underline; } /* 当前标题 */ .MSCL-header-title { font-family: serif; margin-top: .35em; font-size: 1.5em; font-weight: bold; line-height: 1.4; text-align: center; color: var(--color-base, #202122); } /* 手机端 */ @media (max-width: 600px) { .MSCL-header { margin-top: 1em; margin-bottom: 1.5em; } .MSCL-header-prevnext { font-size: .85em; } .MSCL-header-title { font-size: 1.3em; } } 5f29koqqhd8a4hmdcfic7zntw2560zq Template:MSCL/footer 10 34892 187101 2026-09-06T02:22:51Z 魔琴 49316 [IPE-NEXT] Quick edit 187101 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-title">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div></includeonly> sowo1sfc4j9fftb2ta1tcsx3n23crnl 187102 187101 2026-09-06T02:24:05Z 魔琴 49316 [IPE-NEXT] Quick edit 187102 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-breadcrumb">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div></includeonly> t7ke6bxthqosa8d7yjsc2h16nvew7b1 187106 187102 2026-09-06T02:28:04Z 魔琴 49316 [IPE-NEXT] Quick edit 187106 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-breadcrumb">教材导航:{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div></includeonly> h7m4l517fmky0fxdtd48deziov6jtct 187107 187106 2026-09-06T02:29:02Z 魔琴 49316 [IPE-NEXT] Quick edit 187107 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-breadcrumb"><div class="MSCL-footer-breadcrumb-prompt">教材导航:</div><div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div></div> </div></includeonly> hnewk2onzdjq7s7t387fttmnyp2m9if 187115 187107 2026-09-06T02:38:38Z 魔琴 49316 [IPE-NEXT] Quick edit 187115 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-breadcrumb"><div class="MSCL-footer-breadcrumb-prompt">教材导航:</div><div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div></div> <div class="MSCL-footer-toc">[[现代标准汉语/目录]]</div> </div></includeonly> dnybnybmne7nxzl56jpmt4s4bblfgtm 187116 187115 2026-09-06T02:38:48Z 魔琴 49316 [IPE-NEXT] Quick edit 187116 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-breadcrumb"><div class="MSCL-footer-breadcrumb-prompt">教材导航:</div><div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div></div> <div class="MSCL-footer-toc">[[现代标准汉语/目录|返回目录]]</div> </div></includeonly> 6ebmbf42ves9vo9cob9e3go7tt0pi7i 187118 187116 2026-09-06T02:40:22Z 魔琴 49316 [IPE-NEXT] Quick edit 187118 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-append"> <div class="MSCL-footer-breadcrumb"> <div class="MSCL-footer-breadcrumb-prompt">教材导航:</div> <div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div> <div class="MSCL-footer-toc">[[现代标准汉语/目录|返回目录]]</div> </div></includeonly> awwp7wouuy50qisg56j5rm1x6fawtgo 187119 187118 2026-09-06T02:40:38Z 魔琴 49316 [IPE-NEXT] Quick edit 187119 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-append"> <div class="MSCL-footer-breadcrumb"> <div class="MSCL-footer-breadcrumb-prompt">教材导航:</div> <div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div> <div class="MSCL-footer-toc">[[现代标准汉语/目录|返回目录]]</div> </div> </div></includeonly> jerpdb1gov6h65qeyuwiaea76kst4mc 187121 187119 2026-09-06T02:41:48Z 魔琴 49316 [IPE-NEXT] Quick edit 187121 wikitext text/x-wiki <includeonly><templatestyles src="MSCL/footer/style.css"/><div class="MSCL-footer"> <div class="MSCL-footer-next">{{#invoke:现代标准汉语教材/目录结构|nextpage}}</div> <div class="MSCL-footer-append"> <div class="MSCL-footer-breadcrumb"><div class="MSCL-footer-breadcrumb-prompt">教材导航:</div><div class="MSCL-footer-breadcrumb-content">{{#invoke:现代标准汉语教材/目录结构|breadcrumb}}</div> </div> <div class="MSCL-footer-toc">[[现代标准汉语/目录|返回目录]]</div> </div> </div></includeonly> kcgx9cpeywhdz48wkkm04cv68geifar Template:MSCL/footer/style.css 10 34893 187103 2026-09-06T02:26:27Z 魔琴 49316 创建页面,内容为“.MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; }” 187103 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; } otfoj751k8jv8ijrnrurhu9gavtoajg 187108 187103 2026-09-06T02:29:43Z 魔琴 49316 [IPE-NEXT] Quick edit 187108 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } 86reai6yo9bskyosbqw8o99s5g5fyjj 187109 187108 2026-09-06T02:30:31Z 魔琴 49316 [IPE-NEXT] Quick edit 187109 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-nextpage { padding: .3em; font-size: 120%; } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } 8ae0h8tnybsrg4j8fo4w0vr8bth84ri 187110 187109 2026-09-06T02:31:05Z 魔琴 49316 [IPE-NEXT] Quick edit 187110 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .3em; font-size: 120%; } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } t6pd1m800u8bmyy8kbfmhqrpbpqhba3 187111 187110 2026-09-06T02:32:53Z 魔琴 49316 187111 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .3em 0; font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-breadcrumb { margin-top: .7em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } iapk5k3ltxrmgq4n4dtl8itnxme2g9k 187112 187111 2026-09-06T02:34:46Z 魔琴 49316 [IPE-NEXT] Quick edit 187112 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:2px 7px; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .3em 0; font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-breadcrumb { font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } m195yt4a27yngwm9onnx68z4s2xqzwb 187113 187112 2026-09-06T02:36:19Z 魔琴 49316 [IPE-NEXT] Quick edit 187113 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:.2em .5em; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .3em 0; font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-breadcrumb { font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } fmiivuebm4jp9hdxya45pysvlaxkebo 187114 187113 2026-09-06T02:38:03Z 魔琴 49316 [IPE-NEXT] Quick edit 187114 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:.2em .5em; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .3em 0; font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-breadcrumb, .MSCL-footer-toc { font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } sl7mbr7oqm42sa9gfj4rwhg8u9g1fm0 187117 187114 2026-09-06T02:39:52Z 魔琴 49316 [IPE-NEXT] Quick edit 187117 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:.2em .5em; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-append { padding-top: .5em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } 2qinazkma3u4tp3g81k5fluzsh0xb7t 187120 187117 2026-09-06T02:41:07Z 魔琴 49316 [IPE-NEXT] Quick edit 187120 sanitized-css text/css .MSCL-footer { margin:calc(1em + 5px) 7px 5px 7px; border:var(--border-color-progressive, #36c) 1px solid; padding:.2em .5em; background-color:var(--background-color-progressive-subtle, #e8eeff) } .MSCL-footer-next { padding: .2em 0; font-size: 110%; } .MSCL-footer-next a { font-weight: bold; } .MSCL-footer-append { padding-top: .5em; font-size: 80%; } .MSCL-footer-breadcrumb div { display: inline-block; } .MSCL-footer-breadcrumb-prompt { white-space:nowrap; } mu6xiugbjw82j5l216bwdz814dal1pe User:魔琴/vibe/mscl.js 2 34894 187130 2026-09-06T03:03:41Z 魔琴 49316 创建页面,内容为“/** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:把本文件内容整段粘贴进 Special:MyPage/common.js 保存。 * (这是"个人小工具",不需要管理员把它注册成全站 Gadget。) * * 用法:打开任意条目的编辑页(旧版 wikitext 编辑器 / WikiEditor), * 在工具栏区域会多出一个"M…” 187130 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:把本文件内容整段粘贴进 Special:MyPage/common.js 保存。 * (这是"个人小工具",不需要管理员把它注册成全站 Gadget。) * * 用法:打开任意条目的编辑页(旧版 wikitext 编辑器 / WikiEditor), * 在工具栏区域会多出一个"MSCL 页眉页脚"按钮。点一下: * 1. 脚本剥离旧页眉、定位旧页脚边界并截断 * 2. 把裸正文丢给 API 解析,读取 Cite 扩展报出的 * "找不到 references" 错误,据此决定要不要写 * ==参考资料==、要不要写哪些 group 的子章节 * 3. 弹出一个 wiki 原生样式的差异对比框,确认后 * 自动写回编辑框并点击保存 * * 注意: * - 选择器 #wpTextbox1 / #wpSave 对应旧版 wikitext 编辑器; * 如果贵站默认是 2017 版编辑器或 VisualEditor 源码模式, * 需要自己用浏览器检查器确认实际的文本框 / 保存按钮 id, * 我这边没有你们那个 wiki 实例,没法替你验证选择器。 * - NOTETAG_GROUP 那一行是猜测值,需要按 {{NoteTag}} 实际生成的 * <ref group="..."> 名称改一下,否则可能会在 ==注释== 里重复 * 生成一个多余的 {{reflist|group=注}}({{NoteFoot}} 已经处理了它)。 */ (function () { 'use strict'; // 只在编辑页面(wpTextbox1 存在)里生效 $(function () { var $ta = $('#wpTextbox1'); if (!$ta.length) return; injectButton($ta); }); // ---- 猜测值,请核对 ---- var NOTETAG_GROUP = '註'; // {{NoteTag}} 内部实际使用的 <ref group="?"> 名称 var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' }; function injectButton($ta) { var $btn = $('<button>') .attr('type', 'button') .text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', onButtonClick); // 放在编辑框正上方,比较不挑编辑器皮肤 $ta.before($btn); } // ---------- 文本处理 ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}', '']; if (opts.needsReflist) lines.push('==参考资料==', '{{reflist}}'); if (opts.groups.length || opts.noteTag) { lines.push('', '==注释=='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var title = GROUP_TITLES[g] || g; // 未知 group 也能兜底,用 group 名当标题 lines.push('', '===' + title + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('</noinclude>'); return lines.join('\n'); } // 把"裸正文"(不含任何 reflist)丢给解析器,读取 Cite 报错, // 得到真正缺失 references 的 group 列表 + 默认组是否缺失 function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); // Cite 的报错里,具名 group 总会把组名用引号包起来; // 默认组报错则不会出现被引号包住的组名 —— 这个区分方式不依赖界面语言。 var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); // NoteTag 自己的 group 由 {{NoteFoot}} 负责,不要再单独生成一份 reflist missingGroups = missingGroups.filter(function (g) { return g !== NOTETAG_GROUP; }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 + 保存 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); return api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }).then(function (res) { var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); $box.append($('<table class="diff">').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } function onButtonClick() { var $ta = $('#wpTextbox1'); if (!$ta.length) { window.alert('未找到编辑框(#wpTextbox1),请检查编辑器版本。'); return; } var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { if (result.warnMissingBoundary) { var proceed = window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' ); if (!proceed) return; } return showDiffAndConfirm(original, result.finalText).then(function (ok) { if (!ok) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) { $save.trigger('click'); } else { window.alert('已写入编辑框,请手动点击保存按钮。'); } }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } }()); s7xd8q8iizlf5xu7zqwammpo6o4f08p 187132 187130 2026-09-06T03:06:24Z 魔琴 49316 [IPE-NEXT] Quick edit 187132 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = '注'; // 按实际情况修改 var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' }; var PORTLET_CANDIDATES = ['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#firstHeading')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}', '']; if (opts.needsReflist) lines.push('==参考资料==', '{{reflist}}'); if (opts.groups.length || opts.noteTag) { lines.push('', '==注释=='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return g !== NOTETAG_GROUP; }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); return api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }).then(function (res) { var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); $box.append($('<table class="diff">').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); 91msy1a5d74et372sb8l8z3pd7b6qp0 187133 187132 2026-09-06T03:08:35Z 魔琴 49316 // Edit via Wikiplus 187133 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = '註'; // 按实际情况修改 var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' }; var PORTLET_CANDIDATES = ['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#firstHeading')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}', '']; if (opts.needsReflist) lines.push('==参考资料==', '{{reflist}}'); if (opts.groups.length || opts.noteTag) { lines.push('', '==注释=='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return g !== NOTETAG_GROUP; }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); gxb99ofpxlz1doh4yjgss0asffbg54z 187134 187133 2026-09-06T03:10:13Z 魔琴 49316 [IPE-NEXT] Quick edit 187134 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = '注'; // 按实际情况修改 var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' }; var PORTLET_CANDIDATES = ['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#firstHeading')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}', '']; if (opts.groups.length || opts.noteTag) { lines.push('', '== 注释 =='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('== 参考资料 ==', '{{reflist}}'); lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return g !== NOTETAG_GROUP; }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); 7zdoh3yxvng8sxvu7e045eoa40ivhx6 187136 187134 2026-09-06T03:15:58Z 魔琴 49316 187136 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = ['注', '註']; var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' , '馬': '马克思主义哲学' }; var PORTLET_CANDIDATES = ['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#firstHeading')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}']; if (opts.groups.length || opts.noteTag) { lines.push('', '== 注释 =='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('== 参考资料 ==', '{{reflist}}'); lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return !NOTETAG_GROUP.includes(g); }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); dslxdstvkspvu2zbd23ytsr034wk9i8 187138 187136 2026-09-06T03:17:43Z 魔琴 49316 [IPE-NEXT] Quick edit 187138 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = ['注', '註']; var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' , '馬': '马克思主义哲学' }; var PORTLET_CANDIDATES = []//['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#firstHeading')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}']; if (opts.groups.length || opts.noteTag) { lines.push('', '== 注释 =='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('== 参考资料 ==', '{{reflist}}'); lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return !NOTETAG_GROUP.includes(g); }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); g8elg0bsf50s9ak48j41m7rb7swpjj9 187139 187138 2026-09-06T03:19:27Z 魔琴 49316 187139 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = ['注', '註']; var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' , '馬': '马克思主义哲学' }; var PORTLET_CANDIDATES = []//['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#bodyContent')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*nextpage\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}']; if (opts.groups.length || opts.noteTag) { lines.push('', '== 注释 =='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('== 参考资料 ==', '{{reflist}}'); lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return !NOTETAG_GROUP.includes(g); }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); d39hfhxiwt2phpel0iod97ouahpvzy3 187147 187139 2026-09-06T05:50:53Z 魔琴 49316 187147 javascript text/javascript /** * Claude Sonnet 5 Medium * MSCL 页眉页脚一键小工具(个人 common.js 用) * ------------------------------------------------------------ * 安装:整段粘贴进 Special:MyPage/common.js 保存。 * * 用法:打开任意条目的【阅读页】,页面操作菜单(更多/工具,具体 * 挂在哪个菜单取决于你们的皮肤)里会多出"MSCL 页眉页脚"。 * 点一下: * 1. 直接用 API 拉取当前 wikitext(不需要先进编辑页) * 2. 剥离旧页眉、定位旧页脚边界并截断 * 3. 把裸正文丢给解析器,读取 Cite 报错,决定要不要写 * ==参考资料==、要写哪些 group 的子章节 * 4. 弹出 wiki 原生样式的差异确认框 * 5. 确认后直接用 API 保存,刷新页面 * * 如果当前正好在编辑页(wpTextbox1 存在),则改用旧的 * "写回编辑框 + 点保存"方式,避免和你手头正在编辑的内容打架。 * * 需要核对的地方: * - NOTETAG_GROUP:{{NoteTag}} 内部实际用的 <ref group="?">, * 不改的话可能在 ==注释== 里重复生成一份多余的 reflist。 * - 按钮挂载点:不同皮肤(Vector 2022 / Vector 旧版 / 其他皮肤) * 的页面操作菜单 id 不一样,下面 PORTLET_CANDIDATES 列了几个 * 常见 id 依次尝试,如果一个都不命中,脚本会退化成在页面顶部 * 直接插一个按钮,保证至少能用。 */ (function () { 'use strict'; var NOTETAG_GROUP = ['注', '註']; var GROUP_TITLES = { 'U': 'Unicode', '马': '马克思主义哲学' , '馬': '马克思主义哲学' }; var PORTLET_CANDIDATES = []//['p-cactions', 'p-tb', 'p-views', 'p-associated-pages']; mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { $(function () { init(); }); }); function init() { var action = mw.config.get('wgAction'); if (action === 'edit' || action === 'submit') { var $ta = $('#wpTextbox1'); if ($ta.length) attachEditPageButton($ta); return; } if (mw.config.get('wgNamespaceNumber') < 0) return; // 特殊页面跳过 if (mw.config.get('wgIsProbablyEditable') === false) return; // 没权限就不显示 attachReadPageButton(); } // ---------- 按钮挂载 ---------- function attachReadPageButton() { var title = mw.config.get('wgPageName'); var link = null; for (var i = 0; i < PORTLET_CANDIDATES.length && !link; i++) { link = mw.util.addPortletLink( PORTLET_CANDIDATES[i], '#', 'MSCL 页眉页脚', 'ca-mscl-tool', '一键统一本页页眉页脚格式' ); } if (!link) { // 兜底:菜单都挂不上就直接在页面顶部塞一个按钮 link = $('<a>').attr('id', 'ca-mscl-tool').text('[MSCL 页眉页脚]') .css({ cursor: 'pointer', marginLeft: '8px' }) .prependTo('#bodyContent')[0]; } $(link).on('click', function (e) { e.preventDefault(); runFromReadPage(title, $(link)); }); } function attachEditPageButton($ta) { var $btn = $('<button>').attr('type', 'button').text('MSCL 页眉页脚') .css({ margin: '6px 0', padding: '4px 10px', cursor: 'pointer' }) .on('click', function () { runFromEditPage($ta); }); $ta.before($btn); } // ---------- 阅读页:拉取 -> 处理 -> 差异确认 -> 保存 ---------- function runFromReadPage(title, $trigger) { setBusy($trigger, true); fetchWikitext(title).then(function (rev) { return process(rev.text).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(rev.text, result.finalText).then(function (confirmed) { if (!confirmed) return; return save(title, result.finalText, rev.basetimestamp, rev.starttimestamp).then(function () { mw.notify('已保存 MSCL 页眉页脚格式。', { type: 'success' }); location.reload(); }); }); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); mw.notify('处理失败,详情见控制台。', { type: 'error' }); }).then(function () { setBusy($trigger, false); }); } function runFromEditPage($ta) { var original = $ta.textSelection ? $ta.textSelection('getContents') : $ta.val(); process(original).then(function (result) { return confirmMissingBoundary(result).then(function (ok) { if (!ok) return; return showDiffAndConfirm(original, result.finalText).then(function (confirmed) { if (!confirmed) return; if ($ta.textSelection) { $ta.textSelection('setContents', result.finalText); } else { $ta.val(result.finalText); } var $save = $('#wpSave'); if ($save.length) $save.trigger('click'); else window.alert('已写入编辑框,请手动点击保存按钮。'); }); }); }).catch(function (err) { console.error('[MSCL gadget]', err); window.alert('处理失败,详情见控制台。'); }); } function confirmMissingBoundary(result) { if (!result.warnMissingBoundary) return Promise.resolve(true); return Promise.resolve(window.confirm( '未发现 {{nextpage}} 或旧的 <noinclude> 页脚区块,新页脚会直接追加到文末。\n是否继续?' )); } function setBusy($trigger, busy) { if (!$trigger || !$trigger.length) return; $trigger.toggleClass('mscl-busy', busy); $trigger.css('opacity', busy ? 0.5 : 1); } // ---------- API ---------- function fetchWikitext(title) { var api = new mw.Api(); return api.get({ action: 'query', prop: 'revisions', titles: title, rvslots: 'main', rvprop: 'content|timestamp', formatversion: 2, curtimestamp: 1 }).then(function (res) { var page = res.query.pages[0]; if (!page || page.missing) throw new Error('页面不存在或无法读取: ' + title); var rev = page.revisions[0]; return { text: rev.slots.main.content, basetimestamp: rev.timestamp, starttimestamp: res.curtimestamp }; }); } function save(title, newText, basetimestamp, starttimestamp) { var api = new mw.Api(); return api.postWithEditToken({ action: 'edit', title: title, text: newText, summary: '(小工具)统一页眉页脚格式', basetimestamp: basetimestamp, starttimestamp: starttimestamp, format: 'json' }); } // ---------- 文本处理(与编辑页版本相同逻辑) ---------- function stripOldHeader(text) { var m = text.match(/^\s*<noinclude>[\s\S]*?<\/noinclude>\s*/); return m ? text.slice(m[0].length) : text.replace(/^\s+/, ''); } function findFooterBoundary(body) { var boundary = Infinity; var nextpage = body.match(/\{\{\s*(nextpage|MSCL\/footer)\b/i); if (nextpage) boundary = Math.min(boundary, nextpage.index); var noincl = body.match(/<noinclude>[\s\S]*?<\/noinclude>/i); if (noincl) boundary = Math.min(boundary, noincl.index); return boundary === Infinity ? -1 : boundary; } function buildFooter(opts) { var lines = ['<noinclude>{{MSCL/footer}}']; if (opts.groups.length || opts.noteTag) { lines.push('', '== 注释 =='); if (opts.noteTag) lines.push('{{NoteFoot}}'); opts.groups.forEach(function (g) { var t = GROUP_TITLES[g] || g; lines.push('', '===' + t + '===', '{{reflist|group=' + g + '}}'); }); } lines.push('== 参考资料 ==', '{{reflist}}'); lines.push('</noinclude>'); return lines.join('\n'); } function detectMissingReferences(bareContent) { var api = new mw.Api(); return api.post({ action: 'parse', text: bareContent, contentmodel: 'wikitext', prop: 'text', disablelimitreport: true }).then(function (res) { var html = res.parse.text['*']; var $doc = $('<div>').html(html); var missingGroups = []; var missingDefault = false; $doc.find('.mw-ext-cite-error, .error').each(function () { var t = $(this).text(); var m = t.match(/["'“”]([^"'“”]{1,30})["'“”]/); if (m) { if (missingGroups.indexOf(m[1]) === -1) missingGroups.push(m[1]); } else if (/ref|cite/i.test(t)) { missingDefault = true; } }); missingGroups = missingGroups.filter(function (g) { return !NOTETAG_GROUP.includes(g); }); return { missingGroups: missingGroups, missingDefault: missingDefault }; }); } function process(originalText) { var content = stripOldHeader(originalText); var boundary = findFooterBoundary(content); var warnMissingBoundary = boundary === -1; content = (boundary === -1 ? content : content.slice(0, boundary)).replace(/\s+$/, ''); var noteTag = /\{\{\s*NoteTag\b/i.test(content); return detectMissingReferences(content).then(function (info) { var footer = buildFooter({ needsReflist: info.missingDefault, groups: info.missingGroups, noteTag: noteTag }); var finalText = '<noinclude>{{MSCL/header}}</noinclude>\n' + content + '\n\n' + footer + '\n'; return { finalText: finalText, warnMissingBoundary: warnMissingBoundary }; }); } // ---------- 差异确认 ---------- function showDiffAndConfirm(oldText, newText) { var api = new mw.Api(); // diff 表格用的是 mediawiki.diff.styles 里的 class(table.diff / diff-otitle 等), // 阅读页默认不会加载这个模块,不手动拉一下的话样式会整个丢失。 var loadDiffStyles = mw.loader.using(['mediawiki.diff.styles']); var fetchDiff = api.post({ action: 'compare', fromtext: oldText, totext: newText, fromcontentmodel: 'wikitext', tocontentmodel: 'wikitext' }); return Promise.all([loadDiffStyles, fetchDiff]).then(function (results) { var res = results[1]; var diffHtml = res.compare['*']; return new Promise(function (resolve) { var $overlay = $('<div>').attr('id', 'mscl-diff-overlay').css({ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, background: 'rgba(0,0,0,.5)', zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center' }); var $box = $('<div>').css({ background: '#fff', maxWidth: '900px', width: '92%', maxHeight: '80vh', overflow: 'auto', padding: '16px 18px', borderRadius: '4px' }); $box.append($('<h3>').text('确认修改(MSCL 页眉页脚小工具)').css('marginTop', 0)); // res.compare['*'] 本身就是一个完整的 <table class="diff">…</table>, // 直接塞进普通容器就行,不要再包一层 <table>(会变成表格套表格)。 $box.append($('<div>').html(diffHtml)); var $confirm = $('<button>').text('确认并保存') .css({ marginTop: '12px', marginRight: '10px', padding: '4px 12px' }); var $cancel = $('<button>').text('取消').css({ marginTop: '12px', padding: '4px 12px' }); $box.append($('<div>').append($confirm, $cancel)); $overlay.append($box); $('body').append($overlay); $confirm.on('click', function () { $overlay.remove(); resolve(true); }); $cancel.on('click', function () { $overlay.remove(); resolve(false); }); }); }); } }()); 075ka90jxwnpgxa2yee8iil486330kw 现代标准汉语/语音/注音符号与汉语拼音 0 34895 187154 2026-09-06T05:54:49Z 魔琴 49316 创建页面,内容为“<noinclude>{{MSCL/header}}</noinclude> <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude>” 187154 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> kqedpyh5hsn025trbath1gry3g807lc 187155 187154 2026-09-06T05:55:34Z 魔琴 49316 https://zh.wikibooks.org/wiki/Special:PermaLink/187152 187155 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> == 注音符号 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 === 注音符号的声母 === 注音符号的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 |b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 |d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 |g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 |j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 |zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 |z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> === 注音符号弃用的声母 === 注音符号刚发布时,还包括三个声母: {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。 </small> 这三个字母由于汉语语音标准调整而弃用。{{NoteTag|「汉语概说」提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有ㄪ、ㄫ、ㄬ(v、ng、gn)三个声母,这三个声母符号因此废弃。}} 三个字母可以依次填入「聲母读音」表中的三个空位。 === 注音符号的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 === 注音符号的书写 === 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音 == 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 === 汉语拼音的字母 === 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> === 汉语拼音的声母 === 汉语拼音的声母与注音差异不大,详见[[#注音符号的声母|上文相应段落]]。 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 汉语拼音的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 === 汉语拼音的书写 === 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: '''一、隔音字母和隔音符号''' 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 '''二、省写''' * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 '''三、标声调''' 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 '''四、正词法''' 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 参考资料 == {{reflist}} </noinclude> csq2yhevw2x15gbqwu6doo4gt9xfcif 187156 187155 2026-09-06T05:55:55Z 魔琴 49316 (小工具)统一页眉页脚格式 187156 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> == 注音符号 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 === 注音符号的声母 === 注音符号的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 |b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 |d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 |g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 |j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 |zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 |z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> === 注音符号弃用的声母 === 注音符号刚发布时,还包括三个声母: {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。 </small> 这三个字母由于汉语语音标准调整而弃用。{{NoteTag|「汉语概说」提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有ㄪ、ㄫ、ㄬ(v、ng、gn)三个声母,这三个声母符号因此废弃。}} 三个字母可以依次填入「聲母读音」表中的三个空位。 === 注音符号的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 === 注音符号的书写 === 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音 == 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 === 汉语拼音的字母 === 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> === 汉语拼音的声母 === 汉语拼音的声母与注音差异不大,详见[[#注音符号的声母|上文相应段落]]。 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 汉语拼音的韵母 === 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 === 汉语拼音的书写 === 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: '''一、隔音字母和隔音符号''' 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 '''二、省写''' * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 '''三、标声调''' 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 '''四、正词法''' 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 2i7n3h2s9i6zif9uu07zux9cau4h86b 187157 187156 2026-09-06T06:00:28Z 魔琴 49316 187157 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 |b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 |d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 |g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 |j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 |zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 |z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母: {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。 </small> 这三个字母由于汉语语音标准调整而弃用。{{NoteTag|「汉语概说」提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有ㄪ、ㄫ、ㄬ(v、ng、gn)三个声母,这三个声母符号因此废弃。}} 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 7fropteios1objoob919ievrn4u69wz 187158 187157 2026-09-06T06:01:18Z 魔琴 49316 /* 声母 */ // Edit via Wikiplus 187158 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母: {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。 </small> 这三个字母由于汉语语音标准调整而弃用。{{NoteTag|「汉语概说」提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有ㄪ、ㄫ、ㄬ(v、ng、gn)三个声母,这三个声母符号因此废弃。}} 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> o1i15jybtebs19pk94l8hwsrjw2po0y 187159 187158 2026-09-06T06:03:19Z 魔琴 49316 /* 声母 */ // Edit via Wikiplus 187159 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母可以按以下方式读出。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v」、「ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> odnyypmmwnk0787mu5eljnsan130kyi 187160 187159 2026-09-06T06:05:21Z 魔琴 49316 187160 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 《方案》规定,为了使拼式简短,zh、ch、sh可以省作ẑ、ĉ、ŝ。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v」、「ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> lslltgnrgbmydzxkxeuo82ioaa2vud0 187161 187160 2026-09-06T06:06:48Z 魔琴 49316 /* 声母 */ // Edit via Wikiplus 187161 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v、ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。需要注意: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。 《方案》规定,为了使拼式简短,ng可以省作ŋ。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> n1wsrayqrjdzghhmqbcfq0bnwuhechc 187163 187161 2026-09-06T06:10:24Z 魔琴 49316 /* 韵母 */ // Edit via Wikiplus 187163 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v、ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> gr376po8ly2bp7kkhfzou6lzhrt48lr 187164 187163 2026-09-06T06:17:46Z 魔琴 49316 /* 汉语拼音的字母 */ // Edit via Wikiplus 187164 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v、ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> 需要分清「名称音」、「呼读音」这两个概念。 * '''名称音'''是字母的名字,比如:我写下了一个「Q」和一个「Y」,这里用名称音。 * 声母的'''呼读音'''是用来称说声母自己的,比如「请」的声母是「q」,这里用呼读音。 == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 39nxhtbctcjtmtwgut0hrp8cw9h3yqt 187165 187164 2026-09-06T06:18:49Z 魔琴 49316 /* 声母 */ // Edit via Wikiplus 187165 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 因为声母都是辅音,单独的辅音不好发音,也听不清楚,所以我们在称说声母的时候,需要在声母后面加一个元音。在汉语拼音教学中,这个读音叫作「呼读音」。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注: # 「呼读音」是汉语拼音的说法。 # ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,也有些情况下会把「v、ng」当作汉语拼音使用。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> 需要分清「名称音」、「呼读音」这两个概念。 * '''名称音'''是字母的名字,比如:我写下了一个「Q」和一个「Y」,这里用名称音。 * 声母的'''呼读音'''是用来称说声母自己的,比如「请」的声母是「q」,这里用呼读音。 == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> myzczr6qsc6dz0nskvsm076oc4tqp3d 187166 187165 2026-09-06T06:22:59Z 魔琴 49316 /* 声母 */ // Edit via Wikiplus 187166 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 因为声母都是辅音,单独的辅音不好发音,也听不清楚,所以我们在称说声母的时候,需要在声母后面加一个元音。在汉语拼音教学中,这个读音叫作「呼读音」。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注:ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母,这三个字母由于汉语语音标准调整而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}} {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。汉语拼音没有规定这三个声母的转写,因为汉语拼音制定时三个声母已经弃用。然而,有些人也会把「v、ng」当作汉语拼音使用:黄伯荣、廖序东版《现代汉语》的对照表中,「ㄪ、ㄫ」就分别对应汉语拼音的「v、ng」,而「ㄬ」的汉语拼音则只画了一道斜线。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> 需要分清「名称音」、「呼读音」这两个概念。 * '''名称音'''是字母的名字,比如:我写下了一个「Q」和一个「Y」,这里用名称音。 * 声母的'''呼读音'''是用来称说声母自己的,比如「请」的声母是「q」,这里用呼读音。 == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> bkby40t7sm38x97jbx36wpc3gnxf11q 187167 187166 2026-09-06T06:24:39Z 魔琴 49316 /* 弃用的声母 */ // Edit via Wikiplus 187167 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 因为声母都是辅音,单独的辅音不好发音,也听不清楚,所以我们在称说声母的时候,需要在声母后面加一个元音。在汉语拼音教学中,这个读音叫作「呼读音」。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注:ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母。后来,汉语语音标准调整,这三个注音符号因而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}}汉语拼音没有规定这三个声母的表示方式,因为《方案》制定时三个声母早已弃用。 {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。 # 虽然汉语拼音方案并没有规定,但有些人也会把「v、ng」当作汉语拼音使用:黄伯荣、廖序东版《现代汉语》的对照表中,「ㄪ、ㄫ」就分别对应汉语拼音的「v、ng」,而「ㄬ」的汉语拼音则只画了一道斜线。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> 需要分清「名称音」、「呼读音」这两个概念。 * '''名称音'''是字母的名字,比如:我写下了一个「Q」和一个「Y」,这里用名称音。 * 声母的'''呼读音'''是用来称说声母自己的,比如「请」的声母是「q」,这里用呼读音。 == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> krnoq99nn2zrov4me43xs694kp0e3k9 187168 187167 2026-09-06T06:26:08Z 魔琴 49316 (小工具)统一页眉页脚格式 187168 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 学习了音节的结构之后,就可以正式学习注音符号和汉语拼音这两个注音方案了。 == 方案简述 == 注音符号由中华民国教育部制定于1912年,1918年正式发布,后历经修改,成为现今的标准。 汉语拼音由中华人民共和国制定。1956年,中国文字改革委员会编制《汉语拼音方案》(下称《方案》)初稿,1958年由中华人民共和国全国人民代表大会批准推行。 == 声母 == 注音符号和汉语拼音的声母能够一一对应,详见「[[现代标准汉语/语音/声母|声母]]」章节。这里主要介绍一下各个声母的读音。 因为声母都是辅音,单独的辅音不好发音,也听不清楚,所以我们在称说声母的时候,需要在声母后面加一个元音。在汉语拼音教学中,这个读音叫作「呼读音」。 {|class=wikitable style="text-align:center" |+聲母读音 |- !rowspan=4|双脣<br>脣齿 !注音 !width=40|ㄅ||width=40|ㄆ||width=40|ㄇ||width=40|ㄈ||width=40| |- !拼音 !b||p||m||f|| |- !rowspan = 2 |读音<br>{{nowrap|{{small|(呼读音)}}}} |ㄅㄛ||ㄆㄛ||ㄇㄛ||ㄈㄛ|| |- |bo||po||mo||fo|| |- !rowspan=4|齿龈 !注音 !ㄉ||ㄊ||ㄋ||ㄌ||rowspan=4 {{N/A|—}} |- !拼音 !d||t||n||l |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄉㄜ||ㄊㄜ||ㄋㄜ||ㄌㄜ |- |de||te||ne||le |- !rowspan=4|软腭 !注音 !ㄍ||ㄎ|| ||ㄏ||rowspan=4 {{N/A|—}} |- !拼音 !g||k|| ||h |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄍㄜ||ㄎㄜ|| ||ㄏㄜ |- |ge||ke|| ||he |- !rowspan=4|龈腭 !注音 !ㄐ||ㄑ|| ||ㄒ||rowspan=4 {{N/A|—}} |- !拼音 !j||q|| ||x |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄐㄧ||ㄑㄧ|| ||ㄒㄧ |- |ji||qi|| ||xi |- !rowspan=4|捲舌 !注音 !ㄓ||ㄔ||ㄕ||ㄖ||rowspan=4 {{N/A|—}} |- !拼音 !zh||ch||sh||r |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |{{nowrap|ㄓ(ㄭ)}}||{{nowrap|ㄔ(ㄭ)}}||{{nowrap|ㄕ(ㄭ)}}||{{nowrap|ㄖ(ㄭ)}} |- |zhi||chi||shi||ri |- !rowspan=4|齿 !注音 !ㄗ||ㄘ||ㄙ||rowspan=4 colspan=2 {{N/A|—}} |- !拼音 !z||c||s |- !rowspan = 2 |读音<br>{{small|(呼读音)}} |ㄗ(ㄭ)||ㄘ(ㄭ)||ㄙ(ㄭ) |- |zi||ci||si |} <small>注:ㄅ、ㄆ、ㄇ、ㄈ(b、p、m、f)的读音,传统也与ㄜ(拼音e)相拼,即ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(拼音可记作be、pe、me、fe)。两种读音均可,但因除了me ㄇㄜ外均不符现代汉语音系,此处不取此说。汉语拼音的呼读音则不用ㄅㄜ、ㄆㄜ、ㄇㄜ、ㄈㄜ(be、pe、me、fe),均用ㄅㄛ、ㄆㄛ、ㄇㄛ、ㄈㄛ(bo、po、mo、fo)。 </small> 根据《方案》的规定,为了使拼式简短,汉语拼音的「zh、ch、sh」可以省作「ẑ、ĉ、ŝ」。但如此省简实际罕用。 === 弃用的声母 === 注音符号刚发布时,还包括三个声母。后来,汉语语音标准调整,这三个注音符号因而弃用。{{NoteTag|绪论中提到,1913年,中华民国读音统一会制定的语音标准叫「老国音」;20世纪20年代,老国音废除,改用北京语音(新国音)。与老国音相比,新国音没有下列三个声母,这三个声母符号因此废弃。}}汉语拼音没有规定这三个声母的表示方式,因为《方案》制定时三个声母早已弃用。 {|class=wikitable style="text-align:center" |+ 注音符号弃用的三个声母 |- !注音!!图片!!IPA!!转写 |- |ㄪ||[[Image:bpmf-v.svg|20px]]||{{IPA|v}}||v |- |ㄫ||[[Image:bpmf-ng.svg|20px]]||{{IPA|ŋ}}||ng |- |ㄬ||[[Image:bpmf-gn.svg|20px]]||{{IPA|n̠ʲ}}||gn |} <small> 注: # 「gn」的IPA,汉语言学界也用符号[{{IPA|ȵ}}],但未獲國際學會接受。也有人径作[{{IPA|ɲ}}]。 # 罗马转写指[[:w:国语罗马字|国语罗马字]]和[[:w:威妥玛拼音|威妥玛拼音]],二者在这三个声母的转写上相同。 # 虽然汉语拼音方案并没有规定,但有些人也会把「v、ng」当作汉语拼音使用:黄伯荣、廖序东版《现代汉语》的对照表中,「ㄪ、ㄫ」就分别对应汉语拼音的「v、ng」,而「ㄬ」的汉语拼音则只画了一道斜线。 </small> 三个字母可以依次填入「聲母读音」表中的三个空位。 == 韵母 == 韵母列表见先前的「[[现代标准汉语/语音/韵母|韵母]]」一节。 注音符号需要注意的是: * 韵母「ㄭ」不写出。 * 韵母「ㄧ」,直排作一横,横排作一竖。由于台湾长期直排,台湾初等教育领域不论排列方向均作一横。惟台湾的横排文献(如《国语一字多音审定表》)也有刻意改作一竖的。<ref group=U>受台湾用法的影响,Unicode将一横定作字形范例,一竖定作历史形式。</ref> 汉语拼音需要注意的是: * 韵母「ㄭ」都需要写出(写成「i」)。 *《方案》规定,为了使拼式简短,「ng」可以省作「ŋ」。但如此省简实际罕用。 == 汉语拼音的字母 == 汉语拼音采用26个拉丁字母。《方案》规定了这些字母的「名称音」,即字母本身的读音,而非字母的发音。不过现在称名称音者较为少见。 {| class=wikitable style="text-align: center" |+ 汉语拼音字母表<ref>[[:s:汉语拼音方案|汉语拼音方案]]</ref><ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 310.</ref> |- ! 字母 || width=50| A a || width=50| B b || width=50| C c || width=50| D d || width=50| E e || width=50| F f || width=50| G g |- ! rowspan=2| 名称音 | ㄚ || {{nowrap|ㄅㄝ}} || ㄘㄝ ||{{nowrap| ㄉㄝ }} || ㄜ || ㄝㄈ || ㄍㄝ |- | a || bê || cê || dê || e || êf || gê |- ! 字母 || H h || I i || J j || K k || L l || {{nowrap|M m}} || N n |- ! rowspan=2| 名称音 | {{nowrap|ㄏㄚ}} || ㄧ || ㄐㄧㄝ || ㄎㄝ || {{nowrap|ㄝㄌ}} || {{nowrap|ㄝㄇ}} || {{nowrap|ㄋㄝ}} |- | ha || i || jie || kê || êl || êm || nê |- ! 字母 || O o || P p || Q q || R r || S s || T t || |- ! rowspan=2| 名称音 | ㄛ || ㄆㄝ || {{nowrap|ㄑㄧㄡ}} || ㄚㄦ || ㄝㄙ || ㄊㄝ || |- | o || pê || qiu || ar || ês || tê |- ! 字母 || U u || V v || W w || X x || Y y || Z z || |- ! rowspan=2| 名称音 | ㄨ || ㄪㄝ || ㄨㄚ || ㄒㄧ || ㄧㄚ || ㄗㄝ || |- | u || vê || wa || xi || ya || zê || |} <small> 注: # 《方案》原文只用注音符号注名称音。汉语拼音表记据周有光《字母名称和拼音教学》补。 # 《方案》规定,v只用来拼写“外来語、少数民族語言和方言”。 # 《方案》规定,字母的书写“依照拉丁字母的一般書写習慣”。实际书写时a、g一般作单层。 # 二合字母zh、ch、sh、ng没有名称音,不过也可以<ref>周有光. 周有光文集 第十四卷[M]. 中央编译出版社, 2013, p. 309.</ref>读作zhi/ㄓ、chi/ㄔ、shi/ㄕ、nge/ㄫㄜ。(據周有光《字母名称和拼音教学》) </small> 需要分清「名称音」、「呼读音」这两个概念。 * '''名称音'''是字母的名字,比如:我写下了一个「Q」和一个「Y」,这里用名称音。 * 声母的'''呼读音'''是用来称说声母自己的,比如「请」的声母是「q」,这里用呼读音。 == 注音符号的书写 == 注音符号书写时,声母在前,韵母紧跟在后,韵母后标注声调。 声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示,这四种'''调号'''标在韵母右上角。 {| class=wikitable style="text-align:center" |- !名稱!!陰平聲!!陽平聲!!上聲!!去聲 |- !调号 |<span style="font-size:150%;">ˉ</span>||<span style="font-size:150%;">ˊ</span>||<span style="font-size:150%;">ˇ</span> |<span style="font-size:150%;">ˋ</span> |} * 阴平调(ˉ)一般省略不标示。 * 轻声用一个点表示,在直排文本标在整个音节上方,横排则标在整个音节前方。 书写多个音节时,两个音节中加空格。 == 汉语拼音的书写 == 汉语拼音书写时,声母在前,韵母紧跟在后,声调标在某个字母的上方。汉语拼音还有一些拼写规定,具体如下: ===隔音字母和隔音符号=== 汉语拼音规定了隔音符号和隔音字母,以避免音节界限发生混淆。 在零声母音节中,i、u、ü开头的韵母要按以下方式改写: * i开头的韵母 ** 若i是介音,将i改为y,如ia→ya。 ** 若i是韵腹,在i前加y,如in→yin。 * u开头的韵母 ** 若u是介音,将u改为w,如uo→wo。 ** 若u是韵腹,在u前加w,只有u→wu。 * ü开头的韵母:把ü改为yu。 隔音符号:《方案》规定,以a、o、e开头的音节,当<sup>(1)</sup>它连接在其它音节后面,且<sup>(2)</sup>音节界限发生混淆时,该音节前面加符号-{「}-'-{」}-。如fān'àn(翻案)和fānàn(发难)。然而这个规则(2)仍有争议。即使不符合规则(2),也可以加(部分学者认为应该加<ref>(林曦 1955)《汉语拼音基础知识》林曦著 第35页</ref><ref>(周有光 1961)出处未知,见 https://www.zhihu.com/question/19866763/answer/21347450</ref>,且现实中一般都加)隔音符号,如bēi'āi(悲哀)、jiāo'ào(骄傲)。 ===省写=== * '''iou'''、'''uei'''、'''uen'''前加声母时省作iu、ui、un。 * '''ü省略两点''':ü仅在声母为l、u的音节中写作ü,与其它声母拼写时(j、q、x作声母时,以及零声母时隔音字母y后)均省略两点变为u。 ===标声调=== 与注音符号相同,声调符号用先前「[[现代标准汉语/语音/声调|声调]]」一章提到的四种符号表示。但不同的是,调号标在某一个字母上(注意,i需要把点抹去再标调号,但ü不用): # 标在韵腹上。 # iu、ui、un三个韵母简省了韵腹,此时分别标在u、i、u上。 <div style="font-size:87%;background-color:#def;padding:10px 1em;border:1px solid #999;margin:1em"> 在教学中,也常用这两个规则来替代: # 按照a、o、e、i、u、ü的顺序。先找a,有a者,标a上;没有,找o、e;没有,找i、u、ü。 # i、u并列,标在后。 </div> 与注音符号不同,汉语拼音的阴平(ˉ)不能省略,而轻声不标注。部分辞书标注轻声时,在音节前加点「·」。 ===正词法=== 汉语拼音原是为了用拉丁字母书写汉字,规定有正词法。但是现在只是用作注音工具,正词法一般不需要过多关注。 正词法的规则: * 同一个词连写,词与词一般分写,中间加空格。如:jiànshè zǔguó 建设祖国。 * 句子或诗行开头、专有词开头、专有短语的每个词的开头,首字母大写。如:Zhōnghuá Mínguó 中华民国。 * 标题的字母可以全部大写,可以每个词首字母大写。 <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} ===Unicode=== {{reflist|group=U}} == 参考资料 == {{reflist}} </noinclude> ohm33dum73rvq3z7kpwlywhobgjajy3 现代标准汉语/语音/声、韵、调的拼合 0 34896 187169 2026-09-06T07:32:27Z 魔琴 49316 创建页面,内容为“接下来,我们就可以学习如何将声母、韵母、声调组合成一个完整的音节了。 == 拼音 == == 拼合规律 == 声母、韵母、声调并不能无节制地配合,一些声母和韵母无法相拼,一些声韵组合只存在少数几个声调。 现代汉语的完整音节表可以查看'''[[现代标准汉语/附录/音节表|附录《音节表》]]'''{{NoteTag|虽称「完整音节表」,但是本表不考虑轻声、儿化…” 187169 wikitext text/x-wiki 接下来,我们就可以学习如何将声母、韵母、声调组合成一个完整的音节了。 == 拼音 == == 拼合规律 == 声母、韵母、声调并不能无节制地配合,一些声母和韵母无法相拼,一些声韵组合只存在少数几个声调。 现代汉语的完整音节表可以查看'''[[现代标准汉语/附录/音节表|附录《音节表》]]'''{{NoteTag|虽称「完整音节表」,但是本表不考虑轻声、儿化。}}。如果你想查询声母、韵母的配合表(即不考虑声调),可以查看'''[[现代标准汉语/附录/基本音节表|附录《基本音节表》]]'''。(汉语中仅存在于口语的声音并不列入上述附录,请查阅'''[[现代标准汉语/附录/边缘音系|附录《边缘音系》]]'''。) 接下来简单归纳总结一下标准汉语中的声、韵、调的拼合规律。 == 「整体认读音节」 == jnp82jkfxidif81zar7vrjz2qu8t8pj 187171 187169 2026-09-06T07:32:43Z 魔琴 49316 (小工具)统一页眉页脚格式 187171 wikitext text/x-wiki <noinclude>{{MSCL/header}}</noinclude> 接下来,我们就可以学习如何将声母、韵母、声调组合成一个完整的音节了。 == 拼音 == == 拼合规律 == 声母、韵母、声调并不能无节制地配合,一些声母和韵母无法相拼,一些声韵组合只存在少数几个声调。 现代汉语的完整音节表可以查看'''[[现代标准汉语/附录/音节表|附录《音节表》]]'''{{NoteTag|虽称「完整音节表」,但是本表不考虑轻声、儿化。}}。如果你想查询声母、韵母的配合表(即不考虑声调),可以查看'''[[现代标准汉语/附录/基本音节表|附录《基本音节表》]]'''。(汉语中仅存在于口语的声音并不列入上述附录,请查阅'''[[现代标准汉语/附录/边缘音系|附录《边缘音系》]]'''。) 接下来简单归纳总结一下标准汉语中的声、韵、调的拼合规律。 == 「整体认读音节」 == <noinclude>{{MSCL/footer}} == 注释 == {{NoteFoot}} == 参考资料 == {{reflist}} </noinclude> 48xjmsi9m8meecdd612p0jh4fd5a5gi 食譜/客家小炒 0 34897 187172 2026-09-06T09:21:18Z Tisscherry 69132 187172 wikitext text/x-wiki '''客家小炒'''是閩粵的客家人餐桌上常見的菜色之一,主要材料有五花肉、豆干、魷魚、芹菜、青蔥、大辣椒和蒜頭,調味料為醬油膏、米酒、鹽、砂糖、白胡椒等。所有的材料都切成等大小,蒜頭辣椒切片,熱油鍋後先下五花肉,中火煸香出油慢炒至變色,再下豆乾及魷魚,翻炒至均勻全體呈現焦糖(褐)色後,再將剩餘的料順序放入拌勻即可起鍋。 == 參考 == *[https://hakkanews.tw/2025/02/02/175837/ 經典不敗:《客新聞》記者手把手 教做客家小炒] == 外部連結 == *[[w:客家小炒#|維基百科《客家小炒》條目]] [[Category:客家菜]] [[Category:食譜]] a8fhj6vlo5cxxw994j9rgghnvn38hdd User:Tisscherry 2 34898 187173 2026-09-06T09:22:07Z Tisscherry 69132 创建页面,内容为“{{userpage}}” 187173 wikitext text/x-wiki {{userpage}} le89px4pl3i0q9vswvi3mhma3xdqrtw Category:客家菜 14 34899 187174 2026-09-06T09:25:14Z Tisscherry 69132 187174 wikitext text/x-wiki [[Category:食谱|客家菜]] exl19sqrir4tlmv5bowo9p9nxltfxwc Wikijunior:自我保护/目录/責任意识 110 34900 187179 2026-09-06T11:14:10Z Tisscherry 69132 https://mcc.gse.harvard.edu 187179 wikitext text/x-wiki 責任意識(責任感)並非天生,是需要經過後天的鍛鍊。培養孩子的責任意識,核心在於家長的「放手」,讓孩子從被動提醒轉為自我管理。哈佛大學的Making Caring Common研究也指出,過度體貼、凡事代勞的家長,往往容易養出「責任感失能」的孩子。 責任意識的鍛鍊與培養,可以從5個重點切入: *「關懷」排在「成就」前面(Make caring for others a priority) *「家務」是「日常」不是獎勵(Practice caring and gratitude) *放手讓孩子體驗「自然後果」(Zoom in and zoom out) *讚美「可靠」,而非僅僅是「結果」(Be a strong moral role model and mentor) *先處理內在情緒,才能負責任地決定(Guide children in managing destructive feelings) jygpcvv7bi3uyl85hrxlle6i9gfhc2s 187183 187179 2026-09-06T11:42:03Z Tisscherry 69132 187183 wikitext text/x-wiki 責任意識(責任感)並非天生,是需要經過後天的鍛鍊。培養孩子的責任意識,核心在於家長的「放手」,讓孩子從被動提醒轉為自我管理。哈佛大學的Making Caring Common研究也指出,過度體貼、凡事代勞的家長,往往容易養出「責任感失能」的孩子。 責任意識的鍛鍊與培養,可以從5個重點切入: *「關懷」排在「成就」前面(Make caring for others a priority) *「家務」是「日常」不是獎勵(Practice caring and gratitude) *放手讓孩子體驗「自然後果」(Zoom in and zoom out) *讚美「可靠」,而非僅僅是「結果」(Be a strong moral role model and mentor) *先處理內在情緒,才能負責任地決定(Guide children in managing destructive feelings) == 外部連結 == *[https://mcc.gse.harvard.edu Making Caring Common]-Harvard Graduate School of Education mpytg77fe04t1vm2q0vke2qh6fp6y9o