我正在尝试在 mdframed 环境中删除脚注的分隔线。我尝试\renewcommand\footnoterule{}
在 mdframed 环境中使用,但这似乎不起作用。
当我不得不改变脚注符号时,我必须使用一些这样的临时值:
\renewcommand{\thempfootnote}{\color{white}{$\dagger$}}
有没有类似的温度值\footnoterule
?如果我可以删除黑线或将其变为白色就好了……
梅威瑟:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{xcolor}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{vprasanje}{%
font=\normalsize,
linecolor=red,
outerlinewidth=0pt,
roundcorner=2pt,
innertopmargin=4pt,
innerbottommargin=4pt,
innerrightmargin=10pt,
innerleftmargin=10pt,
backgroundcolor=red,
settings={\definecolor{linkcolor}{RGB}{255,255,255}}}
\usepackage{footmisc}
\def\footnotelayout{\color{white}}
\begin{document}
\begin{mdframed}[style=vprasanje]
\renewcommand\footnoterule{}
\renewcommand{\thempfootnote}{\color{white}{$\dagger$}}
\textcolor{white}{This is a footnote\footnote{You can see that line is still there and color is black...}}
\end{mdframed}
\end{document}
渲染:
答案1
快速浏览mdframed.sty
显示(l. 745ff)该包使用内部宏\mdf@footnoterule
而不是“标准” \footnoterule
(这是相当明智的)。此内部宏定义为
\newrobustcmd*\mdf@footnoterule{%
\kern0\p@%
\hrule \@width 1in \kern 2.6\p@}
(不要问我为什么,\kern0\p@
而要简单地\kern\z@
。)如果你想一劳永逸地删除该行,一个快速而肮脏的技巧就是简单地放置
\makeatletter
\def\mdf@footnoterule{}
\makeatother
在序言中的某处。我认为这应该是安全的,因为它仅由实际排版脚注的宏使用。
编辑:如果你想做其他事情,比如改变颜色,你可以根据自己的需要调整代码,比如
\makeatletter
\renewrobustcmd*\mdf@footnoterule{%
{\color{white}\kern0\p@%
\hrule \@width 1in \kern 2.6\p@}}
\makeatother
请注意 1) 的使用\renewrobustcmd*
和 2) 周围的额外分组\color{white}
。后者在您的 MWE 中不是绝对必要的,因为无论如何您都是用白色书写文本,但除此之外,这很重要。