アドバイスが欲しいです。
\footnote{...}
はページ下部に脚注を入れることができますが、これと同様の使い方で、その出力位置を任意に設定できるコマンドを作りたいと考えているのですが、いかんせんTeX、LaTeXの知識が少なく、苦戦しています。
具体的には、
保毛\mynote{%
保毛太郎は1980年生まれの数学者であり、専門はfuga多様体である。
現在はpiyo大学理学部准教授である。}%
らは、~と主張している。
しかしながら、Foobar\mynote{%
L. Foobarは1975年生まれの数学者であり、専門はFoobaz多様体である。
現在、Barbaz研究所上席研究員である。
}%
は、~と主張している。
〈文章〉
\outputmynote
と入力すれば、
保毛らは、~と主張している。
しかしながら、Foobarは、~と主張している。
〈文章〉
*1 保毛太郎は1980年生まれの数学者であり、専門はfuga多様体である。
現在はpiyo大学理学部准教授である。
*2 L. Foobarは1975年生まれの数学者であり、専門はFoobaz多様体である。
現在、Barbaz研究所上席研究員である。
といったように出力されるようにしたいです。
\title{...}
、\author{...}
などと\maketitle
の関係に近いかもしれません。
「\mynote{...}
とするとカウンタを1増やしたうえで、引数の中身を保存し、\outputmynote
でカウンタ分それらを吐き出し、カウンタをリセット」という設計にしようと考えたのですが、カウンタは\stepcounter{...}
でよいとして、複数の\mynote{...}
の引数の中身をどう格納し、出力させればよいかわからず苦戦しています。
\footnote{...}
の機構を理解していればわかるのかもしれませんが、知識不足もあいまって理解していません(そもそもどこで定義されているのかすら知らない状態です)。
現在、単一のコマンド\mynote{...}
ではなく、\mynotei{...}
、\mynoteii{...}
、\mynoteiii{...}
といったように、それぞれ定義することで何とか運用していますが、やはり単一のコマンド\mynote{...}
で処理できるようにしたいです。
何の参考にもならないとは思いますが、現在の愚直な実装を載せてみます。「こいつはこういうことがしたいのか」というのはご理解いただけるかと思い、恥を承知で載せます。
是非アドバイスをいただけると嬉しいです。よろしくお願いします。
\documentclass{ltjsarticle}
\usepackage{tcolorbox}
\makeatletter
\NewDocumentCommand\@mynotetexti{}{}
\NewDocumentCommand\@mynotetextii{}{}
\NewDocumentCommand\@mynotetextiii{}{}
\NewDocumentCommand\mynotei{+m}
{%
\textsuperscript{*1}%
\RenewDocumentCommand\@mynotetexti{}{\item #1}%
}
\NewDocumentCommand\mynoteii{+m}
{%
\textsuperscript{*2}%
\RenewDocumentCommand\@mynotetextii{}{\item #1}%
}
\NewDocumentCommand\mynoteiii{+m}
{%
\textsuperscript{*3}%
\RenewDocumentCommand\@mynotetextiii{}{\item #1}%
}
\NewDocumentCommand\outputmynote{}
{
\begin{tcolorbox}[title={補足情報},fonttitle=\sffamily]
\begin{enumerate}
\@mynotetexti\@mynotetextii\@mynotetextiii
\end{enumerate}
\end{tcolorbox}
}
\makeatother
\begin{document}
保毛\mynotei{%
保毛太郎は1980年生まれの数学者であり、専門はfuga多様体である。
現在はpiyo大学理学部准教授である。}%
らは、~と主張している。
しかしながら、Foobar\mynoteii{%
L. Foobarは1975年生まれの数学者であり、専門はFoobaz多様体である。
現在、Barbaz研究所上席研究員である。
}%
は、~と主張している。
〈複数の文〉
\outputmynote
\end{document}