Gitbook章节参考书目不按字母顺序排列

Posted

技术标签:

【中文标题】Gitbook章节参考书目不按字母顺序排列【英文标题】:Gitbook chapter bibliography not in alphabetical order 【发布时间】:2018-08-29 16:04:21 【问题描述】:

我正在使用 bookdown 从 R markdown 文件(即 .Rmd)创建 html gitbook,默认选项为 split_bib = TRUE,从而在每章末尾生成参考书目,以及在本书的结尾。

书末参考书目按字母顺序排列,但章末参考书目不是。 (Here's an example)。

如何按字母顺序排列所有参考列表?

【问题讨论】:

你项目的仓库在线吗?你能指点我吗? github.com/ms609/Hy 【参考方案1】:

$(function()
    var elems = $('#refs').children('div').remove();
    elems.sort(function (a, b) 
        return b.id > a.id ? -1 : 1;
    );
    $('#refs').append(elems);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="refs" class="references">
  <div id="ref-Goloboff2016">
    <p>Goloboff, P. A., and S. A. Catalano. 2016: TNT version 1.5, including a full implementation of phylogenetic morphometrics. Cladistics 32:221–238.</p>
  </div>
  <div id="ref-Goloboff1999">
    <p>Goloboff, P. 1999: Analyzing large data sets in reasonable times: solutions for composite optima. Cladistics 15:415–428.</p>
  </div>
  <div id="ref-Nixon1999">
    <p>Nixon, K. C. 1999: The Parsimony Ratchet, a new method for rapid parsimony analysis. Cladistics 15:407–414.</p>
  </div>
  <div id="ref-Goloboff1997">
    <p>Goloboff, P. A. 1997: Self-weighted optimization: tree searches and character state reconstructions under implied transformation costs. Cladistics 13:225–245.</p>
  </div>
</div>

我的解决方案按#refsdivs 的id 排序。您没有指定是否要按姓氏升序和年份降序排序,这需要一些更复杂的东西。

【讨论】:

一个聪明的答案,当然!尚未标记为已接受,因为感觉就像一个先验解决方案也应该存在而不依赖于javascript 您应该能够使用更精确的 CSS 选择器来仅对您想要排序的引用进行排序 - 或者您可以使用 :not 伪选择器 developer.mozilla.org/en-US/docs/Web/CSS/:not [恢复了意外删除的评论:] 我已经尝试过实现这一点(使用 include:after_body 预订选项),不幸的副作用是它弄乱了参考页面上的顺序,因为这些引用包含在缺少 ID 元素的 div 中。有没有一种优雅的方法来禁用参考页面上的脚本,而不是将其手动粘贴到所有其他页面中? 我最终修改了 elems.sort 函数以读取 return $(b).children('p').html() &gt; $(a).children('p').html() ? -1 : 1;,并将脚本包含在 _output.yml 的 bookdown::gitbook: includes: after_body 指令中链接的 html 文件中。然后按字母顺序对每一页和参考书目中的参考文献进行排序。

以上是关于Gitbook章节参考书目不按字母顺序排列的主要内容,如果未能解决你的问题,请参考以下文章

高效记忆电脑键盘上字母的顺序的方法

在线好友排列顺序怎么能在全部好友前边

为啥 Swiftui 中主线程不按顺序排列

ORDERBY "human" 使用 SQL 字符串操作的字母顺序

表格视图从 NSDictionary 加载,但不按字母顺序

如何使用 SQL 代码选择不按顺序排列的最新 ID(即使我已对其进行排序)