Closed MurakamiShinyu closed 2 months ago
Vivliostyle Base Theme で、セクション番号は "1.1.1" の形式になるように設定されています:
https://github.com/vivliostyle/themes/blob/main/packages/%40vivliostyle/theme-base/css/partial/section.css#L16-L20
しかし、目次項目番号はどのレベルの項目であってもひとつの番号で "1" という形式になっています:
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L6
目次項目番号とセクション番号は同じ形式("1.1.1")がデフォルトになるほうがよいと思います。
現状のThemeで --vs-toc--marker-display: inline を指定した場合の目次を表示したスクリーンショット:
--vs-toc--marker-display: inline
を
--vs-toc--marker-content: counters(vs-counter-toc, '.') ' ';
に変更する。
しかしこれだけだと、次のように目次のレイアウトが崩れる:
そこで、さらに次のように修正する:
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L8
--vs-toc--marker-text-align: end;
に変更する。また、
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L32-L39
の inset-inline-start と width の指定を次のように変更する:
inset-inline-start
width
inset-inline-start: calc(var(--vs-toc--ol-indent-size) * -6); inline-size: calc(var(--vs-toc--ol-indent-size) * 5.5);
NOTE:
inline-size
--vs-toc--ol-indent-size
2rem
-6
5.5
この修正により、目次のレイアウトが次のようになる:
Vivliostyle Base Theme で、セクション番号は "1.1.1" の形式になるように設定されています:
https://github.com/vivliostyle/themes/blob/main/packages/%40vivliostyle/theme-base/css/partial/section.css#L16-L20
しかし、目次項目番号はどのレベルの項目であってもひとつの番号で "1" という形式になっています:
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L6
目次項目番号とセクション番号は同じ形式("1.1.1")がデフォルトになるほうがよいと思います。
現状のThemeで
--vs-toc--marker-display: inline
を指定した場合の目次を表示したスクリーンショット:スタイルの修正の案
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L6
を
に変更する。
しかしこれだけだと、次のように目次のレイアウトが崩れる:
そこで、さらに次のように修正する:
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L8
を
に変更する。また、
https://github.com/vivliostyle/themes/blob/ebf926f25ccec72fc01bf7f27cad6dcac4af9273/packages/%40vivliostyle/theme-base/css/partial/toc.css#L32-L39
の
inset-inline-start
とwidth
の指定を次のように変更する:NOTE:
width
は縦書きのときに適切でないのでinline-size
に変更する。--vs-toc--ol-indent-size
の値は2rem
で、項目のレベルが下がるごとにこの値ずつインデントが増える。項目の番号は "1.2.3.4.5.6" のように最大6レベルまでとして、inset-inline-start
の値は--vs-toc--ol-indent-size
の値に-6
を掛けたものにする。番号のあとにスペースを入れる必要があるため、inline-size
の値は--vs-toc--ol-indent-size
の値の5.5
倍にする。この修正により、目次のレイアウトが次のようになる: