2010-10-25 51 views
11

我经常想要告诉文本里面的一些评论,这些评论与讨论的主题没有太密切的关系。通常为了这个目的,我使用quotation环境,因为左边有大缩进。评论可能很大,它可以包括公式,代码清单,嵌套报价等等。垂直线与每个报价

如何让quotation环境在其所有内容的左侧画出长垂直线?你通常可以在网上遇到这种风格,并带有实际的引号。

谷歌已经找到了一个解决方案:

\begin{flushleft} 
\hbox{% 
\vrule\hspace{.5em}\parbox{.9\textwidth}% 
{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id hendrerit 
nunc. Sed scelerisque lacus vitae erat eleifend eleifend. Donec eros mi, placerat 
in porta eleifend, placerat a urna. Pellentesque venenatis neque non turpis 
convallis vehicula. Aliquam aliquet ultricies tincidunt.}} 
\end{flushleft} 

但它不能与文本的内部代码清单等处理。

谢谢您的建议。对不起,如果我的英语不够理解。

回答

16

您是否尝试过使用表格环境?

下面是一些代码,创建你上面给出的文本的垂直线,

\begin{tabular}{|p{10cm}} 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id hendrerit 
nunc. Sed scelerisque lacus vitae erat eleifend eleifend. Donec eros mi, placerat 
in porta eleifend, placerat a urna. Pellentesque venenatis neque non turpis 
convallis vehicula. Aliquam aliquet ultricies tincidunt.\\ 
\end{tabular} 

你需要在p {10厘米}定义来包装文本列的宽度,否则离开页面。您可以根据您的页边距和纸张格式更改值。

下面是结果,

Vertical Line Quote

而且据我所知,表格环境接受的代码清单包。

+1

这石头!为了获得更多的空间,我使用了'{l | p {0.9 \ textwidth}'对齐方式,然后用'\ quad&'作为前导引号' – Hendy 2011-04-07 16:11:40

+0

伟大的解决方案!对于包含多个段落的引用,“表格”环境将'parskip'设置为0.要覆盖此值,请使用'\ setlength {\ parskip} {4mm}'。 – 2014-01-19 00:44:03

+0

这在语义上很糟糕。报价应该是引号而不是表格。 – Zelphir 2017-01-06 15:43:59

12

我会建议使用framedbox/leftbar:

\usepackage{framed} 
\newenvironment{quotationb}% 
{\begin{leftbar}\begin{quotation}}% 
{\end{quotation}\end{leftbar}} 

然后你可以使用\begin{quotationb}......\end{quotationb}

+1

我不喜欢左栏的非常厚(默认是3pt)栏,所以使用原始文件(http://ctan.org/pkg/framed)我添加了这个: '''''''''''''''''更新环境{左栏} {\ def \ FrameCommand {\ vrule width 0.5pt \ hspace {10pt}} \ MakeFramed {\ advance \ hsize- \ width \ FrameRestore}} {\ endMakeFramed}'创建一个0.5pt的左栏。 – 2014-07-08 11:20:28

+0

更新使用线宽和缩进可选设置:'\ usepackage {xargs的} \ usepackage {成帧} \ renewenvironmentx {leftbar} [2] [1 = 0.5pt,2 = 5pt]% {\ DEF \ FrameCommand { \大小宽度#1 \ hspace {#2}} \ MakeFramed {\ advance \ hsize- \宽\ FrameRestore}}% {\ endMakeFrame}' – 2014-07-11 15:22:47

+0

@DaanWilmer这似乎现在框架整个事情,剩下... – Joel 2016-05-25 21:57:48