tcolorbox
with \tcbuselibrary{raster}
can distribute boxes to fill the hole page.
After that I want my tikz image to fill the hole box. The width of the box content is given by \linewidth
but how about the height of the available space in the box?
If the height of the box is calculated by tcolorbox
.
How can I pass the value /tcb/text height
to tikzscale
that is then able to generate my plot?
\documentclass{article}
\usepackage{pgfplots}
\usepackage{tikzscale}
\usepackage{tcolorbox}
\tcbuselibrary{raster}
\begin{filecontents}{tikzimage.tikz}
\begin{tikzpicture}
\begin{axis}[xlabel=time,ylabel=value]
\addplot{x^2};
\end{axis}
\end{tikzpicture}
\end{filecontents}
\begin{document}
\begin{tcbraster}[%
raster columns=2,
raster rows=2,
raster height=\textheight,
]
\begin{tcolorbox}\end{tcolorbox}
\begin{tcolorbox}\end{tcolorbox}
\begin{tcolorbox}\end{tcolorbox}
\begin{tcolorbox}[title={box 1\\line two}]
\includegraphics[%
width=\linewidth,
height=4cm, % how to get the height of the actual box here?
]{tikzimage.tikz}
\end{tcolorbox}
\end{tcbraster}
\end{document}
Best Answer
With
tcolorbox
version3.90 (2016/02/29)
, there is a property\tcbtextheight
which holds the text height of a fixed height box (inspired by this question!). With it, the solution is short:Old Answer (valid for
tcolorbox
before version3.90
):In my answer, a new option
remember height
is constructed which saves the actual inner height into a chosen macro at the begin of the upper box. The following example uses\myheight
which can be used to scale the included image.Maybe, such on option or something similar whould not be bad as an official option?