模板讨论:RefTag

Cdip150在话题“关于换用模板”中的最新留言:2年前

显示错误

内文中显示为“null”而不是应有的“注1”、“注2”…或“a”、“b”…。——忱鸾留言? 2012年9月23日 (日) 04:56 (UTC)回复

希望能增加分栏功能

REFTAG功能很好用,尤其是和notetag搭配使用,这应该很常用,但是没有分栏功能会让实用性降低啊。感觉宁可notetag和reflist混合使用的时候居多东篱采薇·芋用留言2013年6月7日 (五) 04:27 (UTC)回复

请移除空格

  请求已拒绝——Artoria2e5 更改·工具 2016年5月25日 (三) 01:04 (UTC)回复

根据Wikipedia:格式手册#空格,应该将:

[参 1][参 2]

改为:

[参1][参2]

--Quest for Truth留言2016年5月16日 (一) 13:38 (UTC)回复

另外,{{NoteTag}}也应该如是修改,谢谢!--Quest for Truth留言2016年5月16日 (一) 13:39 (UTC)回复

请移除RefTag和NoteTag的空格

我在模板讨论:RefTag#请移除空格提出请求,但是User:Artoria2e5指出这是一个深层次的技术问题,建议我在这里提出。--Quest for Truth留言2016年5月20日 (五) 21:31 (UTC)回复

bugzilla:53794。--Jimmy Xu 2016年5月20日 (五) 22:43 (UTC)回复
Workaround Custom Script:
$('sup.reference[id^="cite_ref"] > a:only-child').filter(function(idx, a) {
  // 有且仅有一个文字或注释节点
  if (a.childNodes.length == 1 && a.childNodes.length == 1)
    // 仅取匹配的节点,且必须为文字
    if (a.childNodes[0].nodeName == '#text' && !!(a.childNodes[0].nodeValue.match(/^\[/))) // 还是检查一下方括号吧……
      return true;
  return false;
}).each(function (idx, a) {
  var topSpan = a.parentNode.parentNode; // a -> sup -> span
  var txt = a.childNodes[0];
  txt.nodeValue = txt.nodeValue.replace(/([參参註注])\ /g, function($0, $1){ return $1; });
});
--Artoria2e5 更改·工具 2016年5月21日 (六) 00:25 (UTC) @Quest for Truth回复
谢谢!我先前以为“参”和“注”是给模板写死,不能自定其他字眼。看了你的编码后,我想其实侦测的方法,可否反过来:若是英文字母a-z才有空格,否则没有空格?
问得漂亮(我刚刚还以为可以偷懒呢哈哈哈)。replace那行换成
txt.nodeValue = txt.nodeValue.replace(/([^[:alnum:]_])\ ([[:alnum:]]+)$/g, function($0, $1){ return $1 + $2; });
如果想要直接匹配所有汉字的话,可以参考MediaWiki:Gadget-Wordcount.js,把[參参註注]换成[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FCC\uF900-\uFA6D\uFA70-\uFAD9]|[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]。--Artoria2e5 更改·工具 2016年5月21日 (六) 00:43 (UTC)回复
  佩服,请问@Jimmy Xu:觉得Artoria2e5的代码能不能用?--Quest for Truth留言2016年5月21日 (六) 16:24 (UTC)回复
我很清楚“Jimmy很清楚‘这玩意作为狗皮膏药不该全域使用’这件事情”这件事情。--Artoria2e5 更改·工具 2016年5月26日 (四) 15:21 (UTC)回复

参考文献模板的问题

我注意到Special:diff/71137021Special:diff/71122105的两笔修改。经过查找之后发现在{{}}{{}}加入了辨认模板空间的功能但是事前也不见在客栈讨论,而且是属于会影响模板实际显示的功能,似乎是没有必要的操作。首当其冲的问题就是目前在有些地方使用的时候会出现错误,就像是Template:Reflist就出现了不必要的错误,而且{{}}看来在不少模板上都有使用,也和{{}}理应作参考来源不同,应无问题,不知何故。Ghren🐦🕒—以上未加入日期时间的留言是于2022年4月18日 (一) 00:14 (UTC)之前加入的。回复

@Cdip150。—— Eric Liu 創造は生命(留言留名学生会 2022年4月19日 (二) 12:31 (UTC)回复
如果您有留意到我在修部分朝代君主条目的时候其实就已经发现,当直接在模板使用refTag时,引用的条目被迫要分组,即使被引用的条目只有参考而没有注释的也变了要分组,大大降低了相容性,而且如果所引的条目不是以“参”和“注”作参考和注释(例如使用refn和efn系列),也要额外在条目加refFoot和noteFoot,注脚顿时变成了注数不连贯的列表(),故有此修订,让条目以参数的形式决定要用哪一个分组模板,而不是在模板里直接把refTag和noteTag写死。目前已知的影响只有Template:Reflist/doc一个,但已经修正;此外所有有被条目引用的模板并未发现显示有异常(由于只对模板显示作出了限制,故理论上并没有对条目页面构成异常显示)。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月19日 (二) 12:54 (UTC)回复
emmm...你的贡献都是在DYKC所以我只是找你修改了什么模板呢。依我看来这不是合理的修定理由呢,因为实际上你应该是去鼓励大家去使用{{{{{reftem|refn}}}|1=}}的语法,而不是直接用{{}}{{}}将其写死。直接修改不能起到要求编者不去写死的作用。如果我不清楚这个问题的话,我只是会用{{#tag:ref|name=參|1=}}来解决这个问题而已。这个问题本质上和{{}}{{}}两个模板性质无关,而是所有参考模板都有这个问题。这样修改之后,即使是在模板上使用了“参”“注”,在条目上显示也是正常的,依然不能解决分组的问题。你所谈的问题和refTag与noteTag本身无关系。--Ghren🐦🕐 2022年4月21日 (四) 05:20 (UTC)回复
我认为有关,因为往后不会再有人直接在模板写死refTag,虽然暂时不能完全解决所有分组问题,但是日后要集中处理所有模板分组问题时,refTag可以不用再理了,只须理会写死了{{#tag:ref|group=xxx}}的问题。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月21日 (四) 05:46 (UTC)回复
你这样想我认为是本果为因了。我遇到这个问题最多也是直接{{efn}}解决而已,你相当于将路封死而避免问题出现。我不清楚你有没有将这写法{{RefTag}}写到其他模板去,但是如果你是这样打算的话,我没有办法支持,{{Reftag}}我是勉强可以接受的。--Ghren🐦🕑 2022年4月21日 (四) 06:39 (UTC)回复
目前已知问题仅发生在refTag+noteTag系列,所以不会写到其他模板。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月21日 (四) 07:00 (UTC)回复
理论上你的问题可以在任何参考模板出现,也不见得要每个模板要这样修。至少“注”不应该再加上辨认模板空间的功能。--Ghren🐦🕖 2022年4月21日 (四) 11:32 (UTC)回复
这个也要改的,同一doc系列的模板应当同步结构。其他参考模板如{{refn}}没有出现问题的原因在于没有定死仅一个group或group是可变的,但refTag/noteTag却定死了一个完全不可变的group。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月21日 (四) 12:23 (UTC)回复
有些条目的是单纯是{{}}作参考来源,而不使用{{refn}}的。更甚者会使用其他自定的格式,实际上一样有机会出错。例如将这个版本的模板套入乌鲁木齐市美术馆,一样会出现错误。设立出一个Group出来本身就是他们的功能,编者没有正确使用引致出错是编者的问题,反而一些模板是因为复杂才移到模板空间,本来不需要考虑在其他地方使用,这反而为编者带来不必要的烦恼。顺带一提我也没找到这此更改有公示。--Ghren🐦🕘 2022年4月21日 (四) 13:49 (UTC)回复
“反而一些模板是因为复杂才移到模板空间,本来不需要考虑在其他地方使用”这种做法本来就违背了H:T#什么是模板,为什么要用模板:“为什么有这些麻烦的东西?有时候,一段内容会在多个条目中反复出现……”,我修这些问题的时候就发现有一些模板仅得一个条目使用,本来就不符合模板的内容应当在多个条目中反复出现的原意,那些编者本身都不跟原意去办事,还要我顾虑那些编者会否有烦恼我又不觉得合理得到哪(坦白说我恨不得立即就要把那些只有一个条目用的模板subst回去然后提删,复杂本来就不是移到模板空间的单一合理理由)。另外,不对模板的使用方式和外观显示做任何修改的有意义的编辑可由管理员和模板编辑员确认请求后立即操作,是次更改对条目中的refTag/refFoot/noteTag/noteFoot的使用方式和参数等其实都没有改变过,那些模板在条目中的显示也是跟以前完全一样,所以不见得有公示的必要。而对于更甚者会使用其他自定的格式,不过万变不离其宗,实际上都离不开{{#tag:ref|group=xxx}},即使还有机会出错,不过都已经说了日后还要集中处理所有模板的分组问题,现在是先把refTag/noteTag会发生的问题转嫁出去,把情况收窄以有助于日后再继续处理。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月21日 (四) 18:54 (UTC)回复
我不认可你在不公示的情况下直接进行Special:diff/71256072式的修改。实际上无论如何就是对于“模板的外观”进行了大量的修改,而且相关分针没有说明明不影响条目显示就算是不影响外观显示,虽然直接在模板说明页中使用的机会较少,但是也是合理出现的情况。Wikipedia:保护方针#使用和处理编辑请求说:“添加明显无争议的微小参数和功能,例如:italic=yes(改为斜体)和 noprint=yes(不可打印),或是使用维基数据。”即使是没有争议的修订也需要进行公示,我并不认为要求你进行公示是什么困难的事,毕竟现在就有争议。
en:Template:Transclusion说明,“Transclusion templates are utilized to avoid disruption and unnecessary server load while editing heavy articles”,嵌入模板有避免编辑中断和减少不必要的服务器负载的作用,不论理由是否站得住脚,至少有这个需要,或者有用户这样使用是一个事实。
既然你都说你是将问题转嫁出去,也就是说明问题实际上根本上就不在这两个模板上。用{{refn}},但是不加上{{refn|group={{{group|}}} }}实际上一样会出问题,这说明和参考文献模板根本无关,只要出错的,一定会出错。--Ghren🐦🕐 2022年4月22日 (五) 05:23 (UTC)回复
权其利弊,我认为这个问题最多也是用过滤器提醒编者在模板空间加入参考文献要加上兼容其他分组的语法而已。--Ghren🐦🕐 2022年4月22日 (五) 05:56 (UTC)回复
已退至原先版本,但也意味着在防错方面再度陷于完全真空的状态,原先为refTag/noteTag消除的错误过一阵子可能会再重现。而针对于模板只得一个条目用的问题,en:Template:Transclusion这个句话其实更证明此做法不当——这种做法为条目载入多花费嵌入资源,但却没有节省服务器的存储资源(只是把条目中单次使用的内容转移到模板,所以存储的长度还是一样的),总括结果反而是增加了负载,所以不符合“减少不必要的服务器负载的作用”,故此就算有用户这样使用是一个事实,也都是个不佳的事实。过滤器方面得还要研究怎样做。--街燈電箱150號 开箱维修 抄表 检验证明 2022年4月23日 (六) 07:14 (UTC)回复

关于换用模板

@Cdip150我怀疑该声明缺乏共识、全面手动更换缺乏可行性。如果确认空格问题是真正问题,应该更改现有模板,并将“有空格”版本作备用之选(通过参数或另一模板名)。--YFdyh000留言2022年8月14日 (日) 02:04 (UTC)回复

#请移除空格#请移除RefTag和NoteTag的空格,事实已有讨论认为此空格不符合Wikipedia:格式手册#空格而该移除,并且已提报bugzilla:53794,但是bugzilla一直未能提供方案,故模板一直处于违规而又不能技术上修正的状态;直至近期才得悉技术上可透过全文转换功能达成,故没有理由再继续违规,而把违规修正为合规理论上毋须再征询共识。全面更改是可行的,有半自动化工具辅助(每小时约50个),refTag大部分条目已完成更换,而目前refTag仅余下不足500个条目尚未更换。原本也打算透过直接更改模板了事,但发现大量条目并未严格遵照Template:refTag#备注_3的使用方法,直接更改模板将会导致大量条目突然涌入Category:Group属性错误的条目,势必严重影响该分类的日常清理工作,故不采取直接更改模板。“有空格”版本其实仍然可以透过{{#tag:ref|註文|group=註}}取得,此可作为备用。--街燈電箱150號 开箱维修 抄表 检验证明 2022年8月14日 (日) 04:50 (UTC)回复
返回到“RefTag”页面。