ToC 中编号 \part 的行为

ToC 中编号 \part 的行为

我有一份包含多个文件的文档,\part而我在 中编写了所有下部章节\paragraph。在目录中,一切都按我所想的那样运行,只是\part部分(抱歉措辞......)以奇怪的方式显示:LaTeXplus 1.0fil在同一行中打印,就在部分的编号所在的同一位置。

这是为什么?有人知道如何消除这种情况吗?我的(冗长的)序言是否也存在这种情况?

最好的办法是去掉 的编号\part。我会使用 \chapter,但在文本部分,它的格式不一样\part(坦率地说,我还不明白为什么)。

您可能已经从我写作的原因和方式中了解到,我不是 LaTeX 专家。我对编程有一些了解,但这并没有帮助我摆脱这种困境。

抱歉,文件太长了。我无法缩短它,否则可能会让人无法看清到底发生了什么。

期待任何评论。

这是我的测试文件(大部分是序言):

\AtBeginDocument{\newcommand{\version}{Version 0.0.1}}
 % support copying from PDF and full text search
% (together with cmap.sty (v.i.):
\input glyphtounicode
\pdfgentounicode=1

\documentclass[%
           ,abstracton % centered headline in abstract
           ,smallheadings % small headlines
          ,headsepline,         % Trennline zum Seitenkopf  
           ]%
           {scrartcl}  % KOMA-Script article class

\usepackage{cmap} % (v.s.)
\usepackage[T1]{fontenc}   % T1 font encoding
\usepackage[utf8]{inputenc} % utf8 input encoding (Linux/Mac), oder "applemac"
\usepackage{%
  ,amsmath %für die schicken Pfeile mit Beschriftung
  ,soul         % underline(, Sperren,  strike through...)
  ,array        % extensions for tables
  ,booktabs     %       "        "      "
  ,supertabular % multi-page tables
  ,longtable    %      "          "    
  ,xcolor       % use colours
  ,colortbl     % colours in table cells
  ,textcomp     % extra (special) signs
  ,natbib       % layout of citations
  ,calc         % calculation with LaTeX results and counters
  ,url          % typeset urls
  ,tocloft      % format tables (TOC, LOF, LOT)
  ,graphicx     % include graphics
  ,paralist     % extra list environments
  ,multicol     % multi-column 
  ,ragged2e     % improve hyphenation with ragged typesetting
  ,fixltx2e     % correct bugs and extends Latex2e
  ,makeidx      % create index
  ,tikz         % \fbox-replacement with tikz and replacement of PSTricks     examples
  ,xspace % Leerzeichen nach Kontrollsequenz, z. B. \latex
    }

\makeindex % generate .idx-file -> MakeIndex
       % or xindy

\usepackage[english,ngerman]{babel} % language support
\usepackage[ngerman]{varioref}      % intelligent cross referencing
% TODO: careful with varioref!
\usepackage[right]{eurosym} % Euro-sign ( Euro-Symbol
                        %  following number)

% page number directly following TOC-entry:
% \section level
\renewcommand{\cftsecleader}{}
\renewcommand{\cftsecafterpnum}{\cftparfillskip}
% \subsection level
\renewcommand{\cftsubsecleader}{}
\renewcommand{\cftsubsecafterpnum}{\cftparfillskip}
% decrease margin in front of TOC entries
\setlength{\cftbeforesecskip}{.4\baselineskip}
\setlength{\cftbeforesubsecskip}{.1\baselineskip}

% Neue Option fürlongtable, um Tabellen > \textwidth auf der Seite
% zu zentrieren unter
% Berücksichtigung des im Rand zur Verfügung stehenden Freiraums. 
\makeatletter
\let\ORG@LT@array\LT@array
\def\LT@array[#1]{%
  \if C#1%
    \setlength{\@tempdima}{\oddsidemargin}
    \addtolength{\@tempdima}{1in}
    \LTleft=0pt plus 1fill minus \@tempdima
    \LTright=\LTleft
    \expandafter\ORG@LT@array\expandafter[\expandafter x\expandafter]%
  \else
    \@ReturnAfterFi{%
      \ORG@LT@array[{#1}]%
    }%
  \fi
}
\long\def\@ReturnAfterFi#1\fi{\fi#1}
\makeatother

\usepackage[T1]{fontenc}
\IfFileExists{tgpagella.sty}{% Palatino
    \usepackage{tgpagella}}{}


%Wenn man MinionPro hat... 
%\usepackage{MinionPro}         % serif: Adobe MinionPro
%\usepackage{MyriadPro}         % sans : Adobe MyriadPro
%\usepackage[scaled=.92]{thesans} % typewriter: TheSansMono
%\linespread{1.05} % slightly increaseleading for MinionPro

\typearea{8} % Satzspiegelberechnung gemäß DIVcalc nach Laden des
             % Schrift-Pakets durchführen

% Optischer Randausgleich und font expansion, letzteres in 3er-Schritten
% bei maximalem Schrumpfen und Ausdehnen um 1,5%
\usepackage{microtype} 
\microtypesetup{stretch=15,shrink=15,step=3}
\usepackage{lmodern}


\usepackage[toc]{multitoc} % TOC in mehreren Spalten setzen

% um Tabellenspalten mit Flattersatz zu setzen, muss \\ vor
% (z.B.) \raggedright geschätzt werden:
\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
%
% Spalten mit Flattersatz:
% left justified:
\newcolumntype{L}[1]{>{\PreserveBackslash\RaggedRight}m{#1}}
\newcolumntype{M}[1]{>{\PreserveBackslash\RaggedRight}p{#1}}
% right justified (not used in document):
\newcolumntype{R}[1]{>{\PreserveBackslash\RaggedLeft}m{#1}}
\newcolumntype{S}[1]{>{\PreserveBackslash\RaggedLeft}p{#1}}
% centred (not used in document:
\newcolumntype{Z}[1]{>{\PreserveBackslash\Centering}m{#1}}
\newcolumntype{A}[1]{>{\PreserveBackslash\Centering}p{#1}}

% Tabellen mit grauem Header und grauer hline am Ende und entsprechend
% eingestellten Schriften (in diesem Fall nur fett); Verwendung über
% \hdrow (s.u.)
%
% left justified:
\newcolumntype{H}{>{\fontseries{b}\selectfont%
    \columncolor[gray]{.8}[6pt][0pt]}l}
% centred (not used in document):
\newcolumntype{I}{>{\fontseries{b}\selectfont%
    \columncolor[gray]{.8}[6pt][0pt]}c}
% right justified (not used in document):
\newcolumntype{J}{>{\fontseries{b}\selectfont%
    \columncolor[gray]{.8}[6pt][0pt]}r}
%
\newcommand{\hdrow}[2]{%
  \multicolumn{1}{#1@{}}{%
    \raisebox{.1mm}{% Ausrichtung der Beschriftung
      #2%
    }\rule{0pt}{4mm}}% invisible line to increase the headline
} 

% Alternative ohne \multicolumn und \columncolor, direkt über \rowcolor:
%\newcommand{\Hdrow}[1]{\rowcolor[gray]{.8}#1 \\\addlinespace}

\newenvironment{tabelle}[2][c]{         %
  \renewcommand{\arraystretch}{1.2}     % Größere Abstände zwischen Zeilen
  \sffamily\small                                       %         Serifenlose und kleine Schrift
  \begin{longtable}[#1]{#2}
  }
  {\end{longtable}\renewcommand{\arraystretch}{1}% Abstände wieder
                                                 % zurücksetzen 
  \normalfont % reset font
  }

% Auch Abbildung und nicht nur die Nummer wird zum Link (abgeleitet
% aus Posting von Heiko Oberdiek;
% Verwendung: In \abbvref{label} ist ein Beispiel dargestellt
\providecommand*{\abbvrefname}{Abbildung}
\newcommand*{\abbvref}[1]{%
  \hyperref[#1]{\abbvrefname}\vref{#1}%
}

%% Box, die den Rahmen in einem Zug zieht, was zu schöneren Ergebnissen
%% fährt als \fbox:
\newcommand*{\tikzbox}[1]{%
  \tikz[baseline=(tikzbox.base)]
   \node[draw, inner sep=\fboxsep+.5\fboxrule, line width=\fboxrule]
    (tikzbox)
    {#1};%
}

%% Sperrung mit pdfTeX >= 1.40.3
\usepackage{relsize}
% Sperrung und Verkleinerung von Versalien
\newcommand{\versal}[1]{\textscale{0.9}{\textls*[80]{#1}}}
% Sperrung von Gemeinen
\newcommand{\gemein}[1]{\textls*[70]{#1}}

% Seitenstil festlegen:
\usepackage[%
            automark % automatic actualisation of column titles
           ]
{scrpage2}
% Linker Kopf leer:
\ihead{} 
% Zentrierter Kopf:
\chead{typoshort -- Some important typographic rules, \version}
% Schrift in Kolumnentiteln klein und kursiv:
\setkomafont{pagehead}{\normalfont\small\itshape}
% Zeitenzahl in MinionPro:
\setkomafont{pagenumber}{\normalfont}
% Überschriften zentriert, blau und in Serifenschrift:
\addtokomafont{sectioning}{\centering\color{myblue}\rmfamily}
% \caption fett:
\addtokomafont{captionlabel}{\bfseries}
% Label der description-Umgebung in Serifenschrift:
\addtokomafont{descriptionlabel}{\rmfamily}

% footnotes in two columns
\usepackage{dblfnote}
% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch):
\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} 
% increase space between footnote paragraphs:
\setlength{\footnotesep}{.85\baselineskip}

\renewcommand{\footnoterule}{}             % no line
\addtolength{\skip\footins}{\baselineskip} % distance text to footnote
% Fuänoten immer ganz unten auf einer \raggedbottom-Seite
\usepackage{fnpos}

\raggedbottom     % Variable Seitenhähen zulassen

\usepackage[%
  breaklinks               % Links überstehender Zeilenumbruch
  ,colorlinks              % coloured links instead of boxes
  ,citecolor=myblue        % colour for citations
  ,linkcolor=myblue        % influences table of contents
  ,urlcolor=myblue         % colour for URLs
  ,bookmarks               % bookmarks for PDF-Viewer
  ,bookmarksnumbered       % numbering for bookmarks
  ,hyperfootnotes=false    % No links to footnotes
  ,pdfpagelabels
  ,pdfstartview=FitH,      % open document "Fit Width"
  ,pdfpagemode=UseOutlines % show bookmarks in viewer
  ,bookmarksopenlevel=2    % Gliederungstiefe der Bookmarks
  ] 
  {hyperref}               % automatic links in PDF and some
                           % hypertext-functionalities 


% Farbdefinitionen:
\definecolor{myblue}{rgb}{0,.1,.6}
\definecolor{myblue2}{rgb}{0,.4,.6}
\definecolor{grau}{gray}{.4}

\usepackage[figure]{hypcap} % Links auf Gleitumgebungen springen nicht
                        % zur Beschriftung, sondern zum Anfang der
                        % Gleitumgebung 
% 3-spaltiger Index
\makeatletter
\renewenvironment{theindex}{%
  \begin{multicols}{3}[\section*{\indexname}][19\baselineskip]%
    \setlength{\parindent}{0pt}\pagestyle{plain}\let\item\@idxitem}
   {\end{multicols}}

% Ränder anpassen
\usepackage{anysize}
\marginsize{2.5cm}{2.5cm}{2.0cm}{2.0cm}  % links, rechts, oben, unten   

% Seitenstyle
\pagestyle{scrheadings}
\clearscrheadfoot
\setheadwidth{textwithmarginpar}
\ihead{HämatoOnko Ultrakurz}    % Titel der Arbeit oben links
\ohead{\pagemark}           % Seitenzahl oben rechts
\renewcommand{\baselinestretch}{1.1}

%Inhaltsverzeichnis soll \paragraph zeigen...
\setcounter{tocdepth}{5}
\usepackage{blindtext}
% TOC Styles
\usepackage[tocflat]{tocstyle}
\usetocstyle{allwithdot} 

\usepackage{enumitem}  %Reduziert space zwischen \items;                   

\setlist{nolistsep}

%\usepackage{paralist}  % Alternative für engere Listen, 
\makeatother

\usepackage{ellipsis}       % Korrekte Abstände um \dots (als letztes
            % Paket laden)
%---------------------------------------------------------------------
% Text
%---------------------------------------------------------------------


\begin{document}

\ifpdf
    \DeclareGraphicsExtensions{.pdf,.jpg,.png}
\else
    \DeclareGraphicsExtensions{.eps}
\fi

\title{HämatoOnko Ultrakurz}

\maketitle

\tableofcontents            % Inhaltsverzeichnis

\part{Allgemeines}

\paragraph{Hauptfunktionen der Zellen der Hämatopoiese}

\begin{itemize}
\item Thrombozyten:  Gerinnung
\item Leukozyten:  Spezifische und unspezifische Immunantwort
\item Erythrozyten: $O_{2}$-Transport
\end{itemize}

100 ml Blut enthalten ca. 15g Hb und 20 ml $O_{2}$. 1 g Hb
kann also 1,3 ml $O_{2}$ binden.

\part{Entwicklung}


\paragraph{Entwicklung und Reifung der Blutzellen}p

Alle drei Reihen von Blutzellen entwickeln sich (normalerweise im Knochenmark)     aus hämatopoeischen Stammzellen. Faktoren, die die Entwicklung lenken und beeinflussen sind: 

\begin{itemize}
\item der Stammzellfaktor SCF\footnote{Auch stem cell factor, Kit-Ligand oder     steel factor. Hämatopoietischer Wachstumsfaktor.}
  \item die Wachstumsfaktoren G-CSF\footnote{Colony stimulating factor: Zytokine, die das Wachtstum stimulieren (Wachstumsfaktoren). G: Granulozyten, M: Makrophagen, GM: Granulozyten+Makrophagen}, M-CSF, GM-CSF
\item   Interleukin\footnote{Zu den Zytokinen zählende Peptidhormone, die     körpereigene Botenstoffe der Zellen des Immunsystems.} 3 und 6
 \item  Erythropoetin und Thrombopoetin\footnote{Auch Meg-CSF (Megakaryozyten) oder PGF (platelet growth factor) genannt.}.
\end{itemize}


\end{document}

答案1

我昨天通过电子邮件通知了 Markus Kohm。他已经回复了,现在我有点沮丧,因为我在写邮件之前没有考虑到这一点……

原因是您误用了不会更改字体属性但会更改对齐方式的命令。请阅读 和 同伴部分(我强调)\setkomafont中的内容scrguien.pdf(当然,您也可以阅读):scrguide.pdf\setkomafont

理论上,所有可能的语句(包括文字)都可以用作命令。但是,您绝对应该将自己限制在那些实际上只切换一种字体属性的语句上。[…] 颜色切换命令[…] 也是可以接受的。使用其他命令时的行为(尤其是进行重新定义或生成输出的命令)尚未定义。奇怪的行为是可能出现的,但这并不代表存在错误。

相反,您应该使用专用的命令\raggedpart\raggedsection

请参阅以下几乎最小的示例。请注意,除了添加上述两个命令并删除不需要的包之外,我还做了一些更改 -\typearea我使用了 documentclass 选项而不是 your;我使用了 documented 选项而DIV不是 deprecated ,我使用了更新、更易于调整的;我使用它的后继者而不是(尚未弃用,但将在下一个主要的 KOMA-Script 版本 3.13 中弃用)。我还添加了一个选项,但这只是一个设计决定,所以只是一个品味问题。被停用,因为它运行不佳,可能需要进行更多微调。smallheadingsanysizegeometryscrpage2scrlayer-scrpagetocstyle\setheadwidth{textwithmarginpar}

\documentclass[%
  ,DIV=8          % calculation of type area
  ,headings=small % small headlines
  ,headsepline    % Trennline zum Seitenkopf
]{scrartcl}  % KOMA-Script article class

\usepackage{fixltx2e}

\usepackage[
  ,hmargin=2cm
  ,vmargin=2.5cm
]{geometry}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{lmodern}
\usepackage{tgpagella}% overwrites only \rmdefault of "lmodern"

\input glyphtounicode
\pdfgentounicode=1

\usepackage[english,ngerman]{babel} % language support

\usepackage{xcolor}
\definecolor{myblue}{RGB}{0,25,150}

\usepackage{ragged2e}

% Optischer Randausgleich und font expansion, letzteres in 3er-Schritten
% bei maximalem Schrumpfen und Ausdehnen um 1,5%
\usepackage{microtype}
\microtypesetup{stretch=15,shrink=15,step=3}

% Seitenstil festlegen:
\usepackage[%
  automark % automatic actualisation of column titles
]{scrlayer-scrpage}
% Seitenstyle
\pagestyle{scrheadings}
\clearscrheadfoot
%\setheadwidth{textwithmarginpar}
\ihead{HämatoOnko Ultrakurz} % Linker Kopf
\chead{} % Zentrierter Kopf
\ohead{\pagemark} % Seitenzahl oben rechts
% Schrift in Kolumnentiteln klein und kursiv:
\setkomafont{pagehead}{\normalfont\small\itshape}
\setkomafont{pagenumber}{\normalfont}

% TOC Styles
\usepackage[tocflat,toctextentriesindented]{tocstyle}% toctext... added
\usetocstyle{allwithdot}

\usepackage[toc]{multitoc} % TOC in mehreren Spalten setzen

%Inhaltsverzeichnis soll \paragraph zeigen...
\setcounter{tocdepth}{5}

% Überschriften zentriert, blau und in Serifenschrift:
\addtokomafont{sectioning}{\color{myblue}\rmfamily}
\renewcommand*{\raggedpart}{\Centering}
\renewcommand*{\raggedsection}{\Centering}

\renewcommand{\baselinestretch}{1.1}

\begin{document}

%\title{HämatoOnko Ultrakurz}
%\date{Sunday. bloody Sunday}
%\maketitle

\tableofcontents

\part{Allgemeines}

\section{Hämatopoiese}

\paragraph{Hauptfunktionen der Zellen der Hämatopoiese}

100\,ml~Blut enthalten ca.~15\,g~Hb und 20\,ml~$O_{2}$. 1\,g~Hb
kann also 1,3\,ml~$O_{2}$ binden.

\part{Entwicklung}

\section{Blutzellen}

\paragraph{Entwicklung und Reifung der Blutzellen}

Alle drei Reihen von Blutzellen entwickeln sich (normalerweise im Knochenmark)
aus hämatopoeischen Stammzellen. Faktoren, die die Entwicklung lenken und beeinflussen sind:

\end{document}

示例代码的输出

答案2

问题来自于

\addtokomafont{sectioning}{\centering}

以及包的加载tocstyle。我不熟悉,KOMA-script因此不能判断这是否\centering是合法的论据\addtokomafont{sectioning}。无论如何,tocstyle做了一些事情(似乎需要在框中进行一些排版来测量事物),这在某个时候导致了以下定义:

> \tocstyle@l@part=macro:
->\@dottedtocline {-1}{-21.90005pt plus 1.0fil}{21.90005pt}.

\let\l@part\tocstyle@l@part完成了。显然,粘合规范-21.90005pt plus 1.0fil不是\@dottedtocline作为第二个参数所期望的东西(它将段落缩进设置为该值,并且这必须是尺寸而不是粘合)。

因此,这\centeringtocstyle目录行样式的重新定义产生了不良影响。但也许将其\centering作为参数传递给\addtokomafont{sectioning}无论如何都是非法的?


对于有兴趣研究这个问题的人来说,这里有一个 MWE:

\documentclass{scrartcl}  % KOMA-Script article class

\addtokomafont{sectioning}{\centering}

\usepackage{tocstyle}

\begin{document}
\tableofcontents   

\part{Allgemeines}

\part{Entwicklung}

\end{document}

目录中有错误

相关内容