我有一个在学习期间创建的论文模板。对于我的硕士论文,我想为其添加一些“美观”的设计。
我要在边距和侧节点上添加数字。使用geometry
包即可轻松完成。但是,对于我的章节样式,我却不知所措。
我希望我的数字出现在右边距(使用包解决titlesec
)。我希望章节的文本和数字用某种规则分开。基本上,我想要这样的东西:
我相信这种风格是使用\documentclass{scr(something)} Koma script
我相信创建的。我从未使用过这个,并且有点“害怕”从我以前舒适的模板切换到那个。
我想出了这个:
\documentclass[10pt,twoside,a4paper,openright]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{blindtext}
\usepackage[includemp,
paperwidth=20.90cm,
paperheight=29.7cm,
top=2.170cm,
bottom=2.510cm,
inner=2.1835cm,
outer=2.1835cm,
marginparwidth=4cm,
marginparsep=0.4cm]{geometry}
\usepackage{titlesec}
\newlength\mylen
\addtolength{\mylen}{\linewidth+70pt}
\titleformat{\chapter}[block]{\normalfont\huge\bfseries\scshape}
{\makebox[0pt]{\makebox[\linewidth+\mylen][r]{\scalebox{2}{\vrule\itshape\thechapter}}}}{0pt}{}
\begin{document}
\chapter{Introduction which has a way to long title}
\blindtext
\end{document}
屈服
在报告文档类中我能做些什么吗?为了更接近上述输出,还是我需要考虑切换类?
谢谢你的时间。
答案1
一些盒子杂耍:
\RequirePackage{fix-cm} % if you want to use Computer Modern
\documentclass[
10pt,
twoside,
openright,
]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{lipsum}
\usepackage[
includemp,
a4paper,
top=2.170cm,
bottom=2.510cm,
inner=2.1835cm,
outer=2.1835cm,
heightrounded,
marginparwidth=4cm,
marginparsep=0.4cm,
]{geometry}
\usepackage{titlesec}
\newcommand{\skovmandchapternumber}{%
\makebox[0pt][l]{%
\hspace*{\textwidth}\hspace*{1em}%
\raisebox{-0.5\height}{\fontsize{40}{0}\itshape\thechapter}%
}%
}
\newsavebox\skovmandchapterbox
\newcommand{\skovmandchaptertitle}[1]{%
\sbox\skovmandchapterbox{%
\raisebox{-0.5\height}{\parbox[b]{0.8\textwidth}{\raggedleft#1}}%
}%
\hfill\usebox{\skovmandchapterbox}%
\makebox[0pt][l]{%
\hspace*{0.5em}%
\ifdim\ht\skovmandchapterbox<15pt
\vrule height 15pt depth 15pt width 1pt
\else
\vrule height \dimexpr\ht\skovmandchapterbox + 3pt\relax
depth \dimexpr\dp\skovmandchapterbox + 6pt\relax
width 1pt
\fi
}%
}
\titleformat{\chapter}[block]
{\normalfont\huge\scshape}
{\skovmandchapternumber}
{0pt}
{\skovmandchaptertitle}
\begin{document}
\chapter{Introduction}
\lipsum[1]
\chapter{Chapter which has a way too long title}
\lipsum[1]
\end{document}
fix-cm
如果您的文档使用可自由缩放的字体,则不需要此包。其想法是,规则至少覆盖数字,但如果标题变长,规则会在其上方和下方延伸一点。
答案2
这是一个可行的解决方案,这要归功于explicit
的选项titlesec
和 的使用tabularx
。我添加了一些颜色(个人品味),但很容易删除。另外,不要忘记定义\titleformat
未编号的章节(例如参考书目),因为这段代码的一部分对它们来说毫无意义。
\documentclass[10pt, twoside, a4paper, openright]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{blindtext}
\usepackage[includemp,
paperwidth=20.90cm,
paperheight=29.7cm,
top=2.170cm,
bottom=2.510cm,
inner=2.1835cm,
outer=2.1835cm,
marginparwidth=4cm,
marginparsep=0.4cm]{geometry}
\usepackage[svgnames]{xcolor}
\usepackage{tabularx}
\usepackage[explicit]{titlesec}
\newlength\mylen
\addtolength{\mylen}{\linewidth+70pt}
\titleformat{\chapter}[block]{\filleft\normalfont\huge\bfseries\scshape}
{\rlap{\makebox[\mylen][r]{\scalebox{2}{\color{LightSlateGray!40}\itshape\thechapter}}}}{0pt}
{\begin{tabularx}{\dimexpr\linewidth + \marginparsep}{@{}>{\raggedleft}X!{\,\color{LightSlateGray!40}\vrule width 3pt}}#1\end{tabularx}}
\begin{document}
\chapter{Introduction which has a way to long title}
\blindtext
\end{document}