Quiero hacer exactamente lo mismo que puedes encontrar aquí:El entorno de cotización:
\documentclass{article}
\usepackage{quoting,xparse}
\NewDocumentCommand{\bywhom}{m}{% the Bourbaki trick
{\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\mbox{\normalfont(#1)}%
\parfillskip=0pt \finalhyphendemerits=0 \par}%
}
\NewDocumentEnvironment{pquotation}{m}
{\begin{quoting}[
indentfirst=true,
leftmargin=\parindent,
rightmargin=\parindent]\itshape}
{\bywhom{#1}\end{quoting}}
\begin{document}
This is not a quotation, this is normal text.
\begin{pquotation}{Jack Johnson, 2003}
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
\end{pquotation}
This is not a quotation, this is normal text.
\end{document}
¡PERO! Me gustaría tener una cita automática en francés antes y después de la cita del párrafo.
Probé la opción starttext=«~, está bien para empezar. Pero el texto final puso ~» en una nueva línea.
Intenté también:
\NewDocumentEnvironment{verba}{m}
{\begin{quotation}«~\small\itshape}
{~»{}\bywhom{#1}\end{quotation}}
pero la cita de cierre es para una nueva línea...
Muchas gracias si puede sugerirme cómo crear un nuevo entorno para la sociología palabra por palabra.
Respuesta1
Tenga en cuenta que xparse
ya no es necesario. Para cotizaciones en francés, necesita codificación T1.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{quoting}
\NewDocumentCommand{\bywhom}{m}{% the Bourbaki trick
{\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\mbox{\normalfont(#1)}%
\parfillskip=0pt \finalhyphendemerits=0 \par}%
}
\NewDocumentEnvironment{pquotation}{m}
{\begin{quoting}[
indentfirst=true,
leftmargin=\parindent,
rightmargin=\parindent]\itshape«\ignorespaces}
{\unskip»\bywhom{#1}\end{quoting}}
\begin{document}
This is not a quotation, this is normal text.
\begin{pquotation}{Jack Johnson, 2003}
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
\end{pquotation}
This is not a quotation, this is normal text.
\end{document}
No hay línea en blanco antes \end{pquotation}
.
Si se siente obligado a permitir líneas en blanco antes \end{pquotation}
, puede hacer lo siguiente:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{quoting,xparse}
\NewDocumentCommand{\bywhom}{m}{% the Bourbaki trick
{\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\mbox{\normalfont(#1)}%
\parfillskip=0pt \finalhyphendemerits=0 \par}%
}
\ExplSyntaxOn
\NewDocumentCommand{\removetrailingpar}{+m}
{
\tl_set:Ne \l_tmpa_tl { \tl_trim_spaces:n { #1 } }
\regex_replace_once:nnN { (?:\s|\c{par})*\Z } { } \l_tmpa_tl
\tl_use:N \l_tmpa_tl
}
\ExplSyntaxOff
\NewDocumentEnvironment{pquotation}{m+b}
{
\begin{quoting}[
indentfirst=true,
leftmargin=\parindent,
rightmargin=\parindent
]\itshape
«\removetrailingpar{#2}»
\bywhom{#1}
\end{quoting}
}{}
\ExplSyntaxOff
\begin{document}
This is not a quotation, this is normal text.
\begin{pquotation}{Jack Johnson, 2003}
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
This is a quotation. This is a quotation.
\end{pquotation}
This is not a quotation, this is normal text.
\end{document}