我使用以下aquote
环境来创建引文,同时将作者姓名放在引文的右下角(在 beamer 中)。使用此宏是因为如果上一行有空格的话,作者姓名可以“挤进”上一行的空格中。
我的 latex 技能有限。是否可以重新定义此环境以 \enquote{} 引用中的文本?我不知道该怎么做。
\documentclass{beamer}
\usepackage[style=british]{csquotes}
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip1em
\hbox{}\nobreak\hfill #1%
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
\newsavebox\mybox
\newenvironment{aquote}[1]
{\savebox\mybox{#1}\begin{quote}}
{\vspace*{1mm}\signed{\usebox\mybox}\end{quote}}
\begin{document}
\begin{frame}
Example:
\begin{aquote}{Author Name}
This is an example with some text that goes across more than one line.
\end{aquote}
\end{frame}
\end{document}
我使用的这个宏基于此网站上发布的用于文章的原始宏,但经过了轻微定制以与 beamer 配合使用。如果我能在此网站上找到原始示例,我会在下面提供链接。
答案1
这是一个您可能需要根据您的字体进行调整的解决方案(\hspace
)。
\documentclass{beamer}
\usepackage[style=british]{csquotes}
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip1em
\hbox{}\nobreak\hfill #1%
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
\newsavebox\mybox
\newenvironment{aquote}[1]
{\savebox\mybox{#1}\begin{quote}\openautoquote\hspace*{-.7ex}}
{\unskip\closeautoquote\vspace*{1mm}\signed{\usebox\mybox}\end{quote}}
\begin{document}
\begin{frame}
Example:
\begin{aquote}{Author Name}
This is an example with some text that goes across more than one line.
\end{aquote}
\end{frame}
\end{document}