放置索引/目录而不分页

放置索引/目录而不分页

我想删除强制插入的分页符\tableofcontents,到目前为止,我在浏览论坛/StackExchange 时没有取得太大成功。[我添加了页面边框只是为了显示页面分隔]

示例页面输出

在我发布的示例图像中,我希望第 2 页的内容紧接着出现在中心State of Uttar Pradesh and Others(第 1 页给出)。

我正在使用 XeTeX,这是我的代码中的相关部分。

我编写了一个名为的自定义类文件vakalatnama.cls,其中包含:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{vakalatnama}[2020/09/15 Vakalatnama template for Indian courts]

\LoadClass{article}

\RequirePackage{xparse}
\RequirePackage[driver=xetex,a4paper,noheadfoot,includeheadfoot,nomarginpar,top=1.5in,bottom=1.5in,left=1.75in,right=1.0in]{geometry}
\RequirePackage{xunicode}
% \RequirePackage{xltxtra}

% Make entries in the index table as links
\RequirePackage[linktocpage=true]{hyperref}

% Set font to Times New Roman
\RequirePackage{fontspec}
\setmainfont{Times New Roman}

% line spacing = 1.5
\RequirePackage[onehalfspacing]{setspace}

\RequirePackage[parfill]{parskip}

% Format section title to have numbers in Table of Contents, but not in document
\RequirePackage{titlesec}
\titleformat{\section}{\center \normalfont \bfseries}{}{0pt}{\newpage}
\setcounter{section}{1}

\RequirePackage{fontenc}
\hyphenation{con-sti-tu-tion-al}

% Set title of Table of Contents from Contents -> Particulars. '*' implies that
% the argument must not be in multiple paragraphs i.e. /long
\renewcommand*{\contentsname}{
    \centering{\underline{\textsc{\large{Index}}}} \\
    \parbox{25pt}{\textbf{Si. No.}} \hfill \underline{\textbf{Particulars}} \hfill \underline{\textbf{Page}}
}

\newcommand{\dhc}{Delhi High Court}
\newcommand{\sci}{Supreme Court of India}
\newcommand{\petitioner}[1]{\newcommand{\@petitioner}{#1}}
\newcommand{\respondent}[1]{\newcommand{\respndt}{#1}}
\newcommand{\court}[1]{\newcommand{\crt}{#1}}
\newcommand{\jurisdiction}[1]{\newcommand{\jurisdctn}{#1}}
\newcommand{\petitiontype}[1]{\newcommand{\ptntype}{#1}}

\NewDocumentCommand {\setname} {O{Shri} m m} { % Title (default=Shri), first, last
    \newcommand {\tfname} {#1 #2 #3} % Full name with title
    \newcommand {\fname} {#2 #3} % first + last name
    \newcommand {\tlname} {#1 #3} % title + last name
}

\newcommand{\advocate}[2][Shri]{
    \newcommand{\adv}{#2}
    \newcommand{\fulladv}{#1 #2}
}


\newcommand{\clientdetails}[1]{\newcommand{\clntdtls}{#1}}

\newcommand{\caseNumbers}[2]{
    \newcommand{\fullcasenumber}{#1 of #2}
    \newcommand{\shortcasenumber}{#1/#2}
}


\newcommand{\caseTitle}{
    \begin{center}
        \textsc{In the \crt{}} \newline
        \textsc{\jurisdctn{}} \newline
        \textsc{\ptntype{} \fullcasenumber{}} \newline
    \end{center}
}

\newcommand{\inmatterof}{%
    % \begin {flushleft}
        \begin{tabular}{l c r}
             \multicolumn{3}{l}{\underline{\textsc{In the matter of:}}}  \tabularnewline
             \tabularnewline
             \@petitioner & \ldots & Petitioner \tabularnewline
             & -- \textsc{versus} -- & \tabularnewline
             \respndt & \ldots & Respondent \tabularnewline
        \end{tabular}
   % \end{flushleft}
}

\newcommand{\parties}{%
    \begin {center}
        \begin{tabular}{l c r}
             \@petitioner & \ldots & Appellant/Petitioner \\ %\tabularnewline
             {} & -- \textsc{Between/And} -- & {}  \\ %\tabularnewline
             \respndt & \ldots & Defendant/Respondent/Opposite Party \\ % \tabularnewline
        \end{tabular}
    \end{center}
}

\newcommand{\tophead}{%Roll the Court Name, petition etc into a single command
    \caseTitle{}
    \inmatterof{}
}

\ProcessOptions\relax
\endinput

并且有一个单独的 tex 文件,cover.tex其中包含:

\tophead{}
\tableofcontents
\vfill*
\textbf{Advocate for the Respondent: \respndt{}} 

还有第三个文件,main.tex它仅提供这些函数的参数,这是我用于编译的文件。其内容main.tex如下:

\documentclass{vakalatnama}
\setcounter{tocdepth}{1}
\begin{document}

\petitioner{Test Petitioner}
\court{Supreme Court Of India}
\respondent{State of Uttar Pradesh and Others}
\jurisdiction{Criminal Appellate Jurisdiction}
\petitiontype{SLP (Civil)}
\caseNumbers{1152}{2000}

\input{cover.tex}
\section{yyy} 
\section{zzz}
\end{document} 

我会非常非常非常感谢您的帮助。

答案1

请注意,将格式放在宏中是不好的做法\zzzname,它们专门用于将文本名称与格式分开,因此可以轻松翻译它们而不必复制格式,但是我并不建议在这里进行更改。

行首的空格被删除,这包括\hfill这就是为什么索引向右对齐的原因。\hspace*是一种\hspace可以防止这种情况发生的变体:

\par\noindent\hspace*{\fill}Index\hspace*{\fill}\\*

将使文本居中。

\tableofcontentsarticle课堂上是\section*所以受到你的声明的影响

\titleformat{\section}{\center \normalfont \bfseries}{}{0pt}{\newpage}

强制打开新页面。如果您希望后面的部分有此内容,但不在前言部分,请使用

\newcommand\secpagebreak{}
\titleformat{\section}{\centering \normalfont \bfseries}{}{0pt}{\secpagebreak}

所以它开始什么都不做,然后在某个时候

\renewcommand\secpagebreak{\clearpage}

因此接下来的部分将从新的一页开始(并使用\clearpage而不是仅仅 来防止浮动图形流过该点\newpage)。

相关内容