¿Cómo alinear a la derecha la última línea de un bloque de texto?

¿Cómo alinear a la derecha la última línea de un bloque de texto?

Estoy usando pandocpara convertir un archivo Markdown a un documento LaTeX y luego a PDF. El documento que tengo contiene algunas citas. Procedentes del Markdown estándar, se representan como quotationo quoteen el documento LaTeX.

En Markdown no existe la posibilidad de indicar específicamente una firma o atribución de la cotización. Como resultado, no puedo usar un paquete como attribpara darle un estilo diferente a la parte de atribución.

Pregunta: ¿cómo puedo alinear correctamente la firma de la cotización? De manera más general, ¿cómo se puede lavar a la derecha la última línea de un bloque? ¿O se puede alinear a la derecha una línea que comienza con "--"? (Cualquiera de estos tres servirá).

Aquí hay un documento LaTeX mínimo que muestra mi intención. Me gustaría que la parte "-- Walt Disney" se desplazara hacia la derecha.

\documentclass{book}
\setlength{\parindent}{0em} % Added for clarity.
\renewcommand{\quote}{\list{}{\itshape}\item\relax} % Making quote italic.
\begin{document}
\begin{quote}
The way to get started is to quit talking and begin doing.

-- Walt Disney
\end{quote}
\end{document}

Y no, usar un paquete como dirtytalk, csquoteso epigraphno funcionará. La fuente de Markdown no distingue (ni puede) distinguir entre la cita y la atribución. Es todo una quotecuadra.

Respuesta1

Me parece que estás deseando Markdownque te amplíen para tener un nuevo tipo de cotización. Usted dice que "No es la idea de un documento Markdown incluir comandos de estilo/renderizado", pero lo hace: permite la especificación deitálicoyatrevidofuentes.

Con respecto a LaTeX, aquí hay una declaración ( \justlastragged) que establecerá la última línea de un párrafo a la derecha.

% lastraggedprob.tex  SE 641048

\documentclass{article}

\newcommand{\paratext}{Just some text to fill up a couple of lines,
  which might be used for a paragraph or
  some other kind of text block. Let's hope it works out.}

\begin{document}

\newcommand{\justlastragged}{%
  \leftskip =0pt plus 1fil
  \rightskip =-\leftskip
  \parfillskip=\leftskip
% \parindent = 0pt
}
  
\section{First}

Normal paragraph setting

\paratext

\paratext

\section{Second}

Last line of a paragraph being set flush right (ragged left).
\justlastragged

\paratext

\paratext

\paratext \paratext

\end{document}

ingrese la descripción de la imagen aquí

La \justlastraggeddeclaración es una entre varias configuraciones para párrafos con estilos diferentes que describí en TUGboat en 2007.https://tug.org/TUGboat/tb28-2/tb89glister.pdf

Respuesta2

Intente usar \hfillpara completar el espacio horizontal antes -- Walt Disney.

\documentclass{book}
\setlength{\parindent}{0em} % Added for clarity.
\renewcommand{\quote}{\list{}{\itshape}\item\relax} % Making quote italic.
\begin{document}
\begin{quote}
The way to get started is to quit talking and begin doing.

\hfill -- Walt Disney
\end{quote}
\end{document}

Y sí, pandoc procesará \hfillsiempre que genere LaTeX o utilice LaTeX en el backend para, por ejemplo, producir un PDF.

> The way to get started is to quit talking and begin doing.
> 
> \hfill -- Walt Disney

salida pandoc

(Imagen producida por pandoc; si quieres que esté en cursiva como lo hace tu código LaTeX, tendrás que agregar más al archivo de rebajas o a las opciones de pandoc, por supuesto, pero supongo que ya sabes cómo hacerlo).

información relacionada