我非常喜欢这个答案中的引用方式 引用环境并在末尾引用 有没有办法使用 csQuotes 获得相同的效果?下面是一个稍微简单的例子 =)
\begin{filecontents}{biblio.bib}
@book{Feynman,
author = "Richard P. Feynman",
title = "Surely You're Joking, Mr.Feynman!",
publisher = "WW.Norton Company, Inc",
year = "1985"
}
\end{filecontents}
\documentclass[12pt,a4paper]{article}
\usepackage[sort,numbers,square]{natbib}
\usepackage[norsk]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[lipsum]
\begin{document}
\textquote[Feynman \citep[s39-41]{Feynman}]{\lipsum[1]}{}{}
\bibliographystyle{plain}
\bibliography{biblio}
\end{document}
这是我得到的
这就是我想要的 =)
我确实尝试了一些棘手的修复,例如定义新环境等等。但很可能这里的人在使用这些软件包方面更有经验 =)
答案1
这里有两个问题。如果任其发展,在文本末尾lipsum
放置一个——这就是为什么你的结尾引号(和)会出现在下一行。你需要使用,这样标记就不会插入。\par
\cite
\lipsum*[1]
\par
另一个问题是获得 flushright 效果:您需要重新定义\mktextquote
:
\renewcommand{\mktextquote}[6]{#1#2#4#3\hfill\hbox{#6}#5}
所以整个文件看起来是这样的:
\begin{filecontents}{biblio.bib}
@book{Feynman,
author = "Richard P. Feynman",
title = "Surely You're Joking, Mr.Feynman!",
publisher = "WW.Norton Company, Inc",
year = "1985"
}
\end{filecontents}
\documentclass[12pt,a4paper]{article}
\usepackage[sort,numbers,square]{natbib}
\usepackage[norsk]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{lipsum}
\newcommand{\signat}[1]{%
{%
\unskip
\nobreak
\hfil
\penalty50%
\hskip2em%
\hbox{}%
\nobreak
\hfil
#1%
\parfillskip=0pt%
\finalhyphendemerits=0%
\endgraf
}%
}
\renewcommand{\mktextquote}[6]{#1#2#4#3\signat{#6}#5}
\begin{document}
\textquote[{\cite[s39-41]{Feynman}}]{\lipsum*[1]}{}{}
\bibliographystyle{plain}
\bibliography{biblio}
\end{document}
我修改了我的答案,加入了 Knuth 的一个版本\signed
,它只接受一个参数。你可以试试。但是,当我运行你的文件(在 TeXLive2013 上)时,我没有得到一个名字(“Feynman”)而是一个数字(“1”),所以我无法用一个长名字复制你的问题,顺便问一下,这是什么?
为了完整性,\mkblockquote
可以类似地重新定义:
\renewcommand{\mkblockquote}[5]{#1#2#3\signat{#4}#5}