情况
我正在将一个文件的几个部分导入另一个文件(摘要摘录)。这是使用 touhami 在两个链接问题中描述的方法完成的。
问题
如何使用\marginpar{}
此排除方法?
当我尝试编译一个文件并加载另一个包含\marginpar{}
排除部分的文件时,它会失败。比较 MWE:newfile.tex
由于\begin{mtexclude} \marginpar{...} \end{mtexclude}
而失败file.tex
。
平均能量损失(比较链接的帖子)
文件.tex
\documentclass{amsart}
\newenvironment{mtexclude}{}{}
\begin{document}
First bla bla
%<*tag>
\section{Foo}
\begin{mtexclude}% begin of part to skiped
this works just fine
\end{mtexclude}% end
works fine aswell
\begin{mtexclude}% this exclude does not work
this works only in the main ``file.tex''
\marginpar{
this causes the error in compilation of newfile.tex
}
\end{mtexclude}
The end
%</tag>
Last bla bla
\end{document}
新文件.tex
\documentclass{amsart}
\usepackage{lipsum}
\usepackage{catchfilebetweentags}
\newtoks\temptoken
\newbox\mtbox
\makeatletter
\newenvironment{mtexclude}{%
\setbox\mtbox\vbox\bgroup%
\def\@float##1{\def\@captype{##1}}%
\let\end@float\relax%
}{\egroup}
\makeatother
\begin{document}
\lipsum[1]
\CatchFileBetweenTags\temptoken{file}{tag}
\the\temptoken
\end{document}
答案1
您需要重新定义\marginpar
为不执行任何操作(与图形和表格相同),因此我们需要执行
\newenvironment{mtexclude}{%
\setbox\mtbox\vbox\bgroup%
\def\marginpar{}%
\def\@float##1{\def\@captype{##1}}%
\let\end@float\relax%
}{\egroup}
笔记请小心,内部mtexclude
柜台风格工作尝试与\section{foo}
内部mtexclude
和\section{bar}
外部相结合。
平均能量损失
\documentclass{amsart}
\usepackage{lipsum}
\usepackage{catchfilebetweentags}
\newtoks\temptoken
\newbox\mtbox
\makeatletter
\newenvironment{mtexclude}{%
\setbox\mtbox\vbox\bgroup%
\def\marginpar{}%
\def\@float##1{\def\@captype{##1}}%
\let\end@float\relax%
}{\egroup}
\makeatother
\begin{document}
\lipsum[1]
\CatchFileBetweenTags\temptoken{file}{tag}
\the\temptoken
\end{document}