
我試圖防止項目(在命令中使用)在內部損壞,但我找到的解決方案最終導致腳註消失。關於如何保持腳註活躍但又避免破壞有什麼建議嗎?
\documentclass{article}
\begin{document}
\newcommand{\lymessage}[3]{
\item{{#1}\par{#2}\par{#3}\par{#3}\par{#3}\par{#3}\par{#3}\par{#3}\par{#3}
\par{#3}\par{#3}\par{#3}\par{#3}\par{#3}}
}
\begin{enumerate}
\lymessage
{First arg of item.\par}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\lymessage
{First arg of item.\par}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\lymessage
{First arg of item.\par}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\end{enumerate}
\end{document}
謝謝你的幫忙!
編輯:感謝@wipet 提供的解決方案。\par\nobreak
代替只是\par
完美地工作。
答案1
這是一個想法,但要理解你所追求的並不容易。
\documentclass{article}
\begin{document}
\newcommand{\lymessage}[3]{%
\item \begingroup
\let\par\fpar % don't really do \par
\linepenalty=10000 % no page break inside a paragraph
% the text
#1\par
#2\par
#3\par #3\par #3\par #3\par #3\par #3\par
#3\par #3\par #3\par #3\par #3\par #3%
\endgroup\par % issue a real \par
}
\newcommand{\fpar}{% emulate \par, but just do \hfil\break
\ifhmode
\unskip % remove a possible space
\vadjust{\nobreak\vskip\parskip}% insert \parskip glue
\nobreak % don't break at the next glue
\hskip\parfillskip % fill the line
\break % break here
\fi
}
\begin{enumerate}
\lymessage
{First arg of item.}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\lymessage
{First arg of item.}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\lymessage
{First arg of item.}
{Second arg\footnote{footnote text} of item.}
{Another arg of item.}
\end{enumerate}
\end{document}