以下 LaTeX 代码在我的笔记本电脑上运行良好,但在我朋友的电脑上却不行。我们都在使用 Texmaker。问题似乎出在 section 命令上,它给了我错误消息:“缺少数字,视为零”和“非法计量单位(插入 pt)”
\documentclass[12pt,DIV = 15, titlepage,bibtotoc]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fourier,avant}
\usepackage[pdftex]{graphicx}
\usepackage[font=footnotesize,bf,sf]{caption}
\usepackage[onehalfspacing]{setspace}
\parindent0pt
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{wallpaper}
\usepackage{hyperref}
\usepackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
\usepackage{titlesec, blindtext, color}
\definecolor{gray75}{gray}{0.75}
\newcommand{\hsp}{\hspace{20pt}}
\titleformat{\chapter}[hang]{\Huge\bfseries}{\thechapter\hsp\textcolor{gray75}{|}\hsp}{0pt}{\huge\bfseries}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyhead[R]{\rightmark}
\cfoot{\thepage}
\begin{document}
\chapter{works}
\subsection*{Doesn't}
Why not?
\end{document}
这可能是什么问题?
答案1
不要将包titlesec
与 KOMA-Script 类一起使用。使用 KOMA-Script 命令可以获得与章节标题相同的格式。
\renewcommand\chapterformat{%
\thechapter\hspace*{20pt}\textcolor{gray75}{|}\hspace*{20pt}%
}
\addtokomafont{chapter}{\Huge\rmfamily}
补充说明:
- 对 option 使用新的语法
bibliography=totoc
。 - 删除
pdftex
包的选项graphicx
。 - 如果应该用
\parskip
来\parindent
标记新段落,请使用 class 选项parskip
及其值之一full
,half
等等(请参阅 KOMA-Script 文档)。 - 您的示例中无需加载包。您可以使用或
caption
更改标题及其标签的字体。\addtokomafont
\setkomafont
hyperref
应该是最后一个包。
代码:
\documentclass[12pt,DIV = 15,titlepage,
bibliography=totoc % <- changed syntax
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fourier,avant}
\usepackage{graphicx} % <-remove option pdftex
\usepackage[onehalfspacing]{setspace}
\setlength{\parindent}{0pt} % <- do really want no paragraph mark?
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{wallpaper}
\usepackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
\usepackage{color}
\definecolor{gray75}{gray}{0.75}
\renewcommand\chapterformat{%
\thechapter\hspace*{20pt}\textcolor{gray75}{|}\hspace*{20pt}%
}
\addtokomafont{chapter}{\Huge\rmfamily}
\addtokomafont{caption}{\footnotesize}% <- instead using package caption
\addtokomafont{captionlabel}{\bfseries\sffamily}% <- <- instead using package caption
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyhead[R]{\rightmark}
\cfoot{\thepage}
\usepackage{blindtext}% dummy text
\usepackage{hyperref}% last package
\begin{document}
\chapter{works}
\subsection*{Doesn't}
Why not?
\begin{figure}[htb]
\centering
\rule{3cm}{2cm}%
\caption{A caption}%
\end{figure}
\blinddocument
\end{document}
请注意,如果您使用fancyhdr
KOMA-Script 类,则必须重新定义\fancyhead
并\fancyfoot
(如在代码中一样)删除旧的字体命令等\sl
。
但是 KOMA-Script 文档中页眉和页脚的推荐包是scrlayer-scrpage
。
\documentclass[12pt,DIV = 15,titlepage,
bibliography=totoc % <- changed syntax
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fourier,avant}
\usepackage{graphicx} % <-remove option pdftex
\usepackage[onehalfspacing]{setspace}
\setlength{\parindent}{0pt} % <- do really want no paragraph mark?
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{wallpaper}
\usepackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
\usepackage{color}
\definecolor{gray75}{gray}{0.75}
\renewcommand\chapterformat{%
\thechapter\hspace*{20pt}\textcolor{gray75}{|}\hspace*{20pt}%
}
\addtokomafont{chapter}{\Huge\rmfamily}
\addtokomafont{caption}{\footnotesize}% <- instead using package caption
\addtokomafont{captionlabel}{\bfseries\sffamily}% <- <- instead using package caption
\usepackage[autooneside=false,automark,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\leftmark}
\ohead{\rightmark}
\cfoot*{\pagemark}
\addtokomafont{pageheadfoot}{\upshape}
\renewcommand\chaptermarkformat{}
\renewcommand\sectionmarkformat{}
\usepackage{blindtext}% dummy text
\usepackage{hyperref}
\begin{document}
\chapter{works}
\subsection*{Doesn't}
Why not?
\begin{figure}[htb]
\centering
\rule{3cm}{2cm}%
\caption{A caption}%
\end{figure}
\blinddocument
\end{document}
也许您也可以删除包wallpaper
,因为您可以定义一个附加层来使用背景图像。
titlesec
如果你确实想与 KOMA-Script 类一起使用,并且你拥有titlesec
版本 2.10.2,那么你必须安装KOMA-Script 3.20 预发布版。如果您的titlesec
是版本 2.10.1,那么您也必须更新此包。