在枚举环境中预格式化项目以实现自定义报价

在枚举环境中预格式化项目以实现自定义报价

考虑一下代码

\documentclass[12pt]{book}
\usepackage{scalefnt}
\usepackage[sfdefault]{cabin}
\usepackage{mathptmx} % replaces obsolete times package.

\newcommand{\longemdash}{{\fontfamily{cmss}\selectfont---}}
\newcommand{\fancyquote}[2]{%
  \par\scalefont{1.05}{#1}\\[2pt]\hspace*{\fill}\longemdash{\fontfamily{qtm}\selectfont\textit{\textbf{#2}}}%
}
\begin{document}
\thispagestyle{empty}
\begin{enumerate}
\item \fancyquote{Even if you're on the right track, you'll get run over if you just sit there.}{Will Rogers}

%\item \fancyquote{}{}
%\item \fancyquote{}{}
%\item \fancyquote{}{}
\end{enumerate}
\end{document}

产生

在此处输入图片描述

现在,我想通过替换 来简化在此枚举环境中键入许多此类引号的过程\item\item \fancyquote{}{}但是,取消注释该命令%\item \fancyquote{}{}会在使用 进行编译时产生错误pdflatex

\item \fancyquote{}{}实际上,我预计必须输入一百多个这样的引号;如果我可以使用类似的而不是来预先构建环境,那将会很有帮助\item

问题:有没有办法可以做到不产生错误。我希望不要采用类似这样的方法,虽然\item \fancyquote{A}{B}可以编译而不产生错误,但每次输入新引文时都需要删除 A 和 B --- 正如我所说,我预计新引文的数量将超过一百。

谢谢。

答案1

类似这样的,我想你的意思是

在此处输入图片描述

\documentclass[12pt]{book}
\usepackage{scalefnt}
\usepackage[sfdefault]{cabin}
\usepackage{mathptmx} % replaces obsolete times package. %but is almost as old and obsolete

\newcommand{\longemdash}{{\fontfamily{cmss}\selectfont---}}
\newcommand{\fancyquote}[2]{%
  \par\scalefont{1.05}{\leavevmode\ignorespaces#1}\\[2pt]%
  \hspace*{\fill}\longemdash{\fontfamily{qtm}\selectfont\textit{\textbf{#2}}}%
}
\begin{document}
\thispagestyle{empty}
\begin{enumerate}
\item \fancyquote{Even if you're on the right track, you'll get run over if you just sit there.}{Will Rogers}

\item \fancyquote{}{}
\item \fancyquote{}{}
\item \fancyquote{}{}
\end{enumerate}
\end{document}

相关内容