仅为 `\fbox` 设置 `\fboxsep`,而不为 `\boxed` 设置

仅为 `\fbox` 设置 `\fboxsep`,而不为 `\boxed` 设置

我同时使用\fbox和,\boxed但用途不同。当我使用时\fbox,我需要将其\fboxsep设置为-0.5pt,但当我使用时,\boxed我希望将\fboxsep其设置为2pt

有没有办法做到这一点?

编辑:当我被问到我的用法时,我在序言中定义了这一点

\setlength\fboxrule{0.5pt}
\setlength\fboxsep{-0.5pt}
\newcommand{\schema}[1]{\fbox{\includegraphics[width=\linewidth]{#1}}}

这是为了将在白色背景上绘制的方案包含在彩色背景区域(通常来自tcolorbox)中,并用细黑色边缘将它们整齐地分开。

另一方面,我使用了\boxed各种类型的数学公式。

答案1

你应该反过来做:

\newcommand{\schema}[1]{%
  \begingroup % localize the changes in the parameters
  \setlength{\fboxsep}{-0.5pt}%
  \setlength{\fboxrule}{0.5pt}%
  \fbox{\includegraphics[width=\linewidth]{#1}}%
  \endgroup
}

这样,任何其他\fbox(和\boxed)都将使用默认值(或您为它们修复的值)。

答案2

xpatch

\documentclass{article} %
\usepackage{amsmath}
\setlength{\fboxsep}{-0.5pt}
\usepackage{xpatch} 
\pretocmd{\boxed}{\setlength{\fboxsep}{2pt}}{}{}

\begin{document}

    \[ \boxed{a = \frac{b + c}{2}} \]%

    \centering\fbox{$a = \dfrac{b + c}{2}$}

\end{document} 

在此处输入图片描述

答案3

\fbox根本不起作用\fboxsep 要看看会发生什么

在此处输入图片描述

\documentclass{article}

\usepackage{color}

\begin{document}

\fbox{\textcolor{red}{\rule{1cm}{1cm}}}

\bigskip

\setlength\fboxsep{5pt}

\fbox{\textcolor{red}{\rule{1cm}{1cm}}}

\bigskip

\setlength\fboxsep{-5pt}

\fbox{\textcolor{red}{\rule{1cm}{1cm}}}



\end{document}

内容在顶部和左侧规则上印刷得过多,而在右侧和底部规则下印刷得过少。

\textwidth对于使用中装箱图像的实际用例

\noindent\fbox{%
  \includegraphics[width=\dimexpr\linewidth-2\fboxsep-2\fboxrule]{example-image}}

\fboxsep如果您想要留出空间,可以将上述设置设为0pt。

要获得带有 boxed 的本地设置,最简单的方法是定义一个本地设置的自定义命令\fboxsep

\newcommand\myboxed[1]{{{%
    \setlength\fboxsep{2pt}%
     \boxed{#1}}}

相关内容