社會學逐字引用環境中的法文引用

社會學逐字引用環境中的法文引用

我想做的和你可以在這裡找到的完全一樣:報價環境:

  \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}

但!我希望在段落引用之前和之後有自動法語引用。

我嘗試了 begintext=«~ 選項,開始就可以了。但 endtext 將 ~» 放在新行中。

我也嘗試過:

\NewDocumentEnvironment{verba}{m}
{\begin{quotation}«~\small\itshape}
    {~»{}\bywhom{#1}\end{quotation}}

但收盤價是換行...

如果您能建議我如何為社會學逐字創建一個新環境,非常感謝。

答案1

請注意,xparse不再需要了。對於法語報價,您需要 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}

前面沒有空白行\end{pquotation}

在此輸入影像描述

如果您覺得必須在 之前允許空行\end{pquotation},您可以執行以下操作:

\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}

相關內容