Skip to content

[WIP] Add bibliography class#1595

Open
kdmsnr wants to merge 16 commits into
masterfrom
bibliography
Open

[WIP] Add bibliography class#1595
kdmsnr wants to merge 16 commits into
masterfrom
bibliography

Conversation

@kdmsnr

@kdmsnr kdmsnr commented Nov 2, 2020

Copy link
Copy Markdown
Collaborator

No description provided.

@kdmsnr

kdmsnr commented Nov 2, 2020

Copy link
Copy Markdown
Collaborator Author

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

@kdmsnr

kdmsnr commented Nov 2, 2020

Copy link
Copy Markdown
Collaborator Author

citeproc-ruby が latex に対応したら統一的に扱える
inukshuk/citeproc-ruby#75

@kdmsnr

kdmsnr commented Nov 2, 2020

Copy link
Copy Markdown
Collaborator Author

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

@kdmsnr kdmsnr changed the title [WIP] Add bibliography class Add bibliography class Nov 2, 2020
@kdmsnr kdmsnr changed the title Add bibliography class [WIP] Add bibliography class Nov 2, 2020
@kdmsnr

kdmsnr commented Nov 2, 2020

Copy link
Copy Markdown
Collaborator Author

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

@kmuto

kmuto commented Nov 3, 2020

Copy link
Copy Markdown
Owner

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

実装を拝見しますね。

@kmuto

kmuto commented Nov 3, 2020

Copy link
Copy Markdown
Owner

とりあえず対応している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だとハイパーリンクしたいとか。

@kdmsnr

kdmsnr commented Nov 3, 2020

Copy link
Copy Markdown
Collaborator Author

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

エスケープはしようとしてるんですけど、最後にエスケープしようとしているので汚くて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 kdmsnr reopened this Oct 13, 2022
@kdmsnr

kdmsnr commented Oct 13, 2022

Copy link
Copy Markdown
Collaborator Author

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

@kdmsnr

kdmsnr commented Oct 13, 2022

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

@kdmsnr

kdmsnr commented Oct 14, 2022

Copy link
Copy Markdown
Collaborator Author

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

@kdmsnr

kdmsnr commented Oct 14, 2022

Copy link
Copy Markdown
Collaborator Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants