早速の回答をいただき、感謝します。
縦書きですので \sidenote を使うのですね。\footnoteが縦書きだと傍注になるように。
お陰様で、思い描いていたイメージどおりの結果が得られました。
毎度のことですが誠に有り難うございました。
それにしても、思い通りに組版することは、むずかしいものですね。
和田さんの環境ですと、proらしくCLIなのですね。
私はGUI派で、texworks愛用者ですので、ご教示いただいた内容を再現するのに、ちょっとばかり暇がかかり、その分返事するのに時間がかかりました。
GUIに拘る理由は、tex fies の収納directory の階層が深いため、current directory に到達するのに面倒な為です。home directory直下に置けばどうということもないのでしょうね。
それはさておき、ちょっと困った現象に遭遇しました。教えていただいた方法で『頭注』を試していましたところ、長い頭注があり、枠からはみだしてしまいました
『序』のページです。長い頭注の適当な箇所で次ページへつなぎたいのです。対処方法をお尋ねします。
「 海潮音.tex」の冒頭にシェバング風の記述などを書き込んだ理由
- 私以外の人が検証する際に必要な情報だと思ったからです。
- シェバング風な記述は、「 ptex2pdf -l -u -ot '--shell-escape' 海潮音」だけでも良かったようですね。反省しています。
TeXLive 非標準のパッケージを使う際には、入手先 URL を記述しておいた方が良いと思います。
「 海潮音.tex」は lua を使って「フリーな「漢字字形共有サイト」である グリフウィキ を利用する」ための lua スクリプトの用意などが必要なので、そのような記述もしておいた方が良いと思います。
長い頭注があり、枠からはみだしてしまう
最初の頭注の案を反映させる時、最初は脚注部分おフォントサイズが大きかったり、 長さも10 文字分だったこともあり、 この現象が発生することは想像できていました。
これは、jlreq.cls を読んで解決策を考えてとのご要望だと思いますが、 今の所、私の力では妙案は思いつきません。
ですが再現これだけ長い注釈であれば、\sidenote \footnote \endnote などの活用するのは NG かな?
ご回答有り難うございます。tarticleでplatexを動作させた場合の頭注の事例と解しました。なかなか難しいcodeですね。ビルドし動作を確認いたしました。しかし私は八三歳の高齢者で、基礎知識が乏しく折角のご提案を応用することが難しいのです。
原稿tex fileは、およそ二〇〇ページの書籍原稿として、この『頭注」ないし『脚注」問題を別とすれば、すでに自家製本の書籍原稿として、私なりに一応完成したものなのです。縦書きuplatex、jlreq.sty(tate, bookオプションつき}で書いたものです。
頭注の枠からはみ出す問題は、解決は難問なのでしょうね。
原稿tex fileは、およそ二〇〇ページの書籍原稿として、この『頭注」ないし『脚注」問題を別とすれば、すでに自家製本の書籍原稿として、私なりに一応完成したものなのです。縦書きuplatex、jlreq.sty(tate, bookオプションつき}で書いたものです。
頭注の枠からはみ出す問題は、解決は難問なのでしょうね。
> tarticleでplatexを動作させた場合の頭注の事例と解しました。
> ………
> 縦書きuplatex、jlreq.sty(tate, bookオプションつき}で書いたものです。
とのことですが、私の手元の古い jlreq.cls [jlreq 2020/05/01] で
やってみましたら、一応、こんな感じにはなりました。
#「とりあえずちょっと試してみました」というだけで、私は jlreq
# にも、縦組みにも詳しいわけではありませんので、この件について
# 何かお尋ねいただいたとしましても、私には何もお答えできること
# はありません…。
#
# 無責任な言いっ放しで誠に申し訳ありませんが、あとはお詳しい
# 皆さまにお任せいたします。
\documentclass[
dvipdfmx,uplatex,tate,book,paper=a5,
sidenote_length=13zw,head_space=15zw,headfoot_sidemargin=-2zw,
open_bracket_pos=zenkaku_tentsuki,hanging_punctuation
]{jlreq}
\reversemarginpar
% ----- https://okumuralab.org/tex/mod/forum/discuss.php?d=3964#p24656 -----
\makeatletter
\newbox\@mpar@carry@over
\global\setbox\@mpar@carry@over\box\voidb@x
\newbox\@migrated@marginpar
\global\setbox\@migrated@marginpar\vbox{}
\def\@addmarginpar{%
\let\@addmarginpar@warning\relax
\@next\@marbox\@currlist
{\@cons\@freelist\@marbox \@cons\@freelist\@currbox}%
\@latexbug
\@tempcnta\@ne
\@addmarginpar@side@check
\ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi
\ifvoid\@mpar@carry@over
\@tempdima\@mparbottom
\advance\@tempdima -\@pageht
\advance\@tempdima\ht\@marbox
\ifdim\@tempdima >\z@
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space moved}}%
\else
\@tempdima\z@
\fi
\global\@mparbottom\@pageht
\global\advance\@mparbottom\@tempdima
\ifdim\@mparbottom>\textheight
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space migrated to the next page}}%
\global\setbox\@mpar@carry@over\box\@marbox
\else
\global\advance\@mparbottom\dp\@marbox
\@tempdimb\ht\@marbox
\ifdim\@mparbottom>\textheight
\dimen@\ht\@marbox
\advance\dimen@\dp\@marbox
\advance\dimen@\textheight
\advance\dimen@-\@mparbottom
\begingroup \vbadness\@M \vfuzz\maxdimen
\splittopskip\z@ \splitmaxdepth\maxdimen
\setbox\z@\vsplit \@marbox to \dimen@
\global\setbox\@mpar@carry@over\vtop{\unvbox\@marbox}%
\setbox\tw@\copy\@mpar@carry@over
\setbox\tw@\vsplit\tw@ to\z@
\setbox\tw@\vbox{\unvbox\tw@ \global\setbox\@ne\lastbox}%
\global\ht\@mpar@carry@over\ht\@ne
\global\setbox\@marbox\vtop{\unvbox\z@}%
\endgroup
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space is split}}%
\else
\global\advance\@mparbottom\marginparpush
\fi
\fi
\@addmarginpar@warning
\ifvoid\@marbox\else
\advance\@tempdima -\@tempdimb
\global\setbox\@marbox\vbox{\vskip \@tempdima \box\@marbox}%
\global\ht\@marbox\z@
\global\dp\@marbox\z@
\kern -\@pagedp
\nointerlineskip
\hb@xt@\columnwidth{\ifnum \@tempcnta >\z@
\hskip\columnwidth \hskip\marginparsep
\else
\hskip -\marginparsep \hskip -\marginparwidth
\fi
\box\@marbox \hss}%
\nointerlineskip
\hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
\fi
\else
\@latex@warning@no@line{Marginpar on page \thepage\space migrated to the next page}%
\global\setbox\@mpar@carry@over\vtop{%
\box\@mpar@carry@over
\vskip\marginparpush
\box\@marbox}%
\fi}
\def\@addmarginpar@side@check{%
\if@twocolumn
\if@firstcolumn \@tempcnta\m@ne \fi
\else
\if@mparswitch
\ifodd\c@page \else\@tempcnta\m@ne \fi
\fi
\if@reversemargin \@tempcnta -\@tempcnta \fi
\fi}
\def\@opcol{%
\global\setbox\@outputbox\vbox{%
\box\@migrated@marginpar
\nointerlineskip
\box\@outputbox}%
\ifvoid\@mpar@carry@over
\global\@mparbottom\z@
\else
\dimen@\dp\@mpar@carry@over
\advance\dimen@\topskip
\advance\dimen@\marginparpush
\global\@mparbottom\dimen@
\fi
\@addmarginpar@side@check
\ifvoid\@mpar@carry@over
\global\setbox\@migrated@marginpar\vbox{}%
\else
\global\setbox\@migrated@marginpar\vbox to\z@{%
\vskip\topskip
\vskip-\ht\@mpar@carry@over
\hb@xt@\columnwidth{\ifnum \@tempcnta >\z@
\hskip\columnwidth \hskip\marginparsep
\else
\hskip -\marginparsep \hskip -\marginparwidth
\fi
\box\@mpar@carry@over
\hss}%
\vss}%
\fi
\if@twocolumn \@outputdblcol
\else \@outputpage
\fi
\global\@textfloatsheight\z@
\@floatplacement}
\makeatother
\def\Text{これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。}
\def\longtext{\Text\Text\Text\Text\Text\par}
% ----- https://okumuralab.org/tex/mod/forum/discuss.php?d=3964#p24656 -----
\begin{document}
\Text\Text\Text\Text
これは、意味のないサンプルテキストです□
\sidenote{Symbolの譯語。ギリシア語のシュンポロンが語源で、もと
割符の意味であったのが記号・符牒の意味になり、さらに抽象的な事物
を示すための形象または心象の意味となった。十字架がキリスト教の、
鳩が平和の、白百合が純潔の、それぞれ象徴であるというがごときである。
この意味での「象徴」は古くから用いられていた。}。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
\Text
\longtext
\Text
これは、意味のないサンプルテキストです□
\sidenote{「雨雲」と解する説もあるが(辰野隆『え・びやん』所収
「雨の日」)、おそらく「天雲」の意であろう。}。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです□
\sidenote{上田敏は何に拠ったものか明らかでないが、前田林外選訂
『日本民謡全集(明40・3)』には、下総国玉造村の「香取神社祭獅子
舞ひ歌」として、「大てらの香のけぶりはほそくともそらにのぼりて
あまくもとなる」と載っている。}。
\Text
\end{document}
> ………
> 縦書きuplatex、jlreq.sty(tate, bookオプションつき}で書いたものです。
とのことですが、私の手元の古い jlreq.cls [jlreq 2020/05/01] で
やってみましたら、一応、こんな感じにはなりました。
#「とりあえずちょっと試してみました」というだけで、私は jlreq
# にも、縦組みにも詳しいわけではありませんので、この件について
# 何かお尋ねいただいたとしましても、私には何もお答えできること
# はありません…。
#
# 無責任な言いっ放しで誠に申し訳ありませんが、あとはお詳しい
# 皆さまにお任せいたします。
\documentclass[
dvipdfmx,uplatex,tate,book,paper=a5,
sidenote_length=13zw,head_space=15zw,headfoot_sidemargin=-2zw,
open_bracket_pos=zenkaku_tentsuki,hanging_punctuation
]{jlreq}
\reversemarginpar
% ----- https://okumuralab.org/tex/mod/forum/discuss.php?d=3964#p24656 -----
\makeatletter
\newbox\@mpar@carry@over
\global\setbox\@mpar@carry@over\box\voidb@x
\newbox\@migrated@marginpar
\global\setbox\@migrated@marginpar\vbox{}
\def\@addmarginpar{%
\let\@addmarginpar@warning\relax
\@next\@marbox\@currlist
{\@cons\@freelist\@marbox \@cons\@freelist\@currbox}%
\@latexbug
\@tempcnta\@ne
\@addmarginpar@side@check
\ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi
\ifvoid\@mpar@carry@over
\@tempdima\@mparbottom
\advance\@tempdima -\@pageht
\advance\@tempdima\ht\@marbox
\ifdim\@tempdima >\z@
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space moved}}%
\else
\@tempdima\z@
\fi
\global\@mparbottom\@pageht
\global\advance\@mparbottom\@tempdima
\ifdim\@mparbottom>\textheight
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space migrated to the next page}}%
\global\setbox\@mpar@carry@over\box\@marbox
\else
\global\advance\@mparbottom\dp\@marbox
\@tempdimb\ht\@marbox
\ifdim\@mparbottom>\textheight
\dimen@\ht\@marbox
\advance\dimen@\dp\@marbox
\advance\dimen@\textheight
\advance\dimen@-\@mparbottom
\begingroup \vbadness\@M \vfuzz\maxdimen
\splittopskip\z@ \splitmaxdepth\maxdimen
\setbox\z@\vsplit \@marbox to \dimen@
\global\setbox\@mpar@carry@over\vtop{\unvbox\@marbox}%
\setbox\tw@\copy\@mpar@carry@over
\setbox\tw@\vsplit\tw@ to\z@
\setbox\tw@\vbox{\unvbox\tw@ \global\setbox\@ne\lastbox}%
\global\ht\@mpar@carry@over\ht\@ne
\global\setbox\@marbox\vtop{\unvbox\z@}%
\endgroup
\def\@addmarginpar@warning{%
\@latex@warning@no@line{Marginpar on page \thepage\space is split}}%
\else
\global\advance\@mparbottom\marginparpush
\fi
\fi
\@addmarginpar@warning
\ifvoid\@marbox\else
\advance\@tempdima -\@tempdimb
\global\setbox\@marbox\vbox{\vskip \@tempdima \box\@marbox}%
\global\ht\@marbox\z@
\global\dp\@marbox\z@
\kern -\@pagedp
\nointerlineskip
\hb@xt@\columnwidth{\ifnum \@tempcnta >\z@
\hskip\columnwidth \hskip\marginparsep
\else
\hskip -\marginparsep \hskip -\marginparwidth
\fi
\box\@marbox \hss}%
\nointerlineskip
\hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
\fi
\else
\@latex@warning@no@line{Marginpar on page \thepage\space migrated to the next page}%
\global\setbox\@mpar@carry@over\vtop{%
\box\@mpar@carry@over
\vskip\marginparpush
\box\@marbox}%
\fi}
\def\@addmarginpar@side@check{%
\if@twocolumn
\if@firstcolumn \@tempcnta\m@ne \fi
\else
\if@mparswitch
\ifodd\c@page \else\@tempcnta\m@ne \fi
\fi
\if@reversemargin \@tempcnta -\@tempcnta \fi
\fi}
\def\@opcol{%
\global\setbox\@outputbox\vbox{%
\box\@migrated@marginpar
\nointerlineskip
\box\@outputbox}%
\ifvoid\@mpar@carry@over
\global\@mparbottom\z@
\else
\dimen@\dp\@mpar@carry@over
\advance\dimen@\topskip
\advance\dimen@\marginparpush
\global\@mparbottom\dimen@
\fi
\@addmarginpar@side@check
\ifvoid\@mpar@carry@over
\global\setbox\@migrated@marginpar\vbox{}%
\else
\global\setbox\@migrated@marginpar\vbox to\z@{%
\vskip\topskip
\vskip-\ht\@mpar@carry@over
\hb@xt@\columnwidth{\ifnum \@tempcnta >\z@
\hskip\columnwidth \hskip\marginparsep
\else
\hskip -\marginparsep \hskip -\marginparwidth
\fi
\box\@mpar@carry@over
\hss}%
\vss}%
\fi
\if@twocolumn \@outputdblcol
\else \@outputpage
\fi
\global\@textfloatsheight\z@
\@floatplacement}
\makeatother
\def\Text{これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。}
\def\longtext{\Text\Text\Text\Text\Text\par}
% ----- https://okumuralab.org/tex/mod/forum/discuss.php?d=3964#p24656 -----
\begin{document}
\Text\Text\Text\Text
これは、意味のないサンプルテキストです□
\sidenote{Symbolの譯語。ギリシア語のシュンポロンが語源で、もと
割符の意味であったのが記号・符牒の意味になり、さらに抽象的な事物
を示すための形象または心象の意味となった。十字架がキリスト教の、
鳩が平和の、白百合が純潔の、それぞれ象徴であるというがごときである。
この意味での「象徴」は古くから用いられていた。}。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
\Text
\longtext
\Text
これは、意味のないサンプルテキストです□
\sidenote{「雨雲」と解する説もあるが(辰野隆『え・びやん』所収
「雨の日」)、おそらく「天雲」の意であろう。}。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです。
これは、意味のないサンプルテキストです□
\sidenote{上田敏は何に拠ったものか明らかでないが、前田林外選訂
『日本民謡全集(明40・3)』には、下総国玉造村の「香取神社祭獅子
舞ひ歌」として、「大てらの香のけぶりはほそくともそらにのぼりて
あまくもとなる」と載っている。}。
\Text
\end{document}

ut さんのパッチを適用して TL2025 で試してみました。
ログファイルには、以下のように ut さんの意図されたと思われる 警告メッセージが記録jはされているのですが
663:LaTeX Warning: Marginpar on page 3 moved.
682:LaTeX Warning: Marginpar on page 4 moved.
712:LaTeX Warning: Marginpar on page 6 moved.
715:LaTeX Warning: Marginpar on page 6 moved.
731:LaTeX Warning: Marginpar on page 6 moved.
809:LaTeX Warning: Marginpar on page 6 is split.
頭注部分での一部文字送り?が変わっているのと、行間が若干広くなって しまい、長い注釈の場合さらにはみ出ているようです。
mr2h さんの提供された .pdf と比較した diff-pdf の結果を添付します。
「赤」の部分は mr2h さんの、「シアン」の部分は ut さんのパッチを適用したものです。
「何もお答えできることはありません」と申し上げた手前、今回は
追記の類いはしないつもりだったのですが、
> ut さんのパッチを適用して TL2025 で試してみました。
>
> ログファイルには、以下のように ut さんの意図されたと思われる
> 警告メッセージが記録jはされているのですが
等々というのはさすがにマズいです。
和田さんがおっしゃところの「パッチ」を、私自身は一行も書いて
いないのですから。
コードはすべて、しっぽ愛好家 さんがお書き下さったものです。
せっかくこんなすごいコードをご提示下さいましたのに、それを
mr2h さんは tarticle と platex じゃないと動かないと誤解なさ
ってらしたようなので、jlreq と uplatex でちょっと試してみま
した。
あと、和田さんがご案内のあべのりさんの github の Issues の
ページには、tochu.sty の使用例も載っていますので、jlreq で
tochu.sty が使えないというのもやはり誤解なんじゃないかな、
という気もします(自分では試してはいませんけれど)。
追記の類いはしないつもりだったのですが、
> ut さんのパッチを適用して TL2025 で試してみました。
>
> ログファイルには、以下のように ut さんの意図されたと思われる
> 警告メッセージが記録jはされているのですが
等々というのはさすがにマズいです。
和田さんがおっしゃところの「パッチ」を、私自身は一行も書いて
いないのですから。
コードはすべて、しっぽ愛好家 さんがお書き下さったものです。
せっかくこんなすごいコードをご提示下さいましたのに、それを
mr2h さんは tarticle と platex じゃないと動かないと誤解なさ
ってらしたようなので、jlreq と uplatex でちょっと試してみま
した。
あと、和田さんがご案内のあべのりさんの github の Issues の
ページには、tochu.sty の使用例も載っていますので、jlreq で
tochu.sty が使えないというのもやはり誤解なんじゃないかな、
という気もします(自分では試してはいませんけれど)。