自定义标题标记

自定义标题标记

我的标题标记无法正常工作。我不得不放弃使用原生标记sectionsubsection因此我的标题标记无法正常工作。我查看了extramarks该软件包的功能titelps,但无法弄清楚,尤其是如何与titlesec软件包一起使用。

在此 MWE 的第 3 页中,这是我想要的想法: 正确的

section但是,由于和subsection没有注册, 所以我得到了以下结果:问题

如何将Section和添加Subsection到标题标记中?或者如何强制sectionsubsection仍然增加并实际在标题标记中起作用?

这个问题与我的一个旧问题中的讨论有关。计算文本和字母的精确宽度

请跑进来XeLaTeX。

\documentclass[pagesize=pdftex, fontsize=12]{scrbook}
\usepackage[paperwidth=15.6cm, paperheight=23.4cm, top=2cm,bottom=1cm, left=1cm, right=1cm]{geometry}
\usepackage[pagestyles]{titlesec}
\usepackage{lettrine}
\usepackage{xltxtra}
\usepackage{tocloft}
\usepackage{etoolbox}
\usepackage[toc]{multitoc}
\usepackage{setspace}
\usepackage{needspace}
\usepackage{calc}
\usepackage{fix2col} %fixes numbering of the sections in the header for two columns

\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Times New Roman}

\usepackage{polyglossia} 
    \setmainlanguage{spanish} 

\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}

\setcounter{tocdepth}{0}
\setcounter{secnumdepth}{2}

% sets the marks to be used (section and subsection)
\setmarks{section}{subsection}

% definition of the page style with required headers
\newpagestyle{Biblestyle}{
  \setheadrule{.02pt}
  \sethead[\thepage][\chaptertitle][\firsttitlemarks\thesection:\ifthesubsection{\firsttitlemarks\thesubsection}{1}---\bottitlemarks\thesection:\bottitlemarks\thesubsection]{\firsttitlemarks\thesection:\ifthesubsection{\firsttitlemarks\thesubsection}{1}---\bottitlemarks\thesection:\bottitlemarks\thesubsection}{\chaptertitle}{\thepage}
}

\addtokomafont{disposition}{\rmfamily\mdseries}

\newcommand{\newtocname}{\LARGE{TABLA DE LOS LIBROS DEL}}
\renewcommand*\cfttoctitlefont{\huge\hfill}
\renewcommand*\cftaftertoctitle{\hfill}
\renewcommand{\cftchapdotsep}{\cftdot}
\renewcommand{\cftpartfont}{\bfseries}
\renewcommand{\cftchapfont}{\mdseries}
\cftpagenumbersoff{part}
\renewcommand{\cftchappagefont}{\hfill\mdseries}
\setlength{\cftbeforetoctitleskip}{-4.7em}
\setlength{\cftaftertoctitleskip}{1pt}
\setlength{\cftbeforechapskip}{.1em}
\setlength{\cftbeforepartskip}{.1em}
\setlength{\columnsep}{3em}
\setlength\columnseprule{.4pt}

\newcommand{\Sectionnumber}{%
  \sbox\Sectionbox{\smash{\raisebox{-\baselineskip}{%
    \fontsize{2.2\baselineskip}{0}\selectfont\theSection}}\enspace}}

\newcounter{Section}
\newcounter{Subsection}[Section]
\newlength{\Sectionwidth}
\newif\ifFirstSubsection
\newsavebox{\Sectionbox}

\makeatletter
\newcommand{\Section}{%
  \par\vskip\z@ \@plus 2\p@
  \FirstSubsectiontrue\clubpenalty\@M
  \refstepcounter{Section}\stepcounter{Subsection}%
  \Sectionnumber\setlength{\Sectionwidth}{\wd\Sectionbox}%
  \hangindent\Sectionwidth\hangafter-2
  \leavevmode\llap{\box\Sectionbox}\ignorespaces}
\newcommand{\Subsection}{%
  \par\clubpenalty\@clubpenalty
  \ifFirstSubsection
    \ifnum\prevgraf=\@ne\nobreak\hspace*{\Sectionwidth}\fi
    \FirstSubsectionfalse
  \fi
  \refstepcounter{Subsection}\textbf{\theSubsection}\enspace\ignorespaces}
\makeatother

\parindent=0pt
\parskip=0pt

\begin{document}
\frontmatter
\renewcommand{\contentsname}{\newtocname}
\tableofcontents

\mainmatter
\setlength\columnseprule{0pt}
\pagestyle{Biblestyle}

\twocolumn[\vspace{-0.5cm}\center{\textbf{\Huge{Génesis}}}\vspace{0.5cm}]

\addtocounter{chapter}{1}
\renewcommand{\chaptertitle}{Génesis}
\setcounter{section}{0}

\Section EN el principio crió Dios los cielos y la tierra.
\Subsection Y la tierra estaba desordenada y vacía, y las tinieblas estaban sobre la haz del abismo, y el Espíritu de Dios se movía sobre la haz de las aguas.
\Subsection Y dijo Dios: Sea la luz: y fué la luz.
\Subsection Y vió Dios que la luz era buena: y apartó Dios la luz de las tinieblas.

\Section Y FUERON acabados los cielos y la tierra, y todo su ornamento.
\Subsection Y acabó Dios en el día séptimo su obra que hizo, y reposó el día séptimo de toda su obra que había hecho.
\Subsection Y bendijo Dios al día séptimo, y santificólo, porque en él reposó de toda su obra que había Dios criado y hecho.
\end{document}

答案1

也许这会对你有帮助。对我来说,我使用 titlesec 包,如下所示:

\usepackage[compact]{titlesec}
\titleformat{\section}{\Large\scshape}{Section \thesection}{1ex}{}

这将创建“Section 1.x Bla Bla Bla”作为章节标题,其中 1.x 和 Bla Bla 之间的间距为 1ex。

如果您想要在小节前面加上前缀“SS”(在本例中为大写小型大写字母,以 1ex 分隔):

\titleformat{\subsection}{\large\scshape}{SS \thesubsection}{1ex}{}

这将导致“SS 1.xx Bla Bla Bla”作为子部分标题。

答案2

正如费马所说:

我发现了一个真正令人惊叹的证明,但这个边缘太窄,无法容纳它。

相关内容