我想quote
以这样的方式重新定义环境以获得以下代码的输出。
\begin{quote}{\tiny\textquotedblleft Text \textquotedblright}\end{quote}
我还想修复行距,因为行之间的距离看起来很宽。
答案1
quote
这是环境的原始定义article
:
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
以下是根据您的要求以 MWE 形式重新定义的:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\renewenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax\tiny\textquotedblleft\ignorespaces}
{\unskip\unskip\textquotedblright\endlist}
\begin{document}
\lipsum[1]
\begin{quote}
\lipsum*[2]
\end{quote}
\lipsum[3]
\end{document}
\ignorespaces
at的修正\begin{quote}
是删除开头之间的所有空格,而 at 的修正是删除开头之间的所有空格\unskip\unskip
。\end{quote}
另外,不要将内容包装在 group 中{
}
,因为 group 会产生不必要的空格。
请注意,这将替换现有quote
环境。如果您打算使用原始格式,最好altquote
为此目的定义一个新的(比如说)环境。
的更新版本quote
允许添加一个可选参数[name]
,该参数在前面加上“姓名说:“在添加引号之前。如果没有name
提供,则默认设置quote
(上面)为:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{ifmtarg}% http://ctan.org/pkg/ifmtarg
\makeatletter
\renewenvironment{quote}[1][]
{\list{}{\rightmargin\leftmargin}%
\item\relax\tiny\@ifmtarg{#1}{\relax}
{\textbf{#1}~said:~}\textquotedblleft\ignorespaces}
{\unskip\unskip\textquotedblright\endlist}
\makeatother
\begin{document}
\lipsum[1]
\begin{quote}
\lipsum*[2]
\end{quote}
\lipsum[3]
\begin{quote}[bkarpuz]
\lipsum*[4]
\end{quote}
\end{document}
空参数测试由ifmtarg
包裹有条件的
\@ifmtarg{<arg>}
{<Code for arg empty>}
{<Code for arg not empty>}
答案2
您可以使用quoting
我的同名包的环境。quoting
提供键值选项来配置,例如字体属性和附加文本,这些选项可以全局更改,也可以针对单个环境更改(使用环境的可选参数)。请注意,您需要当前软件包版本 0.1b 才能使用begintext
和endtext
选项。还请注意,font
键支持所有类型的不带参数的 LaTeX 字体切换/格式化宏——例如,您可以指定font={tiny,bfseries,doublespacing}
(doublespacing
使用setspace
包已加载)。
\documentclass{article}
\usepackage[font=tiny,begintext=\textquotedblleft,endtext=\textquotedblright]{quoting}
\newcommand*{\sometext}{Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna.}
\begin{document}
\sometext
% <-- first line of following `quoting` environment not indented
\begin{quoting}
\sometext
\end{quoting}
%
\begin{quoting}[begintext={Some special text: \textquotedblleft}]
\sometext
\end{quoting}
% <-- first line after `quoting` environment not indented
\sometext
\end{document}