在左邊距中懸掛帶引號的標點符號?

在左邊距中懸掛帶引號的標點符號?

Plain TeX 有一種創建懸掛標點符號的方法,其中緊鄰某些文字左側的標點符號/字元有效地位於頁邊距中。

我想用引號來做到這一點,以便引用文字的正文兩側縮進,但左引號位於起始字元的左側。這是我想要的效果:

``Lord Bacon, in 'the true marshalling of the sovereign degrees of
  honor,' assigns the first place to 'the Conditores Imperiorum, 
  founders of States and Commonwealths'; and, truly, to build up from 
  the discordant elements of our nature the passions, the interests, 
  and the opinions of the individual man, the rivalries of family, clan, 
  and tribe, the influences of climate and geographical position, the
  accidents of peace and war accumulated for ages,– to build up from these 
  oftentimes warring elements a well-compacted, prosperous, and powerful 
  State, if it were to be accomplished by one effort or in one generation
  would require a more than mortal skill.''

我可以這樣做quote

\begin{quote}
{}\hspace{-5pt}{``}Lord Bacon, in 'the true marshalling

would require a more than mortal skill.''   
\end{quote}

但這似乎很笨拙。有更好的方法嗎?

答案1

您的方法{}\hspace{-5pt}{``}是笨拙的,因為您必須猜測前導引號的實際寬度``。避免這種計算的一種方法是使用巨集\makebox[0pt][r]{``}放置一個零寬度的右對齊框,從而有效地將文字重疊到左側。然而,正如您所看到的,它並沒有節省太多打字時間。

因此,解決這個問題的一種方法是將該巨集放入自己的巨集中\def,呼叫它\andIquote,這樣,就像我的 MWE 的第一個範例一樣,人們只需將 on\andIquote作為引用中的第一項進行調用。

也許更好的方法,就像我對第二個引用所做的那樣,是創建一個新環境,我稱之為quoted,它會自動在環境的開頭和結尾放置引號。

\documentclass{article}
\def\andIquote{\makebox[0pt][r]{``}}
\newenvironment{quoted}
{\quote\andIquote\ignorespaces}{\unskip''\endquote}
\begin{document}

\begin{quote}
\andIquote Lord Bacon, in 'the true marshalling

would require a more than mortal skill.''   
\end{quote}

\begin{quoted}
Lord Bacon, in 'the true marshalling

would require a more than mortal skill.   
\end{quoted}
\end{document}

在此輸入影像描述

答案2

如果我沒記錯的話,這是高德納定義的基本原理之一\llap;這已延續到乳膠中。它確實只需要在水平模式下使用,因此您應該確保\noindent在引用段落的開頭使用:

\begin{quote}
\noindent\llap{``}Lord Bacon, in 'the true marshalling ...

答案3

除了 Steven Segletes 的回答之外,您可能(就介面而言)考慮使用cs報價包,它提供了各種掛鉤來產生顯示報價的自動環境。這樣做的潛在好處是,它避免了\andIquote在任何引文開頭添加的需要:假設您希望所有引文都採用這種方式,它會自動為您完成。

「使用者」語法是

\begin{displayquote}[cite][closing-punctuation] 
...
\end{displayquote}

\mkbegispquote使用和提供的“掛鉤” \mkenddispquote,您可以安排在每個顯示的報價周圍自動放置開始和結束引號。 (我還展示了史蒂文在頁邊空白處放置引號的方法的替代方法,儘管他的方法同樣有效。)

\documentclass{article}
\usepackage{csquotes}

\renewcommand{\mkbegdispquote}[2]{\strut\llap{``}}
% #1 is closing punctuation, #2 is citation. 
% We don't use them in this instance, but they
% need to be "catered for"
\renewcommand{\mkenddispquote}[2]{#1''\ifblank{#2}{}{#2}}
% #1 is closing punctuation, #2 is citation.
% again, we provide for them if needed

\begin{document}
\begin{displayquote}
Here is a displayed quotation, which should be long enough to go over a number
of lines. In this case I have not specified any closing punctuation or citation
for the quotation.
\end{displayquote}

\begin{displayquote}[][\ldots]
Here is another displayed quotation. In this case there is some specified
punctuation which goes at the end of the quotation before the closing mark.
\end{displayquote}

\begin{displayquote}[cite]
Here is yet another displayed quotation, this time with a citation to be included
in the mix, which will be printed at the end of the quotation, after the quotes 
are closed.
\end{displayquote}

\end{document}

三個引用範例

相關內容