我又来了……非常接近我正在寻找的布局,但不是相当还没有。;-)
对于章节标题,我试图获得以下章节标题外观:
IE,
\thechapter
居中,- 左侧和右侧有一个实心黑色框(与数字高度相同),跨越文本区域的宽度。
- 下一行是章节名称,也居中,但没有方框。
我删除了“Chapter”字符串,并在章节号后附加了“.0”(感谢斯蒂芬谢谢你的帮助),然后满足于写作,\chapter{MYCHAPTER}
而不是试图让 LaTeX 帮我把字母大写。我得到了“1.0 我的章节“为章节标题而写——到目前为止一切都很好。
但现在我陷入了困境。我阅读了书籍,并在 Google 上搜索,发现了很多使用\@startsection
在标题周围、上方和下方的行以及它们后面的背景上添加方框的示例,这些示例变得越来越复杂和令人生畏 - 但我不明白如何在章节号的左侧和右侧添加那些黑框。
帮助?
答案1
通过这个titlesec
包裹我可以帮你找到一些方法:
\usepackage{titlesec}
\titleformat{\chapter}[display]{\normalfont\huge\bfseries}{\hrulefill\thechapter.0\hrulefill}{20pt}{\Huge\center}
我基本上复制了标准定义,但将第三个强制参数更改为\hrulefill\thechapter.0\hrulefill
。它\hrulefill
的作用是用规则填充可用的水平空间。
使用 ,\rule
您可以按如下方式创建粗规则:\rule{10em}{1ex}
这将使规则变得10em
又长又1ex
粗。不过我不知道如何获得“粗” \hrulefill
。
我希望这能在某种程度上解决您的问题。
答案2
Seamus 和 You 让我走上了正确的道路。这是他们的提示的组合:
% Ignore-The-Height (ith), used to avoid additional vspace
% e.g. with umlauts. See https://tex.stackexchange.com/questions/29911.
\newcommand{\ith}[1]
{\leavevmode\smash{\uppercase{#1}}}
% Variable-width rulers, default width 14pt
\newcommand*\varhrulefill[1][14pt]
{\leavevmode\leaders\hrule height#1\hfill\kern0pt}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}
{\varhrulefill\enskip\thechapter\enskip\varhrulefill}
{12pt}
{\center\ith}
\varhrulefill
我将You 链接的默认高度更改为 14pt,因为这是我想要的默认大小;- 我添加了一个,
\enskip
将框推离章节号稍微远一点; - 我添加了
\uppercase
一个后命令所以我实际上不我必须自己用大写字母写章节标题。 - 两个月后我回来了这对该答案的解决方案的改进和总体演变。
结果几乎确切地我正在寻找:
谢谢你们。你们太棒了。