我正在尝试创建一个新环境,该环境接受未定义数量的项目并在边距中创建一个列表。本质上执行的操作与此代码相同:
\marginpar{\fontsize{1.5cm}{1.5cm}\selectfont
\begin{itemize}
\item item1
\item item2
\item item3
\end{itemize}}
我试过
\newenvironment{marginlist}
{\marginpar{\fontsize{1.5cm}{1.5cm}\selectfont
\begin{itemize}}
{ \end{itemize}}}
{
但由于打开了,latex 无法解析它\marginpar
。
答案1
您可以定义一个框来存储环境的主体(这对于对齐来说可能也更好),或者您可以使用宏\NewDocumentEnvironment
:
\documentclass{article}
\newsavebox{\tempitemizebox}
\newenvironment{marginlist}{%
\setbox\tempitemizebox=\vbox\bgroup%
\fontsize{1.5cm}{1.5cm}\selectfont%
\begin{itemize}
}{%
\end{itemize}
\egroup%
\marginpar{\usebox{\tempitemizebox}}%
}
\begin{document}
\begin{marginlist}
\item item1
\item item2
\item item3
\end{marginlist}
\end{document}
\documentclass{article}
\NewDocumentEnvironment{marginlist}{ b }{%
\marginpar{\fontsize{1.5cm}{1.5cm}\selectfont%
\begin{itemize}
#1
\end{itemize}
}%
}{}
\begin{document}
\begin{marginlist}
\item item1
\item item2
\item item3
\end{marginlist}
\end{document}
我不确定您是否真的希望字体那么大……