タイトル名、著者名の参照 2021年 08月 3日(火曜日) 15:32 - t t の投稿 返信数: 5 タイトル名、著者名を参照するにはどうすればよいでしょうか。 具体的には、\pagestyle{fancy} の中で、\chead{(タイトル名)by(著者名)} のように表示させたいのですが、タイトルを参照するなんてことは普通しないためか、そのような事例を見つけられませんでした。 タイトルの中に\label{~}として、\ref{-}としてももちろん参照されませんでした。 どうすればよいでしょうか。 パーマリンク 返信 t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:11 - TONE Kozaburo の投稿 若干面倒ですが、ヘッダーに出力させたいタイトル等を別途定義した文字列を使うようにすればどうですか。 \documentclass[dvipdfmx]{jsarticle} \usepackage{fancyhdr} \newcommand{\TITLE}{タイトル名}% \newcommand{\AUTHOR}{著者名}% \title{\TITLE}% 代入する \author{\AUTHOR}% 代入する \date{弐阡廿壱年葉月参日} \chead{(\TITLE)by(\AUTHOR)} \pagestyle{fancy} \begin{document} \maketitle% \section{ほげ}% ふが \newpage% なんたらかんたら \end{document} パーマリンク 親投稿を表示する 返信 TONE Kozaburo への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:48 - t t の投稿 ありがとうございます。やはり、定義とかをするしか無いのですね。 そのようにして、対処いたします。 パーマリンク 親投稿を表示する 返信 t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:21 - 帯田 木偶太 の投稿 》 タイトルの中に\label{~}として、\ref{-}としてももちろん参照されませんでした。 ということは、\title や \author を自分で入力しているということですよね。 だったら、題名、著者名を \chead の引数にそのまま与えれば済むことではないかと。 つまり \title{タイトル名} \author{著者名} \chead{タイトル名by著者名} でよいのでは? 同じ文字列を複数回入力するのを避けたいということであれば、 TONE Kozaburo さんの方法がよいでしょうけど。 パーマリンク 親投稿を表示する 返信 帯田 木偶太 への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:49 - t t の投稿 ありがとうございます。 そのとおりでございます。複数の書類に対して、同じフォーマットを使っていて、自動的にタイトルをヘッダーに表示させたかったのです。2回入力すれば済む話ではありますが、簡略化したいと思いました。 パーマリンク 親投稿を表示する 返信 t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 17:53 - 帯田 木偶太 の投稿 \title や \author は、引数を \@title、\@author に保存します。 ※ それ以外しない単純なマクロです。 従って、\@title や \@author を他のコマンドの引数にすれば、 そのマクロで文書タイトルや著者名を取り込めるはずなのですが、 \maketitle が、(使用する文書クラスに依存することですが) \@title、\@author をクリア(空に再初期化)してしまいます。 そのため、\chead の引数に与えても、実際のヘッダーの出力時には 何も出てきません。 \title、\author が実行された後で、かつ、\maketitle よりも 前に、\@title、\@author を適当な別名で保存しておけばよかろうかと 思います。 複数の文書で使うなら、 %%%% \RequirePackage{fancyhdr}\relax \AtBeginDocument{% \let\x@title=\@title \let\x@author=\@author } \chead{\x@title by\x@author} \pagestyle{fancy} \endinput %%%% というような内容のパッケージを適当なファイル名(例えば somepackage.sty とか)で 作成しておき、本文側を次のようにするとよかろうかと。 %%%% \documentclass{jarticle}\relax \usepackage{somepackage}\relax \title{タイトル名} \author{著者名} \begin{document} \maketitle 本文 \verb|\maketitle|のあるページには \verb|\pagestyle{fancy}|が適用されないので ヘッダーは出力されない。 \clearpage 本文の続き このページには中央ヘッダーが出力されるはず。 \end{document} %%%% パーマリンク 親投稿を表示する 返信
t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:11 - TONE Kozaburo の投稿 若干面倒ですが、ヘッダーに出力させたいタイトル等を別途定義した文字列を使うようにすればどうですか。 \documentclass[dvipdfmx]{jsarticle} \usepackage{fancyhdr} \newcommand{\TITLE}{タイトル名}% \newcommand{\AUTHOR}{著者名}% \title{\TITLE}% 代入する \author{\AUTHOR}% 代入する \date{弐阡廿壱年葉月参日} \chead{(\TITLE)by(\AUTHOR)} \pagestyle{fancy} \begin{document} \maketitle% \section{ほげ}% ふが \newpage% なんたらかんたら \end{document} パーマリンク 親投稿を表示する 返信 TONE Kozaburo への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:48 - t t の投稿 ありがとうございます。やはり、定義とかをするしか無いのですね。 そのようにして、対処いたします。 パーマリンク 親投稿を表示する 返信
TONE Kozaburo への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:48 - t t の投稿 ありがとうございます。やはり、定義とかをするしか無いのですね。 そのようにして、対処いたします。 パーマリンク 親投稿を表示する 返信
t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:21 - 帯田 木偶太 の投稿 》 タイトルの中に\label{~}として、\ref{-}としてももちろん参照されませんでした。 ということは、\title や \author を自分で入力しているということですよね。 だったら、題名、著者名を \chead の引数にそのまま与えれば済むことではないかと。 つまり \title{タイトル名} \author{著者名} \chead{タイトル名by著者名} でよいのでは? 同じ文字列を複数回入力するのを避けたいということであれば、 TONE Kozaburo さんの方法がよいでしょうけど。 パーマリンク 親投稿を表示する 返信 帯田 木偶太 への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:49 - t t の投稿 ありがとうございます。 そのとおりでございます。複数の書類に対して、同じフォーマットを使っていて、自動的にタイトルをヘッダーに表示させたかったのです。2回入力すれば済む話ではありますが、簡略化したいと思いました。 パーマリンク 親投稿を表示する 返信 t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 17:53 - 帯田 木偶太 の投稿 \title や \author は、引数を \@title、\@author に保存します。 ※ それ以外しない単純なマクロです。 従って、\@title や \@author を他のコマンドの引数にすれば、 そのマクロで文書タイトルや著者名を取り込めるはずなのですが、 \maketitle が、(使用する文書クラスに依存することですが) \@title、\@author をクリア(空に再初期化)してしまいます。 そのため、\chead の引数に与えても、実際のヘッダーの出力時には 何も出てきません。 \title、\author が実行された後で、かつ、\maketitle よりも 前に、\@title、\@author を適当な別名で保存しておけばよかろうかと 思います。 複数の文書で使うなら、 %%%% \RequirePackage{fancyhdr}\relax \AtBeginDocument{% \let\x@title=\@title \let\x@author=\@author } \chead{\x@title by\x@author} \pagestyle{fancy} \endinput %%%% というような内容のパッケージを適当なファイル名(例えば somepackage.sty とか)で 作成しておき、本文側を次のようにするとよかろうかと。 %%%% \documentclass{jarticle}\relax \usepackage{somepackage}\relax \title{タイトル名} \author{著者名} \begin{document} \maketitle 本文 \verb|\maketitle|のあるページには \verb|\pagestyle{fancy}|が適用されないので ヘッダーは出力されない。 \clearpage 本文の続き このページには中央ヘッダーが出力されるはず。 \end{document} %%%% パーマリンク 親投稿を表示する 返信
帯田 木偶太 への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 16:49 - t t の投稿 ありがとうございます。 そのとおりでございます。複数の書類に対して、同じフォーマットを使っていて、自動的にタイトルをヘッダーに表示させたかったのです。2回入力すれば済む話ではありますが、簡略化したいと思いました。 パーマリンク 親投稿を表示する 返信 t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 17:53 - 帯田 木偶太 の投稿 \title や \author は、引数を \@title、\@author に保存します。 ※ それ以外しない単純なマクロです。 従って、\@title や \@author を他のコマンドの引数にすれば、 そのマクロで文書タイトルや著者名を取り込めるはずなのですが、 \maketitle が、(使用する文書クラスに依存することですが) \@title、\@author をクリア(空に再初期化)してしまいます。 そのため、\chead の引数に与えても、実際のヘッダーの出力時には 何も出てきません。 \title、\author が実行された後で、かつ、\maketitle よりも 前に、\@title、\@author を適当な別名で保存しておけばよかろうかと 思います。 複数の文書で使うなら、 %%%% \RequirePackage{fancyhdr}\relax \AtBeginDocument{% \let\x@title=\@title \let\x@author=\@author } \chead{\x@title by\x@author} \pagestyle{fancy} \endinput %%%% というような内容のパッケージを適当なファイル名(例えば somepackage.sty とか)で 作成しておき、本文側を次のようにするとよかろうかと。 %%%% \documentclass{jarticle}\relax \usepackage{somepackage}\relax \title{タイトル名} \author{著者名} \begin{document} \maketitle 本文 \verb|\maketitle|のあるページには \verb|\pagestyle{fancy}|が適用されないので ヘッダーは出力されない。 \clearpage 本文の続き このページには中央ヘッダーが出力されるはず。 \end{document} %%%% パーマリンク 親投稿を表示する 返信
t t への返信 Re: タイトル名、著者名の参照 2021年 08月 3日(火曜日) 17:53 - 帯田 木偶太 の投稿 \title や \author は、引数を \@title、\@author に保存します。 ※ それ以外しない単純なマクロです。 従って、\@title や \@author を他のコマンドの引数にすれば、 そのマクロで文書タイトルや著者名を取り込めるはずなのですが、 \maketitle が、(使用する文書クラスに依存することですが) \@title、\@author をクリア(空に再初期化)してしまいます。 そのため、\chead の引数に与えても、実際のヘッダーの出力時には 何も出てきません。 \title、\author が実行された後で、かつ、\maketitle よりも 前に、\@title、\@author を適当な別名で保存しておけばよかろうかと 思います。 複数の文書で使うなら、 %%%% \RequirePackage{fancyhdr}\relax \AtBeginDocument{% \let\x@title=\@title \let\x@author=\@author } \chead{\x@title by\x@author} \pagestyle{fancy} \endinput %%%% というような内容のパッケージを適当なファイル名(例えば somepackage.sty とか)で 作成しておき、本文側を次のようにするとよかろうかと。 %%%% \documentclass{jarticle}\relax \usepackage{somepackage}\relax \title{タイトル名} \author{著者名} \begin{document} \maketitle 本文 \verb|\maketitle|のあるページには \verb|\pagestyle{fancy}|が適用されないので ヘッダーは出力されない。 \clearpage 本文の続き このページには中央ヘッダーが出力されるはず。 \end{document} %%%% パーマリンク 親投稿を表示する 返信