
Достаточно часто я сталкиваюсь с проблемой, когда картинка tikzpicture оказывается слишком большой и не помещается на странице, где мне бы хотелось ее разместить.
Рассмотрим MWE (скомпилированный с помощью pdfLatex):
\documentclass[a5paper,12pt,openany]{book}
\usepackage[paperwidth=5.5in,paperheight=6.25in]{geometry}
\textwidth=4in \textheight=3.15in \voffset -7pt \evensidemargin=-10pt
\usepackage[tracking=true]{microtype}
\usepackage{tikz,lipsum}
\usepackage{mathptmx}
\definecolor{Italiangreen}{RGB}{0,140,69}
\definecolor{Italianred}{RGB}{205,33,42}
\begin{document}
\thispagestyle{empty}
\lipsum[1]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=Italiangreen,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \small
\selectfont \textbf{\lipsum[16]} \vspace{5pt} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\end{document}
с выходом:
ВОПРОС: Что здесь следует сделать с эстетической точки зрения? Возможно ли, чтобы LaTeX "разделил" изображение так, чтобы оно отображалось на двух страницах, — таким образом, устранив некрасивый большой зазор на первой странице? В случаях, когда изображение немного больше, небольшое увеличение первой страницы с помощью команды, \enlargethispage
кажется, работает нормально. Поэтому я хотел бы узнать оптимальное решение, когда tikzpicture довольно велико по отношению к пространству, доступному на первой странице. Предложения?
Спасибо.
решение1
Вы можете использовать tcolorbox
вместо tikzpicture
. У Tcolorboxes есть возможность разрешить разрывы страниц.
Вот простой пример для начала:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\definecolor{Italiangreen}{RGB}{0,140,69}
\begin{document}
\lipsum[1-4]
\begin{tcolorbox}[breakable,colback=Italiangreen,drop shadow=black,sharp corners]
\lipsum[1-2]
\end{tcolorbox}
\end{document}