删除书籍类别中的“章节”字样,同时在白色边距中输入编号

删除书籍类别中的“章节”字样,同时在白色边距中输入编号

我正在写书本课的论文,我在 Linux 下的 Kile 中工作。因此,这是我的 latex 代码的概述:

\documentclass[a4paper,10pt]{book}
\usepackage[utf8]{inputenc}

% ### Chapter title style ###
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        %\huge\bfseries \@chapapp\space \thechapter
        \Huge\bfseries \thechapter.\space%
        %\par\nobreak
        %\vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother

% put section numbers in white marigin
\makeatletter 
\def\@seccntformat#1{\llap{\csname the#1\endcsname\quad}} 
\makeatother 


\begin{document}

 \chapter{Introduction}

 \section{First section}

 \section{Second section}


\end{document}

取消单词 chapter 的代码来自stachexchange 上的这个主题

该文件如下所示:

在此处输入图片描述

因此,为了清楚起见,我希望数字 1 也位于白色边缘。

答案1

外面的(任何东西)的代码\@seccntformat与的基本上相同\chapter,但是,通常有一个垂直跳跃,并且必须unskipped回到原来的位置。

稍后删除该showframe包——它只是为了显示数字现在位于常规文本主体之外。

\documentclass[a4paper,10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{showframe}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@\normalfont\raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne%
    \if@mainmatter%
    \Huge\bfseries\llap{\thechapter.\hfill\space}%
    \vskip-\baselineskip
    \fi%
    \fi%
    \interlinepenalty\@M
    \nobreak\Huge\bfseries #1\nobreak%%
    \vskip 40\p@
  }
}

\def\@seccntformat#1{\llap{\csname the#1\endcsname\quad}} 
\makeatother

\usepackage{blindtext}

\begin{document}
\chapter{First longer chapter title}
\section{First section}
\chapter{Second}

\blinddocument
\end{document}

在此处输入图片描述

更新

\documentclass[a4paper,10pt]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{showframe}

\newcommand{\INSANELYHUGE}{\fontsize{100}{120}\selectfont}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@\normalfont\raggedright \normalfont%
    \ifnum \c@secnumdepth >\m@ne%
    \if@mainmatter%
    \INSANELYHUGE\bfseries\llap{\thechapter.\hfill\space}%
    \vskip-\baselineskip
    \fi%
    \fi%
    \interlinepenalty\@M
    \nobreak\INSANELYHUGE\bfseries #1\nobreak%%
    \vskip 40\p@
  }
}

\def\@seccntformat#1{\llap{\csname the#1\endcsname\quad}} 
\makeatother



\usepackage{blindtext}

\begin{document}
\chapter{First longer chapter title}
\section{First section}
\chapter{Second}

\blinddocument
\end{document}

相关内容