我希望每页右侧都有一个实心框,显示该页面的手动设置类别。到目前为止,这个功能还不错,但这个框没有正确调整/居中,我不知道如何调整。
完美的是,在页面右侧有一个显示文本的框,颜色分级框围绕文本,边距为 0.15 厘米。现在我手动设置了两者,但效果不太好……
我的目标只是改变pageCategory
并为我的员工提供一个解决方案^^。
这是我目前尝试过的方法。虽然有效,但没有增长。
\documentclass{article}
\usepackage[a4paper,left=2cm,right=2cm,top=2in,bottom=2in]{geometry}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{calc}
\usepackage{eso-pic}
\usepackage{ifthen}
\usepackage{etoolbox}
\usetikzlibrary{calc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\newcommand{\pageCategory}[1]{\def \varPageCategory {#1}}
\pageCategory{}
\definecolor{MyBlue}{rgb}{0.41,0.2,0.6}
\definecolor{MyRed}{rgb}{0.97,0.2,0.41}
%\usepackage{showframe}
\AddToShipoutPicture{%
\ifdefempty{\varPageCategory}{}%
{%
\begin{tikzpicture}[overlay, remember picture]%
\draw[white,top color=MyBlue,bottom color=MyRed] ($(current page.east)+(0cm,4cm)$) -- ($(current page.east)+(0cm,8cm)$) -- ($(current page.east)+(-1cm,8cm)$) -- ($(current page.east)+(-1cm,4cm)$) -- ($(current page.east)+(0cm,4cm)$);%
\node[white,rotate=90, thick, line width=2pt] at ($(current page.east)+(-0.5cm,5cm)$) {\fontsize{10}{12} \varPageCategory};%
\end{tikzpicture}
}
}
\begin{document}
\pageCategory{Page One}
\lipsum
\pagebreak
\clearpage
\pageCategory{Page Two and Three}
\lipsum
\pagebreak
\lipsum
\end{document}
答案1
我认为这个清晰的代码可以帮助你改进和调整它。
节点锚点south
在旋转后位于右侧。您可以通过更改参数来控制与右侧纸张边缘的距离outer sep
。
节点大小取决于其内容,以中心为中心。
\documentclass{article}
\usepackage[a4paper,left=2cm,right=2cm,top=2in,bottom=2in]{geometry}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{calc}
\usepackage{eso-pic}
\usepackage{ifthen}
\usepackage{etoolbox}
\usetikzlibrary{calc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\newcommand{\pageCategory}[1]{\def\varPageCategory{#1}}
\pageCategory{}
\definecolor{MyBlue}{rgb}{0.41,0.2,0.6}
\definecolor{MyRed}{rgb}{0.97,0.2,0.41}
\tikzset{%
mynode/.style={%
top color=MyBlue,
bottom color=MyRed,
white,
rotate=90,
draw=black,
line width=2pt,
align=center,
anchor=south,
font=\fontsize{10}{12},
inner sep=5pt,
outer sep=10pt
}%
}
%\usepackage{showframe}
\AddToShipoutPicture{%
\ifdefempty{\varPageCategory}{}%
{%
\begin{tikzpicture}[overlay, remember picture]%
\node[mynode] at (current page.east) {\varPageCategory};%
\end{tikzpicture}
}
}
\begin{document}
\pageCategory{Page One}
\lipsum
\pagebreak
\clearpage
\pageCategory{Page Two and Three}
\lipsum
\pagebreak
\lipsum
\end{document}