![仅为 `\fbox` 设置 `\fboxsep`,而不为 `\boxed` 设置](https://linux22.com/image/432281/%E4%BB%85%E4%B8%BA%20%60%5Cfbox%60%20%E8%AE%BE%E7%BD%AE%20%60%5Cfboxsep%60%EF%BC%8C%E8%80%8C%E4%B8%8D%E4%B8%BA%20%60%5Cboxed%60%20%E8%AE%BE%E7%BD%AE.png)
我同时使用\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
答案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}}}