Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add bibliography class #1595

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

[WIP] Add bibliography class #1595

wants to merge 16 commits into from

Conversation

kdmsnr
Copy link
Collaborator

@kdmsnr kdmsnr commented Nov 2, 2020

No description provided.

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Nov 2, 2020

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

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Nov 2, 2020

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

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Nov 2, 2020

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
Copy link
Collaborator Author

kdmsnr commented Nov 2, 2020

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

@kmuto
Copy link
Owner

kmuto commented Nov 3, 2020

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

実装を拝見しますね。

@kmuto
Copy link
Owner

kmuto commented Nov 3, 2020

とりあえず対応している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
Copy link
Collaborator Author

kdmsnr commented Nov 3, 2020

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

エスケープはしようとしてるんですけど、最後にエスケープしようとしているので汚くて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
Copy link
Collaborator Author

kdmsnr commented Oct 13, 2022

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

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Oct 13, 2022

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

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Oct 14, 2022

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

@kdmsnr
Copy link
Collaborator Author

kdmsnr commented Oct 14, 2022

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