外层挂钩模式

外层挂钩模式

达到正确模式后可以执行宏吗?

\documentclass{article}
\usepackage{etoolbox}
\usepackage{marginfix}

\newcommand{\mymarginpar}[1]{\AfterEndEnvironment{figure}{\marginpar{#1}}}
%\newcommand{\mymarginpar}[1]{\AfterBackInOuterParMode{\marginpar{#1}}}

\begin{document}

\begin{figure}
   \begin{center}
   My figure goes here
   \caption[Caption for LOF]{bar\mymarginpar{A note}}
   \end{center}
\end{figure}


\begin{table}
   \centering
   my table goes here
   \caption[Caption for LOF]{bar\mymarginpar{Another note}}
\end{table}

\end{document}

我也考虑过一个简单的 if/elseif 检测环境,即图形或表格,但在问题已经讨论过了,嵌套环境怎么会不起作用。第一个例子是在centernotfigure环境中调用的?!

我的天真想法是某种\AfterBackInOuterParMode。有可能实现吗?

- 编辑:

人们要求在问题中使用 MWE,所以我尝试这样做。但是,为什么不能考虑其他解决方案就这么消失了。所以,这里有一点背景知识:在(我们制作的)用于生成博士论文或讲义的模板中,有两个最常见的抱怨。

其中之一就是无法使用旁注在标题中,如果你也利用它们作为参考,这是很常见的。最后,它看起来像这样。您还可以看到,为什么任何类型的手动调整(偏移等)都是不可能的,因为两个或多个输出文件(一个用于 Kindle)是从同一个输入文件生成的。marginnote不能使用,因为我们使用marginfix。否则,注释将重叠。这会导致各种问题,其中一个问题描述这里

只是\begin{center}为了举例说明嵌套环境而添加的。如果我检测到实际(内部)环境,我会得到center而不是figure

总的来说,有没有办法定义mymarginpar它在 MWE 中起作用?

相关内容