我正在使用“Legrand Orange book”模板中的章节装饰。但我得到了非常奇怪的垂直间距。见图片。因为大写字母H第三行和第四行之间的间距比以前没有“线上”字母的间距大得多。
所以,这种小的垂直间距对我来说很奇怪……我错了吗?我想将垂直间距改为正常(大写字母有间隙)
这是最小的工作示例。
\documentclass{book}
\usepackage{geometry}
\usepackage[russian]{babel}
\usepackage{tikz}
\usepackage{xcolor}
\definecolor{prpl}{RGB}{150, 120, 182}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\makeatletter
\def\@makechapterhead#1{%
{\begin{tikzpicture}[remember picture,overlay]
\node at (current page.north west)
{\begin{tikzpicture}[remember picture,overlay]
\draw[anchor=west] (\Gm@lmargin,-5cm) node [line width=2pt,rounded corners=15pt,draw=prpl,fill=white,fill opacity=0.5,inner sep=45pt]{\makebox[22cm]{}};
\draw[anchor=west] (\Gm@lmargin+.3cm,-5cm) node[text width=16cm] {\huge\sffamily\bfseries\color{black}\thechapter. #1};
\end{tikzpicture}};
\end{tikzpicture}
}}
\makeatother
\begin{document}
\chapter{Исследование функций одной переменной при помощи первой и второй производных на монотонность, локальные экстремумы, выпуклость. Необходимые условия, достаточные условия.}
\end{document}
答案1
我不确定它应该是什么样子。这是一种获取“正确”行距的方法,即 的正确行距\huge
。如果您想要不同的东西,您可以使用\fontsize{<dimen>}{<dimen>}\selectfont
代替\huge
,其中第一个数字给出字体的磅值,第二个数字给出基线跳过,例如{12pt}{14pt}
。
我删除了嵌套的tikzpicture
s ,因为不支持它,而且已知它会导致问题。嵌套的 更是如此remember picture, overlay
,它根本没有意义。
您可能会发现tikzpagenodes
避免使用内部geometry
尺寸很有用。
\documentclass[russian]{book}
\usepackage[showframe]{geometry}
\usepackage{babel}
\usepackage{tikz}
\definecolor{prpl}{RGB}{150, 120, 182}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage{kantlipsum}
\makeatletter
\def\@makechapterhead#1{%
\noindent
\begin{tikzpicture}[remember picture]
\node (n) at (\Gm@lmargin,-\Gm@tmargin) [ inner sep=3mm, fill=white, fill opacity=0.5, text width={\textwidth-6mm}, text opacity=1, font=\huge\sffamily\bfseries, text=black]{\thechapter. #1};
\end{tikzpicture}%
\begin{tikzpicture}[remember picture,overlay]
\draw [line width=2pt, rounded corners=15pt, prpl] (n.north -| current page.east) -| (n.south west) -- (n.south -| current page.east);
\end{tikzpicture}%
\bigskip\par
}
\makeatother
\begin{document}
\chapter{Исследование функций одной переменной при помощи первой и второй производных на монотонность, локальные экстремумы, выпуклость. Необходимые условия, достаточные условия.}
\kant[1-3]
\end{document}
这些线条仅用于showframe
说明和调试。显然,当您对布局感到满意时,您应该删除此选项。
例如,\huge
表示 20pt 字体,跳过 25pt。\fontsize{20pt}{22pt}\selectfont
在代码中替换可\huge
关闭以下行:
答案2
这是我的尝试——它有效但似乎有点不靠谱。问题在于如何正确定位章节标题后面的文本。请参阅代码中的注释。我希望看到一个不那么不靠谱的解决方案!
\documentclass{book}
\usepackage[showframe]{geometry}
\usepackage[russian]{babel}
\usepackage{tikz}
\usepackage{xcolor}
\definecolor{prpl}{RGB}{150, 120, 182}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage{tikzpagenodes}
\newsavebox{\tmpbox}
\newlength{\tmpht}
%% Put the text of the chapter head into an lrbox.
%% Use the lrbox in \@makechapterhead;
%% measure the lrbox to arrive at a \vspace that
%% gets the text of the chapter out the way of
%% the chapter head.
\makeatletter
\def\@makechapterhead#1{%
\begin{lrbox}{\tmpbox}%
\begin{minipage}{\textwidth}%
\raggedright\huge\sffamily\bfseries\color{black}\thechapter. #1
\end{minipage}%
\end{lrbox}%
\noindent
\begin{tikzpicture}[remember picture,overlay]%% The chapter head occupies no space on the page
\node[anchor=north west,
rounded corners=15pt,
draw=prpl!50,
line width=2pt,
inner sep=6pt] at (current page text area.north west)
{\usebox{\tmpbox}\hspace*{22cm}}; %% change '22cm' to suit
\end{tikzpicture}%
\settoheight{\tmpht}{\usebox{\tmpbox}}%
\vspace{\dimexpr\tmpht + 1in}% Adjust 1in to suit
}
\makeatother
\begin{document}
\chapter{Исследование функций одной переменной при помощи первой и второй производных на монотонность, локальные экстремумы, выпуклость. Необходимые условия, достаточные условия.}
\section{This is a section}
More text.
\end{document}
--