Closed northword closed 1 year ago
描述
@zepinglee 李同学好,
打扰了,我想咨询一个与 CSL 有关的问题:
有用户反馈说部分样式要求标题以双引号包裹,那么标题里的引号就需要替换为单引号;书名号同理。
直觉告诉我这一替换应由 CSL 完成,但我在 CSL 规范里没有找到相关描述,Quotes 引号,我想咨询这种是需要用户自己将标题里的双引号替换为单引号吗?
感谢!
相关议题
大佬你好,这个问题我在这里问过了的,是不能的,抱歉我应该在上一问题之中引用以下链接(/ω\)。详情参见https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/issues/202
@yzy1228682367 收到,谢谢!
直觉告诉我这一替换应由 CSL 完成,但我在 CSL 规范里没有找到相关描述,Quotes 引号
Spec 里确实没提到,但是 test-suite 中 flipflop_*
中有相当一部分是关于自动转换引号的。
我想咨询这种是需要用户自己将标题里的双引号替换为单引号吗?
不需要。
结合 #202 ,也就是 CSL 可以正常处理引号 ""
-> ''
和 “”
-> ‘’
,但是不能处理书名号《》
-> <>
,是这样子嘛?
解决了,是我在测试的时候没有把引号两边加空格,所以一直没试出来:
感谢!
结合 #202 ,也就是 CSL 可以正常处理引号
""
->''
和“”
->‘’
CSL 输出的引号是按照 locale 的设置,不是固定的映射关系。这是因为引号在不同语言的使用习惯差异很大,见 https://en.wikipedia.org/wiki/Quotation_mark#Summary_table。
但是不能处理书名号
《》
-><>
,是这样子嘛?
总的来说不能。书名号比较特殊,据我了解只有中韩语言有这种用法。它相当于独立于引号的一套规则,但是 CSL 只有引号这一种 flip-flop 的方式。有一种方法是在 locale 中将 open-quote
, close-quote
改为书名号,但是这样会将引号错误地转为书名号。比如标题输入为 “北斗一号”监控管理网设计与实现
,在加了书名号后输出为 《〈北斗一号〉监控管理网设计与实现》
。所以这种方式并不可行。
解决了,是我在测试的时候没有把引号两边加空格,所以一直没试出来:
中文的引号在 Unicode 编码上无法与西文引号区分,一般使用中文的字体显示为全角形式,所以不宜加空格。
这里的问题在于,CSL 是按照西文的习惯判断直引号是开启还是结束,比如前后是否有空格等。这主要是由于西文的右引号跟撇号(比如 don't
表示缩写)在有歧义。但这一逻辑不适用于中文。所以中文标题应使用弯引号。
测试中就存在引号被错误地转为书名号的问题。
这主要是因为官方 locale 中将 open-quote
设成了书名号。
<term name="open-quote">《</term>
<term name="close-quote">》</term>
<term name="open-inner-quote">〈</term>
<term name="close-inner-quote">〉</term>
我查了一下 commit 记录,是某不熟悉大陆标点用法的台湾人提交的。
我也尝试过在 CSL 样式中将 open-quote 和 close-quote 设置为书名号,但是会将正常的引号转为书名号。
我觉得可以在插件中实现转换单双书名号的转行,不妨在给插件(比如茉莉花)作者提 feature request。
有一点儿复杂,希望我理解的没有太大的偏差:
也就是如果插件实现的话,如果主要考虑中文和英文两种语言环境,只需要实现中文引号 “ ”
<-> ‘ ’
和中文书名号 《 》
<-> 〈 〉
的转换,英文的引号不要动是比较安全的,是这样嘛?
还是说这种替换最好根据 language 来,仅在 zh 时进行替换,en 不用管?
我也尝试过在 CSL 样式中将 open-quote 和 close-quote 设置为书名号,但是会将正常的引号转为书名号。 我觉得可以在插件中实现转换单双书名号的转行,不妨在给插件(比如茉莉花)作者提 feature request。
有一点儿复杂,希望我理解的没有太大的偏差:
也就是如果插件实现的话,如果主要考虑中文和英文两种语言环境,只需要实现中文引号
“ ”
<->‘ ’
和中文书名号《 》
<->〈 〉
的转换,英文的引号不要动是比较安全的,是这样嘛?还是说这种替换最好根据 language 来,仅在 zh 时进行替换,en 不用管?
只需要转换中文的书名号即可,引号不需要改。
只需要转换中文的书名号即可,引号不需要改。
收到,非常感谢!
明白!感谢两位大佬❤️
描述
@zepinglee 李同学好,
打扰了,我想咨询一个与 CSL 有关的问题:
有用户反馈说部分样式要求标题以双引号包裹,那么标题里的引号就需要替换为单引号;书名号同理。
直觉告诉我这一替换应由 CSL 完成,但我在 CSL 规范里没有找到相关描述,Quotes 引号,我想咨询这种是需要用户自己将标题里的双引号替换为单引号吗?
感谢!
相关议题
https://github.com/northword/zotero-format-metadata/issues/72