Alinear la atribución del poema con el lado derecho del ancho del verso en lugar de con el lado derecho de la página

Alinear la atribución del poema con el lado derecho del ancho del verso en lugar de con el lado derecho de la página

Me gustaría agregar atribuciones a algunos poemas de mis memorias. El siguiente código hace eso, pero elimina las atribuciones a la derecha del bloque de texto. Me gustaría que estuvieran alineados a la derecha del ancho del verso.

\documentclass[11pt]{memoir}

\newcommand{\attrib}[1]{%
  \vskip2ex\nopagebreak{\raggedleft\footnotesize #1\par}}

\begin{document}

\settowidth{\versewidth}{``This boy is forest-born.''}
\begin{verse}[\versewidth]
``This boy is forest-born.''\\
\attrib{\textit{-- As You Like It}}
\end{verse}

\end{document}

Respuesta1

La macro \attribaquí puede tomar un argumento opcional para anular manualmente el archivo \versewidth. Establecer el argumento opcional en \textwidthalineará a la derecha la atribución relativa a la página, como se muestra en el MWE.

\documentclass[11pt]{memoir}
\newcommand{\attrib}[2][\versewidth]{%
  \vskip2ex\nopagebreak{\raggedleft\footnotesize%
  #2\hspace{\dimexpr.5\textwidth-.5\dimexpr#1}\mbox{}\par}}

\begin{document}

\settowidth{\versewidth}{``This boy is forest-born.''}
\begin{verse}[\versewidth]
``This boy is forest-born.''\\
\attrib{\textit{-- As You Like It}}
\end{verse}

\settowidth{\versewidth}{``This boy is forest-born blah blah.''}
\begin{verse}[\versewidth]
``This boy is forest-born blah blah.''\\
\attrib{\textit{-- As You Like It}}
\end{verse}

\settowidth{\versewidth}{``Override the default attib placement.''}
\begin{verse}[\versewidth]
``Override the default attib placement.''\\
\attrib[\textwidth]{\textit{-- As You Like It}}
\end{verse}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada