Latex:为什么这些部分缩进太多了?

时间:2017-12-02 22:26:14

标签: latex

我正在编写一个包含章节的乳胶文档,但是各个部分都在缩小。冒你无聊的风险,这是代码。我试图包含一个最小的可验证的例子,但我可能错过了一些东西。

\chapter{In the begin there was Euclid}

\section{Greatest Common Divisor}

And some things.

\begin{lstlisting}
func GCD(a int32, b int32) int32 {
    var u int32
    var v int32
    var t int32
    var x int32

    if a < 0 && a < -math.MaxInt32 {
        fmt.Println("GCD: integer overflow")
        a = -a
    }
    if b < 0 && b < -math.MaxInt32 {
        fmt.Println("GCD: integer overflow")
        b = -b
    }
    if b == 0 {
        x = a
    } else {
        u = a
        v = b
        for v != 0 {
            t = u % v
            u = v
            v = t
        }
        x = u
    }
    return x
}
\end{lstlisting}

And more.

\section{Section 2}

And some stuff.

\begin{lstlisting}

func XGCD(a int32, b int32) (int32, int32, int32) {
    var u, v, u0, v0, u1, v1, u2, v2, q, r int32
    var aneg, bneg int32

    if a < 0 {
        if a < -math.MaxInt32 {
            fmt.Println("XGCD: integer overflow")
        }
        a = -a
        aneg = 1
    }

    if b < 0 {
        if b < -math.MaxInt32 {
            fmt.Println("XGCD: integer overflow")
        }
        b = -b
        bneg = 1
    }

    u1 = 1
    v1 = 0
    u2 = 0
    v2 = 1
    u = a
    v = b

    for v != 0 {
        q = u / v
        r = u % v
        u = v
        v = r
        u0 = u2
        v0 = v2
        u2 = u1 - q*u2
        v2 = v1 - q*v2
        u1 = u0
        v1 = v0
    }
    if aneg != 0 {
        u1 = -u1
    }
    if bneg != 0 {
        v1 = -v1
    }
    return u, u1, v1
}
\end{lstlisting}

问题是第二部分总是缩进得太远,好像它是第一部分的一个子部分。这是一张图片(拍摄屏幕截图后添加了红色文字)。enter image description here

我认为它与分页符有关。

该页面包含在以下文档中。

\documentclass[a4paper,twoside]{scrbook}
\usepackage{amsmath,amsthm,verbatim,amssymb,amsfonts,amscd, graphicx, listings}
\usepackage{graphics}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem{corollary}{Corollary}
\newtheorem{lemma}{Lemma}
\newtheorem{proposition}{Proposition}
\newtheorem*{surfacecor}{Corollary 1}
\newtheorem{conjecture}{Conjecture} 
\newtheorem{question}{Question} 
\theoremstyle{definition}
\newtheorem{definition}{Definition}

\begin{document}
\title{Number Theory and Abstract Algebra for Programmers}
\author{Kilgore Trout}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\include{introduction}
\include{in_the_beginning_there_was_euclid}
\include{and_then_there_were_groups}

\end{document}

我尝试删除所有软件包并尽量减少整个过程,但没有任何效果。是否存在 lstlisting 跨页的问题?我错过了某个闭幕词吗?为什么页面4到目前为止缩进了?

更新:我认为这不是导致问题的分页符。我在新版块之前添加了\clearpage,它仍然与上一部分嵌套。

1 个答案:

答案 0 :(得分:1)

这是Book文档类型的正常行为。

左页在左边有一个补充边距,而右页在右边有这个补充边距。这些边距在这里是旁注。 (像费马这样的民间用途很重要......)

你的第二部分碰巧在第二页,这解释了你看到的边缘。

有关图书类边距的详细信息,请查看this answer