tikz 盒子定位

tikz 盒子定位

你好,我是 Latex 的新手,我想在文档的左侧放置一个灰色框,以使用该框作为侧边栏。

以下是我尝试过的:

\documentclass{article}
\usepackage{tikz}
\usepackage{xcolor}
\definecolor{sidecolor}{HTML}{E7E7E7}

\begin{document}

\begin{tikzpicture}[remember picture,overlay]
    \node [rectangle, fill=sidecolor, anchor=north, minimum width=9cm, minimum height=\paperheight+1cm] (box) at (-5cm,0.5cm){};
\end{tikzpicture}

\end{document}

但由于某种原因,产量发生了变化 输出文档的屏幕截图

所以问题是,如何创建一个覆盖页面整个左侧 5 厘米的框?

答案1

使用该tikzpagenodes包:

\documentclass{article}
\usepackage{xcolor}
\definecolor{sidecolor}{HTML}{E7E7E7}
\usepackage{tikzpagenodes}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\node [fill=sidecolor, minimum width=9cm, minimum height=\textheight,
       above right] (box) at (current page text area.south west)    {};
\end{tikzpicture}

\end{document}

在此处输入图片描述

(红线表示页面布局)

编辑: 不幸的是你的问题不太清楚。你喜欢那个灰色的框吗?

  • 文本左边框与上述 MWE(最小工作示例)相同,或
  • 在页面左边框处产生以下 MWE:
\documentclass{article}
\usepackage{tikz}
\definecolor{sidecolor}{HTML}{E7E7E7}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\node [fill=sidecolor, minimum width=3cm, minimum height=\paperheight,
       above right] at (current page.south west)    {};
\end{tikzpicture}

\end{document}

在此处输入图片描述

笔记:tikzpicture对于最终(显示)形式的编译结果,由于选项 原因,两个 MWE 都必须编译remember picture,overlay至少两次。

答案2

您可能需要考虑的一个选项是更改文档类。如果您使用 \documentclass{standalone}[tikz] 而不是 \documentclass{article},则 Latex 编译的页面尺寸将受限于您向其添加的功能。因此,只要没有任何内容与侧页框左侧相邻,则页面的左侧将由此框占据,并且灰色侧框永远不会移出视图。

稍微调整一下代码:

在此处输入图片描述

\documentclass{standalone}[tikz]
\usepackage{tikz}
\usepackage{xcolor}
\definecolor{sidecolor}{HTML}{E7E7E7}

\begin{document}

\begin{tikzpicture}
\tikzstyle{box}=[rectangle, fill=sidecolor, anchor=north, minimum width=5cm, minimum height=\paperheight+1cm]]
\node at (-5cm,5cm) [box]{};
\filldraw (0,1) circle (1); 
\end{tikzpicture}

\end{document}

我只是添加了黑色圆圈来稍微扩大视图(否则整个输出将是侧面的灰色框)。

相关内容