راحتترین راه اینه که تعریف دستور \tableofcontennts رو تغییر بدی:
کد: [انتخاب]
\renewcommand\tableofcontents{%
\begin{staticcontents*}{sidebar}
\begin{center}
\@starttoc{toc}%
\end{center}
\end{staticcontents*}
}
از اونجایی که در side bar معمولاً احتیاجی به شماره \section یعنی همون \thsection نیست باید کاری کنی که این شماره در side bar نیاد:کد: [انتخاب]
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
#7}}%
\fi
\@xsect{#5}}
همچنین در side bar احتیاجی به شماره صفحه \section هم نیست پس باید از شر شماره صفحه هم در side bar خلاص بشی:کد: [انتخاب]
\renewcommand*\l@section[2]{%
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
\addvspace{0.1em \@plus\p@}%
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\if@RTL\rightskip\else\leftskip\fi\@tempdima
\hskip -\if@RTL\rightskip\else\leftskip\fi
\tiny#1\hfill\nobreak\par
\endgroup
\fi}
حالا فقط کافیه در شروع نوشتار از دستور \tableofcontents استفاده کنی.