没有附加垂直空间的 fbox

没有附加垂直空间的 fbox

有点相关\fbox 的非侵入式替代品?,但事实并非如此。认为:

\documentclass[12pt]{article}
\begin{document}
\footnotesize
\begin{tabular}{lc}
  a & 1\\
  a & 1\\
  \fbox{\fbox{b}} & 1\\
  c & 1\\
  c & 1\\
\end{tabular}
\end{document}

我确实喜欢 fbox 在内部留出一点空间(以便 b 不会被线条触及),但是 fbox “搞砸了”我的段落和表格中的垂直间距。“搞砸”是错误的短语,因为当人们不希望一行中的文本渗入另一行以产生一些重叠时,在其行中添加垂直空间非常有意义。

但是我使用这个 fbox 主要是为了提醒自己稍后修复一些东西。所以,我真的希望 \fbox{\fbox{b}}(和 fcolorbox)占用与 b 相同的垂直空间,即使它的结果突出到上面的线和下面的线。并非总是如此,但有时如此。

容易还是困难?(如果困难,请直接说出来并忽略问题。这只是一个烦恼,而不是一个问题。)

答案1

考虑到您只希望它作为余项,并且稍后会删除 es \fbox.... 它真的很丑陋,但是您\smash可以\fbox

梅威瑟:

\documentclass[12pt]{article}
\begin{document}
\footnotesize
\begin{tabular}{lc}
  a & 1\\
  a & 1\\
  \smash{\fbox{\fbox{b}}} & 1\\
  c & 1\\
  c & 1\\
\end{tabular}
\end{document} 

输出

在此处输入图片描述

你至少可以重新定义,\foxsep让它不那么丑陋

\documentclass[12pt]{article}
\begin{document}
\renewcommand{\fboxsep}{1pt}
\footnotesize
\begin{tabular}{lc}
  a & 1\\
  a & 1\\
  \smash{\fbox{\fbox{b}}} & 1\\
  c & 1\\
  c & 1\\
\end{tabular}
\end{document} 

输出

在此处输入图片描述

答案2

这里最重要的是你必须定义一个个人命令,您可以为其赋予任何您想要的含义。

这是一个例子,\smash使彩色框的垂直尺寸为零,同时\vphantom确保垂直尺寸是内容的尺寸之一。

\documentclass{article}
\usepackage{xcolor}

\newcommand{\remind}[1]{%
  \leavevmode\vphantom{#1}%
  \smash{\fboxsep=1pt\fcolorbox{red}{blue!20}{#1}}%
}

\begin{document}

\begin{tabular}{lc}
  a & 1\\
  a & 1\\
  \remind{b} & 1\\
  c & 1\\
  c & 1\\
\end{tabular}

\end{document}

在此处输入图片描述

答案3

这是另一种使用 的替代方案tcolorbox。该\remind框不会占用额外的垂直和水平空间。此外,它有点透明,即重叠的文本不会被完全隐藏:

\documentclass{article}
\usepackage{xcolor}
\usepackage[skins]{tcolorbox}

\newtcbox{\remind}{%
  enhanced jigsaw,nobeforeafter,size=fbox,sharp corners,
  shrink tight,
  extrude by=3pt,
  tcbox raise base,
  colback=red!50,
  colframe=red,
  borderline={0.5pt}{-1pt}{red,opacity=0.75},
  opacityframe=0.75,
  opacityback=0.5,
}

\begin{document}

\begin{tabular}{lc}
  a & 1\\
  a & 1\\
  \remind{b} & 1\\
  c & 1\\
  c & 1\\
\end{tabular}

Lorem ipsum dolor sit amet, \remind{consectetuer} adipiscing elit. Ut purus elit,
vestibulum ut, pla\remind{cer}at ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. \remind{Nam} arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu \remind{neque}. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.


\end{document}

在此处输入图片描述

相关内容