xkeyval オプションを使用した短いランニングタイトル

xkeyval オプションを使用した短いランニングタイトル

パッケージを使用して短いランニングタイトルを設定してみます。しかし、オプションxkeyvalを使用してこのコードを実行する方法がわかりませんxkeyval

\title[shorttitle={Cross-linked aromatic polymers}]{Stabilized sulfonated aromatic polymers by \textit{in~situ} solvothermal cross-linking}

コーディングの実行方法についてアドバイスをお願いします[shorttitle={Cross-linked aromatic polymers}]

ムウェ

\documentclass[twocolumn]{article}

\usepackage{lipsum}


\makeatletter
\long\def\title{\@ifnextchar[{\short@title}{\@@title}}
\def\short@title[#1]{\titlemark{#1}\@@@title}
\def\@@title#1{\authormark{#1}\@@@title{#1}}
\long\def\@@@title#1{\gdef\@title{#1}}

\def\@authorrunning{}
\def\authorrunning#1{%
     \gdef\@authorrunning{#1}}

\def\ps@allpage{%
\def\@evenhead{%
\vbox{\vskip6.5pt%
\hbox to\textwidth{{\@authorrunning}\hfill{\rightmark}\strut}\vskip4.7pt
{\hrule width\textwidth height0.25pt}
}
}%
\def\@evenfoot{}%
\def\@oddfoot{}
\def\@oddhead{%
\vbox{\vskip6.5pt%
\hbox to\textwidth{{\@authorrunning}\hfill{\rightmark}\strut}\vskip4.7pt
{\hrule width\textwidth height0.25pt}
}
    \let\@mkboth\@gobbletwo
%    \let\sectionmark\@gobble
%    \let\subsectionmark\@gobble
    }
  \def\titlemark##1{\gdef\rightmark{##1}}%
  \def\authormark##1{\gdef\leftmark{##1}}%
    }

\makeatother

\begin{document}

\authorrunning{Author et~al.}

\title[shorttitle={Cross-linked aromatic polymers}]{Stabilized sulfonated aromatic polymers by \textit{in~situ} solvothermal cross-linking}

\maketitle

\pagestyle{allpage}

\section{Two}\label{s2}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\lipsum[4]
\lipsum[5]
\lipsum[6]
\lipsum[7]


\section{Three}\label{s3}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\lipsum[4]
\lipsum[5]
\lipsum[6]
\lipsum[7]
\lipsum[8]
\lipsum[9]
\lipsum[10]
\lipsum[11]
\lipsum[12]
\lipsum[13]
\lipsum[14]
\lipsum[15]
\lipsum[16]
\lipsum[17]
\lipsum[18]
\lipsum[19]


\end{document} 

私の出力と私の要件について言及しました

ここに画像の説明を入力してください

答え1

keyvalキーを処理するためにを使用する 1 つの可能性を次に示します。

\documentclass[twocolumn]{article}
\usepackage{keyval}
\usepackage{lipsum}

\def\titlemark#1{}
\def\authormark#1{}

\makeatletter
\define@key{ShortTitleKey}{shorttitle}{\markright{#1}}
\long\def\title{\@ifnextchar[{\short@title}{\@@title}}
\def\short@title[#1]{{\setkeys{ShortTitleKey}{#1}}\@@@title}
\def\@@title#1{\markright{#1}\def\authormark{#1}\@@@title{#1}}
\long\def\@@@title#1{\gdef\@title{#1}}

\def\@authorrunning{}
\def\authorrunning#1{%
     \gdef\@authorrunning{#1}}

\def\ps@allpage{%
\def\@evenhead{%
\vbox{\vskip6.5pt%
\hbox to\textwidth{{\@authorrunning}\hfill{\rightmark}\strut}\vskip4.7pt
{\hrule width\textwidth height0.25pt}
}
}%
\def\@evenfoot{}%
\def\@oddfoot{}
\def\@oddhead{%
\vbox{\vskip6.5pt%
\hbox to\textwidth{{\@authorrunning}\hfill{\rightmark}\strut}\vskip4.7pt
{\hrule width\textwidth height0.25pt}
}
    \let\@mkboth\@gobbletwo
%    \let\sectionmark\@gobble
%    \let\subsectionmark\@gobble
    }
  \def\titlemark##1{\gdef\rightmark{##1}}%
  \def\authormark##1{\gdef\leftmark{##1}}%
    }

\makeatother

\begin{document}

\authorrunning{Author et~al.}

\title[shorttitle={Cross-linked aromatic polymers}]{Stabilized sulfonated aromatic polymers by \textit{in~situ} solvothermal cross-linking}
\maketitle

\pagestyle{allpage}

\section{Two}\label{s2}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\lipsum[4]
\lipsum[5]
\lipsum[6]
\lipsum[7]


\section{Three}\label{s3}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\lipsum[4]
\lipsum[5]
\lipsum[6]
\lipsum[7]
\lipsum[8]
\lipsum[9]
\lipsum[10]
\lipsum[11]
\lipsum[12]
\lipsum[13]
\lipsum[14]
\lipsum[15]
\lipsum[16]
\lipsum[17]
\lipsum[18]
\lipsum[19]


\end{document}

結果のヘッダーの画像:

ここに画像の説明を入力してください

オプションの引数を使用しない場合\title(つまり、短いタイトルが指定されていない場合)、完全なタイトル名が として使用されます\rightmark。これを望まない場合は、

\def\@@title#1{\markright{#1}\def\authormark{#1}\@@@title{#1}}

\def\@@title#1{\def\authormark{#1}\@@@title{#1}}

関連情報