标题页前的空白页使用缩进部分

标题页前的空白页使用缩进部分

我正在尝试缩进除所有标题之外的所有内容。我尝试使用此方法用于缩进所有普通文本。但是,如果我将它与\title命令或标题页结合使用(如下所示),则会在标题页开始之前获得一个额外的空白页。(如果我应用 foot 和 head 元素,这些元素将显示在空白页上)

我的猜测是,上面链接的方法添加了某种空白空间,从而移动了整个标题页,但我无法使其正常工作。

\documentclass[english,liststotoc]{scrartcl}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{float}

\usepackage{titlesec}

%% https://tex.stackexchange.com/questions/79521/indent-all-the-normal-text
\newcommand*{\LeftMargin}{0.5cm}%
\newcommand*{\RightMargin}{0.0cm}%

\def\ChangeMargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}%
\let\endChangeMargin\endlist%
\AtBeginDocument{\ChangeMargin{\LeftMargin}{\RightMargin}}
\AtEndDocument{\endChangeMargin}

\titlelabel{\hspace*{-\LeftMargin}\thetitle~}

\begin{document}

\begin{titlepage}

TEST

\end{titlepage}

CONTENT

\end{document}

答案1

使用 KOMA-Script 类,您可以重新定义\sectionlinesformat以移动页边距中的节号。要放大页眉和页脚,您必须使用页眉和页脚包。

scrlayer-scrpage

建议与 KOMA-Script 类一起使用的页眉和页脚包是scrlayer-scrpage

\documentclass[
  english,
  listof=totoc,
  %twoside,
  parskip=half- % using parskip instead parindent
]{scrartcl}[2015/10/03]
\usepackage{blindtext}% dummy text

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

\newcommand\LeftMargin{.5cm}
\renewcommand*\sectionlinesformat[4]{%
  \ifstr{#3}{}{}{\hspace*{-\LeftMargin}}% unnumbered sections are not shifted
  #3#4%
}
\usepackage[
  headwidth=\the\textwidth+\LeftMargin:-\LeftMargin:\LeftMargin% enlarge the headwidth
  ,headsepline% to make the header visible
  ,footwidth=head:-\LeftMargin:\LeftMargin% enlarge the footwidth
  ,footsepline% to make the footer visible
]{scrlayer-scrpage}

\begin{document}

\begin{titlepage}
TEST
\end{titlepage}

\tableofcontents
\blinddocument
\end{document}

结果:

在此处输入图片描述


scrpage2

请注意scrpage2已过时。它的后继者是scrlayer-scrpage。以下示例不适用于双面文档,因为scrpage2不知道奇数页和偶数页的不同偏移量。

\documentclass[
  english,
  listof=totoc,
  parskip=half- % using parskip instead parindent
]{scrartcl}[2015/10/03]
\usepackage{blindtext}% dummy text

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

\newcommand\LeftMargin{.5cm}
\renewcommand*\sectionlinesformat[4]{%
  \ifstr{#3}{}{}{\hspace*{-\LeftMargin}}% unnumbered sections are not shifted
  #3#4%
}
\usepackage[headsepline,footsepline]{scrpage2}
\pagestyle{scrheadings}
\setheadwidth[-\LeftMargin]{\dimexpr\textwidth+\LeftMargin\relax}
\setfootwidth[-\LeftMargin]{head}

\begin{document}

\begin{titlepage}
TEST
\end{titlepage}

\tableofcontents
\blinddocument
\end{document}

fancyhdr

这里还有一个适用fancyhdr于单面和双面文档的建议。

\documentclass[
  english,
  listof=totoc,
  %twoside,
  parskip=half- % using parskip instead parindent
]{scrartcl}[2015/10/03]
\usepackage{blindtext}% dummy text

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

\newcommand\LeftMargin{.5cm}
\renewcommand*\sectionlinesformat[4]{%
  \ifstr{#3}{}{}{\hspace*{-\LeftMargin}}% unnumbered sections are not shifted
  #3#4%
}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhfoffset[L]{\LeftMargin}
\renewcommand\footrulewidth{.4pt}% to make the footer visible

\begin{document}

\begin{titlepage}
TEST
\end{titlepage}

\tableofcontents
\blinddocument
\end{document}

答案2

注意:我还没有被允许发表评论,所以我把这个写成答案(尽管它不是解决问题的办法)。如果这是个问题,我会删除它。


您说得对:问题似乎是文本基本上被放入一个没有任何标签的项目的列表环境中。您可以通过\item[Here is an item]在定义中写类似的东西来证明这是一个原因,然后这是一个商品将显示在第一页。(可快速复制粘贴的代码如下)。

我不确定是否有解决方案可以修复这种实现所有正常文本缩进的特定方法。我还没有研究为什么这样做的原因你链接到的答案

用代码让问题变得可见

\documentclass[english,liststotoc]{scrartcl}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{float}

\usepackage{titlesec}

%% https://tex.stackexchange.com/questions/79521/indent-all-the-normal-text
\newcommand*{\LeftMargin}{0.5cm}%
\newcommand*{\RightMargin}{0.0cm}%

\def\ChangeMargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[Here is an item]}%
\let\endChangeMargin\endlist%
\AtBeginDocument{\ChangeMargin{\LeftMargin}{\RightMargin}}
\AtEndDocument{\endChangeMargin}

\titlelabel{\hspace*{-\LeftMargin}\thetitle~}

\begin{document}

\begin{titlepage}

TEST

\end{titlepage}

CONTENT

\end{document}

编辑:

也许回答这个问题您所链接的内容也为您提供了一个很好的起点。

相关内容