review icon indicating copy to clipboard operation
review copied to clipboard

[WIP] Add bibliography class

Open kdmsnr opened this issue 5 years ago • 11 comments

kdmsnr avatar Nov 02 '20 06:11 kdmsnr

citeproc/ruby/formats/latex.rb を定義すればいいのかなあ?

kdmsnr avatar Nov 02 '20 07:11 kdmsnr

citeproc-ruby が latex に対応したら統一的に扱える https://github.com/inukshuk/citeproc-ruby/pull/75

kdmsnr avatar Nov 02 '20 11:11 kdmsnr

chapterの末尾に参考文献入れる場合と、本の最後に入れる場合がある

kdmsnr avatar Nov 02 '20 11:11 kdmsnr

bibliography.rb の冒頭の require をRe:VIEWから必須じゃないように書くには、どうやって書けばいいのか?

kdmsnr avatar Nov 02 '20 18:11 kdmsnr

mecabやunicode/eawだとrequireをbegin/rescueして、あとは無視するかエラーにするかとしていますね。 明示的に使うまでrequireされないならエラーにしてしまうのでもよさそう。

実装を拝見しますね。

kmuto avatar Nov 03 '20 01:11 kmuto

とりあえず対応しているHTMLとテキストのフォーマッタにて見ていますが、

citeprocのほうは、

  • TeXのウムラウト指定(\"aなど)などは1文字版(ä)のほうに置き換えるロジックが入ってる模様。
  • <>&"'などを入れてみたらエスケープなしでそのまま出てしまった。
  • {$\mathbf{F}_1$}\mathbfF_1に展開されてしまい、これは扱いづらい…。
  • とりあえず@kdmsnr さんのLaTeX対応PRが入ったようなので、反映された1.1.13まち?

実装については、

  • require類をbegin/rescue LoadErrorで囲むとして、エラーにするのはbibfileが指定されているときのみにすれば必須から回避することはできそう?
  • 章単位版bibは章名.bibでもよさそうだけど、本全体版はbookname.bibとすべきか、それともconfig.yml指定にするか…(それでもデフォルトが何か必要か。)
  • レンダラ部分の改良はかなり必要になりそう。HTMLだとハイパーリンクしたいとか。

kmuto avatar Nov 03 '20 06:11 kmuto

<>&"'などを入れてみたらエスケープなしでそのまま出てしまった。

エスケープはしようとしてるんですけど、最後にエスケープしようとしているので汚くてTODOになってますね。いまはスペースを必要とするみたいです。

        # citeproc-ruby/lib/citeproc/ruby/formats/html.rb
        def finalize!
          # TODO find a better solution for this (strip tags?)
          # For now make sure not to double encode entities
          # by matching spaces before or after.

          output.gsub!(/[&<]\s/, '& ' => '&amp; ', '< ' => '&lt; ')
          output.gsub!(/\s>/, ' &gt;')
        end

kdmsnr avatar Nov 03 '20 08:11 kdmsnr

rebaseしようと思いましたがマージが大変すぎたので、新規にコミットしました。

kdmsnr avatar Oct 13 '22 16:10 kdmsnr

  • 使用しているライブラリ的に、これくらいが限界かなあという感じです。
  • もっと凝ったことをやろうとすると、自分でライブラリ相当を書かことになりそうです。

kdmsnr avatar Oct 13 '22 16:10 kdmsnr

参考文献のソートが環境によって違う? 困った。

kdmsnr avatar Oct 14 '22 04:10 kdmsnr

TestWinだけ失敗している???

kdmsnr avatar Oct 14 '22 04:10 kdmsnr