質問編集履歴
4
取消し線が適用されていなかったので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -221,13 +221,12 @@
|
|
221
221
|
~~123行目のこの処理により、lastBookmarkPageに変数pageを代入しています。
|
222
222
|
変数page_idxは目次のページ数、変数iはページ内のしおりのカウンタ変数です。
|
223
223
|
つまり、目次の2ページ以上且つ当該ページ内の最後のしおりに到達した際に、lastBookmarkPageをそのしおりのpageで更新しています。
|
224
|
-
※ページ内の最後のしおりは常に右側の列にあるため、左側の列ではこの処理を行っていません。
|
224
|
+
※ページ内の最後のしおりは常に右側の列にあるため、左側の列ではこの処理を行っていません。~~
|
225
|
-
|
225
|
+
|
226
|
-
実際に、106行目と127行目のprint文では、lastBookmarkPageが目的の値になっていることが確認できました。
|
226
|
+
~~実際に、106行目と127行目のprint文では、lastBookmarkPageが目的の値になっていることが確認できました。
|
227
|
-
しかし、113行目及び134行目にてlastBookmarkPageを加算しても、目次の2ページ目以降のリンクが1ページのリンクから変わりません。
|
227
|
+
しかし、113行目及び134行目にてlastBookmarkPageを加算しても、目次の2ページ目以降のリンクが1ページのリンクから変わりません。~~
|
228
|
-
|
228
|
+
|
229
|
-
113行目及び134行目にlastBookmarkPageではなく、例えば10のような固定値を加算した場合は、リンク先のページが変わることは確認できています。
|
229
|
+
~~113行目及び134行目にlastBookmarkPageではなく、例えば10のような固定値を加算した場合は、リンク先のページが変わることは確認できています。
|
230
|
-
|
231
230
|
lastBookmarkPageにて取得している値を、目次の2ページ目以降に適用するには、どうすればいいでしょうか?~~
|
232
231
|
|
233
232
|
長いコード且つ複雑な内容で申し訳ございません。
|
3
補足に追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -242,4 +242,6 @@
|
|
242
242
|
つまり、107及び128行目で設定しているannotationにて対象とするしおりを、目次のページ数に応じた数にできればいいのではないかと推測しています。
|
243
243
|
例えば、100行目101行目のleft_idxとright_idxにpage_idx * 100(目次のページ数に100をかけた値)を加算したのですが、値は更新されませんでした(目次の1ページ目と同じリンク先になる)。
|
244
244
|
|
245
|
+
※そもそも、96行目の「start_index = page_idx * entries_per_page」で目次のページ数に100をかけているので、ページが移っても正しいしおりを取得できる気がするのですが…
|
246
|
+
|
245
247
|
お手数をおかけしますが、この補足情報を考慮した上で、目次の2から4ページ目に正しいリンクを設定する方法が分かりましたら、ご教授いただけますと幸いです。
|
2
別の解決方法が思い浮かんだため、補足に追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -218,7 +218,7 @@
|
|
218
218
|
if page_idx > 0 and i == column_split - 1:
|
219
219
|
lastBookmarkPage = page
|
220
220
|
|
221
|
-
123行目のこの処理により、lastBookmarkPageに変数pageを代入しています。
|
221
|
+
~~123行目のこの処理により、lastBookmarkPageに変数pageを代入しています。
|
222
222
|
変数page_idxは目次のページ数、変数iはページ内のしおりのカウンタ変数です。
|
223
223
|
つまり、目次の2ページ以上且つ当該ページ内の最後のしおりに到達した際に、lastBookmarkPageをそのしおりのpageで更新しています。
|
224
224
|
※ページ内の最後のしおりは常に右側の列にあるため、左側の列ではこの処理を行っていません。
|
@@ -228,10 +228,18 @@
|
|
228
228
|
|
229
229
|
113行目及び134行目にlastBookmarkPageではなく、例えば10のような固定値を加算した場合は、リンク先のページが変わることは確認できています。
|
230
230
|
|
231
|
-
lastBookmarkPageにて取得している値を、目次の2ページ目以降に適用するには、どうすればいいでしょうか?
|
231
|
+
lastBookmarkPageにて取得している値を、目次の2ページ目以降に適用するには、どうすればいいでしょうか?~~
|
232
232
|
|
233
233
|
長いコード且つ複雑な内容で申し訳ございません。
|
234
234
|
情報に不足がございましたら、ご指摘いただけますと幸いです。
|
235
235
|
|
236
236
|
### 補足
|
237
|
-
|
237
|
+
2025/3/19追記
|
238
|
+
大変申し訳ございません。「123行目のこの処理により…」からの内容は考え方が誤っているように思いましたので、一旦取り消し線を付与しました。
|
239
|
+
例えば目次2ページ目であれば100個目(1ページ目最後)のしおりに設定された変数pageを保存し、それを加算する前提で記載しましたが、無駄に複雑化している気がします。
|
240
|
+
ようするに、目次2ページ目であれば101個目から200個目のしおりに設定されたpageが取得できれば、それをそのまま目次のリンクに設定すれば解決する気がします。
|
241
|
+
|
242
|
+
つまり、107及び128行目で設定しているannotationにて対象とするしおりを、目次のページ数に応じた数にできればいいのではないかと推測しています。
|
243
|
+
例えば、100行目101行目のleft_idxとright_idxにpage_idx * 100(目次のページ数に100をかけた値)を加算したのですが、値は更新されませんでした(目次の1ページ目と同じリンク先になる)。
|
244
|
+
|
245
|
+
お手数をおかけしますが、この補足情報を考慮した上で、目次の2から4ページ目に正しいリンクを設定する方法が分かりましたら、ご教授いただけますと幸いです。
|
1
・例として挙げたリンク先のページ数が、目次が存在するため実際にはありえない4ページ以内になっていたため、ページ数を修正 ・補足を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,8 +24,10 @@
|
|
24
24
|
|
25
25
|
例.
|
26
26
|
page1
|
27
|
-
ABC…2 GHI…7
|
27
|
+
~~ABC…2 GHI…7
|
28
|
-
DEF…
|
28
|
+
DEF…5 JKL…8~~
|
29
|
+
ABC…6 GHI…9
|
30
|
+
DEF…7 JKL…12
|
29
31
|
以下略
|
30
32
|
|
31
33
|
page2
|
@@ -33,11 +35,11 @@
|
|
33
35
|
PQR…22 VWX…30
|
34
36
|
以下略
|
35
37
|
|
36
|
-
これで「ABC」をクリックすると
|
38
|
+
これで「ABC」をクリックすると6ページ目に遷移しており、これは正しい挙動です。
|
37
|
-
しかし、「MNO」をクリックした場合も、
|
39
|
+
しかし、「MNO」をクリックした場合も、6ページ目に遷移してしまいます。
|
38
|
-
「STU」の場合も、同様に
|
40
|
+
「STU」の場合も、同様に9ページ目に遷移します。
|
41
|
+
|
39
|
-
|
42
|
+
2025/3/19補足:白紙挿入の処理については、Pythonではなく事前に行うことも可能。
|
40
|
-
|
41
43
|
|
42
44
|
### 該当のソースコード
|
43
45
|
|