[Tex/LaTex] how to change chapter/section style in tufte-book

sectioningtufte

i used this code but there is an error:

! Use of \@ doesn't match its definition.

I'm trying to make my book such as:

‎\documentclass[a4paper,14pt,twoside]{tufte-book}‎
\usepackage{amsthm,amssymb,amsmath}‎

‎\usepackage{graphicx‎ ,‎xcolor‎ ,‎mdframed}‎
‎‎\usepackage[version=0.96]{pgf}‎

%‎\input{mystyle}‎
‎
\setcounter{secnumdepth}{3}
‎\usepackage{color‎}‎
‎\def\chpcolor{blue!45}‎
‎\def\chpcolortxt{blue!60}‎

%Section: ---------------------------------------------------------------------------------
‎\def\@makesectionhead#1{‎ 
‎   { \vspace{20pt}‎
‎   \parindent 0pt \raggedleft \sectionfont‎ 
    \colorbox{\chpcolor} { \parbox[c][17pt][c]{90pt}{\color{white} \hfill \thesection‎ }}
‎   \hspace*{5pt}‎
‎   \vspace{10pt}‎
‎   \begin{minipage}[c][17pt][c]{\textwidth}‎
    ‎   \color{\chpcolortxt} #1‎
‎   \end{minipage}‎
‎   }‎
 }
‎\def\section{\@afterindentfalse \secdef\@section\@ssection}‎
‎\def\@section[#1]#2{\ifnum \c@secnumdepth >\m@ne‎
 ‎\refstepcounter{section}‎
 ‎\addcontentsline{toc}{section}{\protect‎
 ‎\numberline{\thesection}#1}\else‎
 ‎\addcontentsline{toc}{section}{#1}\fi‎
 ‎\sectionmark{#1}‎
 ‎\if@twocolumn\@topnewpage[\@makesectionhead{#2}]‎
 ‎\else \@makesectionhead{#2}\@afterheading \fi}‎
\def\@ssection#1{\if@twocolumn \@topnewpage[\@makesectionhead{#1}]‎
    ‎\else \@makesectionhead{#1}\@afterheading\fi}‎


‎

‎\begin{document}‎
‎‎\chapter{chapter}‎‏‎
This ‎is ‎test.‎
‎‎\section{section}‎‎
This ‎is ‎test.‎
‎\end{document}‎

Best Answer

After removing all the invisible characters from your input, there are still some problems. For instance, in order to use commands with @ in their name, you have to surround the code with \makeatletter and \makeatother.

I have tried to correct the small problems of your code; here is a version with only the needed packages. I tried to guess the meaning of \sectionfont.

\documentclass[a4paper,twoside]{tufte-book}

\usepackage{xcolor}

\def\chpcolor{blue!45}
\def\chpcolortxt{blue!60}
\def\sectionfont{\sffamily\LARGE}

\setcounter{secnumdepth}{2}

\makeatletter
%Section:
\def\@sectionstrut{\vrule\@width\z@\@height12.5\p@}
\def\@makesectionhead#1{%
  {\par\vspace{20pt}%
   \parindent 0pt\raggedleft\sectionfont
   \colorbox{\chpcolor}{%
     \parbox[t]{90pt}{\color{white}\@sectionstrut\@depth4.5\p@\hfill
       \ifnum\c@secnumdepth>\z@\thesection\fi}%
   }%
   \begin{minipage}[t]{\dimexpr\textwidth-90pt-2\fboxsep\relax}
   \color{\chpcolortxt}\@sectionstrut\hspace{5pt}#1
   \end{minipage}\par
   \vspace{10pt}%
  }
}
\def\section{\@afterindentfalse\secdef\@section\@ssection}
\def\@section[#1]#2{%
  \ifnum\c@secnumdepth>\m@ne
    \refstepcounter{section}%
    \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
  \else
    \phantomsection
    \addcontentsline{toc}{section}{#1}%
  \fi
  \sectionmark{#1}%
  \if@twocolumn
    \@topnewpage[\@makesectionhead{#2}]%
  \else
    \@makesectionhead{#2}\@afterheading
  \fi
}
\def\@ssection#1{%
  \if@twocolumn
    \@topnewpage[\@makesectionhead{#1}]%
  \else
    \@makesectionhead{#1}\@afterheading
  \fi
}
\makeatother

\begin{document}
\chapter{Chapter title}
This is a test.

\section{The Laplace transform}
This is a test.

\end{document}

enter image description here

Related Question