
패키지를 이용하여 단기 제목을 설정해 보겠습니다 xkeyval
. 하지만 xkeyval
옵션 을 사용하여 이 코딩을 실행하는 방법을 모르겠습니다.
\title[shorttitle={Cross-linked aromatic polymers}]{Stabilized sulfonated aromatic polymers by \textit{in~situ} solvothermal cross-linking}
코딩 실행 방법을 친절하게 조언해 주세요.[shorttitle={Cross-linked aromatic polymers}]
MWE
\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
키를 처리하는 데 사용하는 한 가지 가능성은 다음과 같습니다 .
\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}
결과 헤더 이미지:
선택적 인수 for를 사용하지 않으면 \title
(예: 짧은 제목이 제공되지 않음) 전체 제목 이름이 로 사용됩니다 \rightmark
. 이것이 바람직하지 않은 경우 변경하십시오.
\def\@@title#1{\markright{#1}\def\authormark{#1}\@@@title{#1}}
에게
\def\@@title#1{\def\authormark{#1}\@@@title{#1}}