将页面上的小页面移动到与文本右侧对齐

将页面上的小页面移动到与文本右侧对齐

我想把一个盒子放在每一个我的 LaTeX 文档的一页不会干扰文档其余部分的排版,并发现水印包适合这项任务;例如,雙水印

具体来说,我想插入一个带框架的小页面,使得它的右边框与文本主体的右边框重合。

考虑到LaTeX 页面布局, 我试过

\documentclass{article}

\usepackage{lipsum}

\newlength\xshift
\setlength\xshift{0.5\paperwidth}
\addtolength\xshift{-\marginparwidth}
\addtolength\xshift{-\marginparsep}
\addtolength\xshift{-1.0in} % half the minipage width
\addtolength\xshift{-1pt} % frame width

\usepackage{xcolor}
\usepackage[printwatermark]{xwatermark}
\newwatermark[
pages=1,
color=black,
scale=1,
xpos=\xshift,
ypos=0.0in
]{%
  \fbox{%
  \begin{minipage}{2.0in}\normalsize%
    my awesome minipage\\
    my awesome minipage\\
    my awesome minipage
  \end{minipage}%
}%
}

\begin{document}

\lipsum[1-4]

\end{document}

结果是

冲洗不当

问题可能是什么原因造成的?还有其他更适合的软件包吗?

答案1

你必须\xshift像这样设置

\setlength\xshift{\dimexpr0.5\paperwidth-\marginparwidth-\marginparsep-\oddsidemargin-1in\relax}

完整代码:

\documentclass{article}

\usepackage{lipsum,showframe}

\newlength\xshift
\setlength\xshift{\dimexpr0.5\paperwidth-\marginparwidth-\marginparsep-\oddsidemargin-1in\relax}
%\addtolength\xshift{-\marginparwidth}
%\addtolength\xshift{-\marginparsep}
%\addtolength\xshift{-1.0in} % half the minipage width
%\addtolength\xshift{-1pt} % frame width

\usepackage{xcolor}
\usepackage[printwatermark]{xwatermark}
\newwatermark[
pages=1,
color=black,
scale=1,
xpos=\xshift,
ypos=0.0in
]{%
  \fbox{%
  \begin{minipage}{2.0in}\normalsize%
    my awesome minipage\\
    my awesome minipage\\
    my awesome minipage
  \end{minipage}%
}%
}

\begin{document}

\lipsum[1-4]

\end{document}

在此处输入图片描述

答案2

Tikz解决方案:

\documentclass{article}
\usepackage{tikzpagenodes}
\usepackage{lipsum}

\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[draw=red,text=red,left] at (current page text area.east)
 {\begin{minipage}{2in}
  my awesome minipage\\
  my awesome minipage\\
  my awesome minipage
 \end{minipage}};
\end{tikzpicture}

\lipsum[1-4]

\end{document}

我的精彩迷你页面

相关内容