我是新来的,几乎对 Latex 一无所知。抱歉我的英语不好。
环境:Miktex 4.1,TexnicCenter 2.02(64位),模式:LaTeX=>PDF
我搜索了很多。首先,我搜索了将章节放入框架的方法......然后找到了这个:
这并不是我一直在寻找的东西,但我决定尝试一下。
附加信息:我有 4 个章节。
第一次尝试:
...
\titleformat{\chapter}[display]
{\sffamily\bfseries}%
{}%
{}%
{\begin{adjustwidth}{-0.9in}{-0.8in}%
\tcbset{standard jigsaw,
colback=ChapterBackColor,
colframe=ChapterFrameColor,
opacityback=0.1,
arc=10pt,
sharp corners=east,
width=\linewidth-0.5in}%
\begin{tcolorbox}[rightrule=0mm,leftrule=3mm,toprule=1mm,bottomrule=0.5mm,flush right,halign=flush right,enlarge top by=-2.5cm,enlarge bottom by=1cm]%
\Large{}CHAPTER\huge{} \Roman{chapter}\strut\\[0.3ex] #1\end{tcolorbox}\end{adjustwidth}}
...
E D I T
好的。由于我的项目包含大量垃圾,我需要为您准备可编译的小样本。这样我就找到了vertical mode
消息中的错误。甚至没什么可说的。
但仍然有错误,我相信我使用时做错了titleformat
。我有四个章节和四个错误:
! Missing number, treated as zero
以及四个错误:
! Illegal unit of measure (pt inserted)
要编译的代码:...
\documentclass[a4paper,11pt,oneside]{book}
\usepackage[top=1in,bottom=1in,left=1.2in,right=0.8in,headsep=10pt,a4paper]{geometry}
\usepackage{changepage}
\usepackage{polski}
\usepackage[utf8]{inputenc}
\usepackage{avant}
\usepackage{mathptmx}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\definecolor{ChapterFrameColor}{RGB}{222, 66, 44}
\definecolor{ChapterBackColor}{RGB}{255, 222, 111}
\definecolor{ChapterForeColor}{RGB}{ 55, 16, 11}
\definecolor{ListingFrameColor}{RGB}{200, 80, 50}
\definecolor{ListingBackColor}{RGB}{231, 227, 201}
\definecolor{ListingNumColor}{RGB}{251, 249, 241}
\usepackage{tcolorbox}
\usepackage{array}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black,bookmarksopen=true]{hyperref}
\usepackage[
open,
openlevel=2,
atend
]{bookmark}[2011/12/02]
\usepackage{tikz}
%
%
%
\usepackage[explicit]{titlesec}
%
\titleformat{\chapter}[display]
{\sffamily\bfseries}%
{}%
{}%
{%
%
\begin{adjustwidth}{-0.9in}{-0.8in}%
\tcbset{standard jigsaw,
colback=ChapterBackColor,
colframe=ChapterFrameColor,
opacityback=0.1,
arc=10pt,
sharp corners=east,
width=\linewidth-0.5in}%
%
\begin{tcolorbox}[rightrule=0mm,leftrule=3mm,toprule=1mm,bottomrule=0.5mm,flush right,halign=flush right,enlarge top by=-2.5cm,enlarge bottom by=1cm]%
\Large{}CHAPTER\huge{} \Roman{chapter}\strut\\[0.3ex]#1\end{tcolorbox}\end{adjustwidth}%
%
}
%
%
%
\usepackage{lipsum}
\tcbuselibrary{minted,skins}
\newtcblisting{mynumcpp}[1][]{listing engine=minted,
minted style=vs,
minted language=cpp,
minted options={fontsize=\small,breaklines,linenos,autogobble,numbersep=3mm,#1},
colback=ListingBackColor,colframe=ListingFrameColor,listing only,
left=7mm,enhanced,
overlay={\begin{tcbclipinterior}\fill[ListingNumColor] (frame.south west)
rectangle ([xshift=7mm]frame.north west);\end{tcbclipinterior}}}
%
\newtcblisting{mycpp}{listing engine=minted,
minted style=vs,
minted language=cpp,
minted options={fontsize=\small,breaklines,autogobble},
colback=ListingBackColor,colframe=ListingFrameColor,listing only,
enhanced}
%
\frenchspacing
\pagestyle{headings}
\begin{document}
\part{Part One}
\chapter{Some chapter}
\section{Section name A}
\lipsum[1-2]
\begin{mycpp}
int main() {
printf("hello, world");
return 0;
}
\end{mycpp}
\lipsum[3-4]
\chapter{Some other chapter}
\section{Section name B}
\lipsum[5-6]
\chapter{Chapter name}
\section{Section name C}
\lipsum[7-8]
\part{Part Two}
\chapter{4th chapter}
\section{Section name D}
\lipsum[5-6]
\end{document}
...
minted
如果这会是一个问题的话,我可以使用 - 来删除碎片。
我不知道是否应该更改该主题的标题或保留其原样。
E D I T - 2
Solution
<sep>
:必须给出论据。
答案1
第三个强制参数必须\titleformat
包含长度,即使您需要 0pt。
这是您的序言的重新组织版本,其中包加载和设置被明确分开。
特别是,我建议使用babel
而不是polski
(这会产生一些奇怪的效果)和newtx
而不是mathptmx
。
我加载titlesec
时不使用explicit
,这样就可以准备适合编号和未编号章节的代码,而不会出现代码重复。其思路是将章节标题传递到最后一个强制参数的代码中,因此它将被视为尾随参数。
在我看来,每个选项使用一行更好,这样可以更清楚地看到您已激活的内容,并尝试停用或更改其中的一些。
\documentclass[a4paper,11pt,oneside]{book}
\usepackage[top=1in,bottom=1in,left=1.2in,right=0.8in,headsep=10pt,a4paper]{geometry}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\usepackage{polski}
\usepackage[polish]{babel}
\usepackage{changepage}
\usepackage{avant}
%\usepackage{mathptmx}
\usepackage{newtxtext,newtxmath}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{tcolorbox}
\tcbuselibrary{minted,skins}
\usepackage{titlesec}
\usepackage{array}
\usepackage{lipsum}
\usepackage[
colorlinks=true,
linkcolor=blue,
urlcolor=black,
bookmarksopen=true
]{hyperref}
\usepackage[
open,
openlevel=2,
atend
]{bookmark}[2011/12/02]
\definecolor{ChapterFrameColor}{RGB}{222, 66, 44}
\definecolor{ChapterBackColor}{RGB}{255, 222, 111}
\definecolor{ChapterForeColor}{RGB}{ 55, 16, 11}
\definecolor{ListingFrameColor}{RGB}{200, 80, 50}
\definecolor{ListingBackColor}{RGB}{231, 227, 201}
\definecolor{ListingNumColor}{RGB}{251, 249, 241}
\titleformat{name=\chapter}[display]
{\sffamily\bfseries}
{}
{0pt}%
{\bombadilchapter{1}}
\titleformat{name=\chapter,numberless}[display]
{\sffamily\bfseries}
{}
{0pt}%
{\bombadilchapter{0}}
\newcommand{\bombadilchapter}[2]{%
\begin{adjustwidth}{-0.9in}{-0.8in}
\begin{tcolorbox}[
standard jigsaw,
colback=ChapterBackColor,
colframe=ChapterFrameColor,
opacityback=0.1,
arc=10pt,
sharp corners=east,
width=\linewidth-0.5in,
rightrule=0mm,
leftrule=3mm,
toprule=1mm,
bottomrule=0.5mm,
flush right,
halign=flush right,
enlarge top by=-2.5cm,
enlarge bottom by=1cm
]
\ifnum#1=0
\huge\strut\\[0.3ex]
\else
\Large \MakeUppercase{\chaptertitlename} \huge\Roman{chapter}\strut\\[0.3ex]
\fi
#2%
\end{tcolorbox}
\end{adjustwidth}
}
\newtcblisting{mynumcpp}[1][]{
listing engine=minted,
minted style=vs,
minted language=cpp,
minted options={
fontsize=\small,
breaklines,
linenos,
autogobble,
numbersep=3mm,
#1,
},
colback=ListingBackColor,
colframe=ListingFrameColor,
listing only,
left=7mm,
enhanced,
overlay={%
\begin{tcbclipinterior}
\fill[ListingNumColor] (frame.south west) rectangle ([xshift=7mm]frame.north west);
\end{tcbclipinterior}%
},
}
\newtcblisting{mycpp}{
listing engine=minted,
minted style=vs,
minted language=cpp,
minted options={
fontsize=\small,
breaklines,
autogobble
},
colback=ListingBackColor,
colframe=ListingFrameColor,
listing only,
enhanced,
}
\frenchspacing
\pagestyle{headings}
\begin{document}
\part{Part One}
\chapter*{Introduction}
\lipsum[1-2]
\chapter{Some chapter}
\section{Section name A}
\lipsum[1-2]
\begin{mycpp}
int main() {
printf("hello, world");
return 0;
}
\end{mycpp}
\lipsum[3-4]
\chapter{Some other chapter}
\section{Section name B}
\lipsum[5-6]
\chapter{Chapter name}
\section{Section name C}
\lipsum[7-8]
\part{Part Two}
\chapter{4th chapter}
\section{Section name D}
\lipsum[5-6]
\end{document}