页脚中的 Tcolorbox 与 nobeforeafter 一起为页脚中的其他元素添加了空间

页脚中的 Tcolorbox 与 nobeforeafter 一起为页脚中的其他元素添加了空间

编辑

\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage[skins]{tcolorbox}
\usepackage{fancyhdr}
\renewcommand{\footrule}{\hbox to\headwidth{\color{blue}\leaders\hrule height \footrulewidth\hfill}}
\fancypagestyle{document}{
\renewcommand{\footrulewidth}{2pt}
\rfoot{  \raisebox{\dimexpr(-\height+\ht\strutbox-\dp\strutbox)/2}{%
    \begin{tcolorbox}[nobeforeafter,
  width=.3\linewidth,
  frame hidden,boxrule=0pt,
  colback=white,
  freelance,
  arc=0pt,
  outer arc=0pt,
  boxrule=0pt,
  frame code={
    \draw[blue,line width=2.5pt]  
      ([xshift=-1.25pt]frame.north west) -- ([xshift=-1.25pt]frame.south west);
      }
]\hfill Naar Index~$\rightarrow$ \end{tcolorbox}}}
\lfoot{\raisebox{\dimexpr(-\height+\ht\strutbox-\dp\strutbox)/2}{%
    \begin{tcolorbox}[nobeforeafter,
  width=.3\linewidth,
  frame hidden,boxrule=0pt,
  colback=white,
  freelance,
  arc=0pt,
  outer arc=0pt,
  boxrule=0pt,
  frame code={
    \draw[blue,line width=2.5pt]  
      ([xshift=1.25pt]frame.north east) -- ([xshift=1.25pt]frame.south east);
      }
]$\leftarrow$~Inhoudsopgave\hfill\end{tcolorbox}}}
}
\begin{document}
\thispagestyle{document}
.
\end{document}

我仍然有同样的问题。上面的代码概述了这个问题:条形图不对齐。

\strut编辑:由于我错过了实际文本之前的 a,所以条形图没有对齐。

http://i.imgur.com/D0uaDdF.png


当我在页脚中使用tcolorboxwith时,页脚的其余部分会向下跳动。如何防止这种情况发生?nobeforeafter

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\fancypagestyle{plain}{
\renewcommand{\footrulewidth}{1pt}
\rfoot{\begin{tcolorbox}[nobeforeafter,width=.3\linewidth]text\end{tcolorbox}}
\lfoot{text}
}
\begin{document}
\thispagestyle{plain}
text
\end{document}

http://i.imgur.com/whJJHqg.png

答案1

无需猜测:将测量留给 TeX。

如果您希望文本与tcolorbox页脚中的其他文本对齐,则

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\fancypagestyle{plain}{%
  \renewcommand{\footrulewidth}{1pt}%
  \fancyfoot[R]{\myfancyfoot{teyt}}%
  \fancyfoot[L]{text}%
}

\newcommand{\myfancyfoot}[1]{%
  \raisebox{\dimexpr(-\height+\ht\strutbox-\dp\strutbox)/2}{%
    \begin{tcolorbox}[nobeforeafter,width=.3\linewidth]
    \strut #1
    \end{tcolorbox}}%
}

\begin{document}
\thispagestyle{plain}
text
\end{document}

在此处输入图片描述

相反,如果你想要的顶线tcolorbox与其他元素的高度一致,那么

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\fancypagestyle{plain}{%
  \renewcommand{\footrulewidth}{1pt}%
  \fancyfoot[R]{\myfancyfoot{teyt}}%
  \fancyfoot[L]{text}%
}

\newcommand{\myfancyfoot}[1]{%
  \raisebox{\dimexpr -\height+\ht\strutbox}{%
    \begin{tcolorbox}[nobeforeafter,width=.3\linewidth]
    #1
    \end{tcolorbox}}%
}

\begin{document}
\thispagestyle{plain}
text
\end{document}

在此处输入图片描述

答案2

您可以将框升高到所需的高度,以便将其他文本放置在您想要的位置:

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\fancypagestyle{plain}{
\renewcommand{\footrulewidth}{1pt}
\rfoot{\begin{tcolorbox}[tcbox raise=-.7cm,nobeforeafter,width=.3\linewidth]text\end{tcolorbox}}
\lfoot{text}
}
\begin{document}
\thispagestyle{plain}
text
\end{document}

在此处输入图片描述

tcbox raise根据需要更改该值。

相关内容