我在(from ) 中使用\fcolorbox
( from ) 来获得彩色页面边框。不幸的是,第一页没有显示边框,即使框本身已绘制。我怎样才能让这个 MWE 工作(即在第一页显示红色边框)?xcolor
\fancypage
fancybox
\documentclass{article}
\usepackage{fancybox, xcolor, lipsum}
\fancypage{}{\fcolorbox{red}{yellow}}
\begin{document}
\lipsum[1-25]
\end{document}
请注意,使用\fancypage{}{\fbox}
会按预期在第一页上显示边框。
答案1
这是使用 Ti 的替代方案钾Z 和everypage
包。这个想法基于background
包中的代码。tikzpagenodes
用于轻松访问与页面各个部分相对应的坐标。
一个优点是,如果您愿意,您可以创建更加精美的框架和背景。
此示例绘制了一个背景,其中包括文本块、页眉和页脚(但不包括边注),另一个背景覆盖在背景上,其中只包括文本块。我使用阴影只是为了说明更简单的可能性。
\documentclass{article}
\usepackage{geometry}
\usepackage{everypage}
\usepackage{xcolor}
\usepackage{tikzpagenodes}
\usetikzlibrary{fit}
\usepackage{lipsum}
\AddEverypageHook{%
\tikz[overlay, remember picture]{% based on background.sty
\node [top color=blue!50!cyan, bottom color=blue!50!cyan, middle color=blue!25!cyan, draw=blue!75!cyan, line width=3.5pt, inner ysep=15pt, inner xsep=25pt, fit=(current page footer area.south west) (current page header area.north east)] {};
\node [top color=blue!25!cyan, bottom color=blue!25!cyan, middle color=white, draw=blue!50!cyan, line width=2.5pt, inner sep=5pt, fit=(current page text area.south west) (current page text area.north east)] {};
}%
}
\begin{document}
\lipsum[1-25]
\end{document}
答案2
该库tcolorbox
软件包breakable
允许您制作允许分页的彩色框和框架,以及许多其他有据可查的选项。
\documentclass{article}
\usepackage[margin=1.5cm,paperheight=9cm,]{geometry}
\usepackage{lipsum}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\tcbset{breakable}
\begin{document}
\begin{tcolorbox}[
colback=blue!20!, colframe=red!75!black,
boxsep=3mm,arc=0mm,boxrule=2pt]
\lipsum[1-50] % long bla bla bla
\end{tcolorbox}
\end{document}
编辑:我想要在框里面的页眉/页脚,一个解决方案可能是tcolobox
使用以下background
包牢不可破的:
\documentclass{article}
\usepackage{tcolorbox,lipsum}
\usepackage{background}
\backgroundsetup{contents={
\begin{tcolorbox}[colback=blue!10!,
colframe=red!75!black, boxsep=3mm,
arc=0mm,boxrule=2pt]%
\vspace{\textheight}
\end{tcolorbox}
},angle=0,scale=1.2}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{\LaTeX\ examples}
\lhead{Background boxes}
\rfoot{Page \thepage}
\begin{document}
\lipsum[1-25]
\end{document}
答案3
编辑:我的第一个答案是模拟\fancypage{\fcolorbox{red}{yellow}}{}
。请参阅下面的解决方案。但是,问题是关于的\fancypage{}{\fcolorbox{red}{yellow}}
。所以首先这是我的解决方案。
1. 解决方案\fancypage{}{\fcolorbox{red}{yellow}}
这是一个轻量级的解决方案(不需要额外的包):
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
%\fancypage{}{\fcolorbox{red}{yellow}}
\newcommand{\xcoord}{1in+\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi-\fboxrule-\fboxsep}
\newcommand{\ycoord}{-1in-\voffset-\textheight-\topmargin-\headheight-\headsep-\footskip-\fboxsep}
\newlength\boxheight
\setlength\boxheight{\dimexpr\textheight+\footskip+\headheight+\headsep+\fboxsep}
\AddToHook{shipout/background}{%
\put(\xcoord,\ycoord){%
\fcolorbox{red}{yellow}{\vbox to \boxheight{\hspace{\textwidth}}}
}%
}%
\begin{document}
\lipsum[1-25]
\end{document}
如果您有较旧的 LaTeX 不支持钩子shipout/background
,则可以使用该everypage
包进行模拟:
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{everypage}
%\fancypage{}{\fcolorbox{red}{yellow}}
\newcommand{\xcoord}{\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi-\fboxrule-\fboxsep}
\newcommand{\ycoord}{-\voffset-\textheight-\topmargin-\headheight-\headsep-\footskip-\fboxsep}
\newlength\boxheight
\setlength\boxheight{\dimexpr\textheight+\footskip+\headheight+\headsep+\fboxsep}
\AddEverypageHook{%
\put(\xcoord,\ycoord){%
\fcolorbox{red}{yellow}{\vbox to \boxheight{\hspace{\textwidth}}}
}%
}%
\begin{document}
\lipsum[1-25]
\end{document}
2. 解决方案\fancypage{\fcolorbox{red}{yellow}}{}
这是一个轻量级的解决方案(不需要额外的包):
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
%\fancypage{\fcolorbox{red}{yellow}}{}
\newcommand{\xcoord}{1in+\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi-\fboxrule-\fboxsep}
\newcommand{\ycoord}{-1in-\voffset-\textheight-\topmargin-\headheight-\headsep-\fboxsep}
\AddToHook{shipout/background}{%
\put(\xcoord,\ycoord){%
\fcolorbox{red}{yellow}{\vbox to \textheight{\hspace{\textwidth}}}
}%
}%
\begin{document}
\lipsum[1-25]
\end{document}
如果您有较旧的 LaTeX 不支持钩子shipout/background
,则可以使用该everypage
包进行模拟:
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{everypage}
%\fancypage{\fcolorbox{red}{yellow}}{}
\newcommand{\xcoord}{\ifodd\value{page}\oddsidemargin\else\evensidemargin\fi-\fboxrule-\fboxsep}
\newcommand{\ycoord}{-\voffset-\textheight-\topmargin-\headheight-\headsep-\fboxsep}
\AddEverypageHook{%
\put(\xcoord,\ycoord){%
\fcolorbox{red}{yellow}{\vbox to \textheight{\hspace{\textwidth}}}
}%
}%
\begin{document}
\lipsum[1-25]
\end{document}