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

imageタグの中の脚注番号と、脚注の番号が異なる #1812

Closed
TakaoKimura opened this issue Apr 20, 2022 · 5 comments
Closed

imageタグの中の脚注番号と、脚注の番号が異なる #1812

TakaoKimura opened this issue Apr 20, 2022 · 5 comments

Comments

@TakaoKimura
Copy link

TakaoKimura commented Apr 20, 2022

//image[ch11-3][@<idx>{ピラミッド}@<fn>{Max2018}][scale=0.8]{
//}

//footnote[Max2018][出典:xxxx]
としたときに、PDFに出力されたものが、

図 11.3: ピラミッド*2

*4 出典:xxxx

となる現象が発生しています。
また脚注の番号をクリックしても、脚注に飛びません。

このファイルの中には、脚注が4つあり、
他の脚注は、*1 と *3 、*4 は問題無く出力されているようなので、imageタグに原因がありそう。

@kmuto
Copy link
Owner

kmuto commented Apr 20, 2022

手元だと再現しないですね…。ファイル全体を見ないと究明しづらそうです。

  • 使用Re:VIEWバージョンはいくつでしょうか?
  • てくぶスタイルあるいはreview-ext.rbで変更しているなど、何か固有のものを利用されているでしょうか?
  • プロジェクトフォルダ一式のアーカイブをご提供いただくことはできますか? (簡略化したものでけっこうです)

@TakaoKimura
Copy link
Author

確認ありがとうございます。
使用しているRe:View のバージョンは5.3になります。基本的にはDockerから利用しています。

サンプルのファイルがアップロード出来なかったのでDropbox経由で共有します。
https://www.dropbox.com/s/66s0c5u0j48fb3y/sample.zip?dl=0

@kmuto
Copy link
Owner

kmuto commented Apr 20, 2022

ありがとうございます、確認できました。

で、これはLaTeXの仕様とあいまって、Re:VIEW公式側でのコード対応が厄介めですね。

  1. LaTeXにおいては、脚注を\footnoteで普通にできるところと、\footnotemark+\footnotetextのペアであくまでも擬似的に表現しないといけないところがある。具体的には見出しとか図表キャプションとかtcolorboxの囲みとかだと、後者を使わないといけない。
  2. 番号がずれる は、noteがtcolorboxで作られています。Re:VIEW側からはtcolorboxを使っているかどうかという判断はできず、ここで脚注がボックス内で消費されてしまってずれの原因になってしまっています。「note等がtcolorboxなので\footnotemark+\footnotetextにする」という調整が必要。
  3. 「クリックしても飛ばない」は、LaTeX変換時に番号が飛ばないように \footnotetext[4] と固定の番号を入れているのですが、こうなっているとどうもハイパーリンクと相性が悪い模様です(LaTeXのhyperrefに脚注オフのオプションが用意されているくらいなので…)。固定番号を消せばリンクが有効化されますが、コンテンツによっては副作用が何かありそうなので公式に入れるのはためらいあり。

ひとまずいただいたサンプル向けでいうと、
review-ext.rb断片

...
		def halfblankline
			puts "\\vspace{0.5zw}"
		end

                # 追加BEGIN
                def footnote(id, content)
                  if @book.config['footnotetext'] || @foottext[id]
                    if @doc_status[:column] || @doc_status[:minicolumn]
                      warn "//footnote[#{id}] is in the column block. It is recommended to move out of the column block.", location: location
                    end
                    # 番号を自動に任せる
                    puts macro("footnotetext", compile_inline(content.strip))
                  end
                end

                def inline_fn(id)
                  if @book.config['footnotetext']
                    macro("footnotemark[#{@chapter.footnote(id).number}]", '')
                  elsif @doc_status[:caption] || @doc_status[:table] || @doc_status[:column] || @doc_status[:dt] || @doc_status[:minicolumn]
                    @foottext[id] = @chapter.footnote(id).number
                    macro('protect\\footnotemark', '')
                  else
                    macro('footnote', compile_inline(@chapter.footnote(id).content.strip))
                  end
                rescue KeyError
                  app_error "unknown footnote: #{id}"
                end
                # 追加END
	end
	
	class LATEXBuilder
...

sample.re断片

 ...
//caution[注意コラム]{
 注意コラム@<fn>{measuremorale}
//}

//footnote[measuremorale][注意コラムの脚注]
 ...

と変更すると番号およびリンクが動作するはずです。
mod-files.zip

@TakaoKimura
Copy link
Author

確認および対応ありがとうございます。
こちらで、脚注のナンバリングおよびハイパーリンクの確認ができました。

@kmuto
Copy link
Owner

kmuto commented Apr 20, 2022

課題自体は #1813, #1814 で分けることにして、本件はcloseしますね。

@kmuto kmuto closed this as completed Apr 20, 2022
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

No branches or pull requests

2 participants