考虑一下代码
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\newcommand{\longemdash}{{\fontfamily{cmss}\selectfont---}}
\newcommand{\emdash}{\nobreak---\nobreak\hskip0pt}
\newcommand{\fancyquote}[2]{%
\par\noindent{#1}\\*\hspace*{\fill}\longemdash\fontfamily{cmss}\selectfont\textit{\textbf{#2}}%
}
\begin{document}
\thispagestyle{empty}
\fancyquote{A quote.}{Author}
\fancyquote{
\begin{enumerate}
\item A quote.
\item Another quote.
\end{enumerate}}{Author}
\end{document}
产生
第一个fancyquote
没有问题;但是,第二个包含enumerate
环境的代码却出现了错误消息:
问题:有人知道是什么原因导致错误吗?字体也发生了轻微变化,毫无疑问是这个原因。
谢谢。
答案1
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\newcommand{\longemdash}{{\sffamily---}}% long???
\newcommand{\emdash}{\nobreak---\nobreak\hskip0pt}
\newcommand{\fancyquote}[2]{%
\par{\parindent=0pt #1\par}\nopagebreak
\hspace*{\fill}\longemdash\textit{\sffamily\textbf{#2}}%
}
\begin{document}
\thispagestyle{empty}
\fancyquote{A quote.}{Author}
\fancyquote{
\begin{enumerate}
\item A quote.
\item Another quote.
\end{enumerate}}{Author}
\end{document}