我正在尝试将答案应用到这个问题上问题在 Overleaf 中。我想给我的行编号但我不希望章节/部分标题被编号。我在应用答案时遇到了错误。这是我从 Overleaf 中截取的序言,这是在尝试调整序言中的行号部分以停止对标题进行编号之前。
我把大部分前言都放上去了,因为我在向这个论坛提交问题时几乎总是忘记相关部分。我对 Latex 也还不太熟悉。
\documentclass[11pt,twoside,openany]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\setlength\parindent{0.5in}
\usepackage[a4paper,width=150mm,top=1in,bottom=1in,bindingoffset=6mm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{fancyhdr}
\pagestyle{fancy}
% header
\fancyhead{}
\fancyhead[LO,LE]{Running Title}
\fancyhead[RO,RE]{Chapter \thechapter}
% footer
\fancyfoot{}
\fancyfoot[CE,CO]{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\usepackage{setspace}
% formatting for tables
\usepackage{multirow, makecell}
\usepackage{multicol}
% front matter
% table of contents
% http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/tocloft/tocloft.pdf
\usepackage{tocloft}
\renewcommand{\contentsname}{\hfill\bfseries\LARGE \MakeUppercase{Table of Contents}\hfill}
\renewcommand{\cftaftertoctitle}{\hfill}
% this is to make a command to make certain sections not appear in the TOC
\newcommand{\nocontentsline}[3]{}
\newcommand{\tocless}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egroup}
% list of figures
\renewcommand{\listfigurename}{\hspace*{\fill}\bfseries\LARGE \MakeUppercase{List of Figures}}
\renewcommand{\cftafterloftitle}{\hspace*{\fill}}
% list of tables
\renewcommand{\listtablename}{\hspace*{\fill}\bfseries\LARGE \MakeUppercase{List of Tables}}
\renewcommand{\cftafterlottitle}{\hspace*{\fill}}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{titlesec}
%\titleformat{\chapter}[display]{\filcenter\normalfont\LARGE\bfseries}{Chapter \thechapter}{1em}{\LARGE}
\titleformat{\chapter}[display]{\filcenter\normalfont\LARGE\bfseries}{\chaptertitlename\@ \thechapter}{1em}{\LARGE}
\titlespacing*{\chapter}{0pt}{*12}{*8}
\titleformat*{\section}{\filcenter\bfseries\Large}
\titleformat*{\subsection}{\filcenter\large\bfseries}
\titleformat*{\subsubsection}{\filcenter\normalsize\bfseries\itshape}
%\titleformat*{\paragraph}{\normalsize\bfseries}
%\titleformat*{\subparagraph}{\normalsize\bfseries}
\usepackage[style=apa,sorting=ynt]{biblatex}
\addbibresource{references.bib}
\usepackage{amsmath}
\usepackage[mathscr]{euscript}% use for script letters
\DeclareMathOperator*{\argmax}{arg\,max}% use for argmax
% other material in the preamble
\usepackage{lipsum}
\renewcommand\cftchapdotsep{\cftdotsep}
\renewcommand\cftchapleader{\cftdotfill{\cftchapdotsep}}
\usepackage[pagewise]{lineno}% Enable numbering of text and display math
\linenumbers\relax % Commence numbering lines
%-------------------------------------------------------------------
\begin{document}
\chapter{This is the first chapter}
\section{This is the first section of the first chapter}
\end{document}
我在序言的最后添加了用于开始行号的行。这可以编译,但我不想对章节/部分标题进行编号。
我提到的问题中接受的答案建议在序言中包括以下内容以进行行编号。
\usepackage{etoolbox,lineno}% http://ctan.org/pkg/{etoolbox,lineno}
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@startsection}{\@ifstar}{\nolinenumbers\@ifstar}{}{}
\patchcmd{\@xsect}{\ignorespaces}{\linenumbers\ignorespaces}{}{}
\makeatother
\linenumbers
这样做会导致 Overleaf 中出现以下错误......
etoolbox 的选项冲突包和缺少 \begin{document}
然后建议我调整第一行
\usepackage{etoolbox}
\usepackage[pagewise]{lineno}
这完全阻止了 latex 文件的编译。
我的序言中可能还有其他内容与 etoolbox 包冲突。希望我能得到有关这些错误的帮助。
答案1
该问题的解决方案专门用于当不使用titlesec
nor时,但你的序言hyperref
做加载titlesec
。
\nolinenumbers
将现有的\titleformat
章节和部分标题添加到其中就足够了:
\titleformat{\chapter}[display]
{\filcenter\normalfont\LARGE\bfseries\nolinenumbers}
{\chaptertitlename\@ \thechapter}{1em}{\LARGE}
\titleformat*{\section}{\filcenter\bfseries\Large\nolinenumbers}
...similarly for \subsection, \subsubsection...