2010-10-25 13 views
11

Spesso desidero raccontare alcuni commenti all'interno del testo, che non sono così strettamente correlati all'argomento trattato. Solitamente per questo scopo utilizzo l'ambiente quotation, a causa del suo ampio rientro a sinistra. Il commento può essere ampio, può includere formule, elenchi di codici, citazioni annidate e così via.Riga verticale con ogni quotazione

Come posso creare l'ambiente quotation per disegnare una lunga linea verticale sulla sinistra di tutto il suo contenuto? Spesso puoi incontrare questo stile nel Web, con le citazioni attuali.

Google ha trovato una soluzione:

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

Ma non si può fare con listati di codice, ecc all'interno del testo.

Grazie per il vostro consiglio. Scusa se il mio inglese non era abbastanza comprensibile.

risposta

16

Hai provato a utilizzare un ambiente tabulare?

Ecco alcuni codice che crea una linea verticale per il testo che avete dato sopra,

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

È necessario il p {10 centimetri} per definire la larghezza della colonna per il testo per avvolgere, altrimenti esce dalla pagina. È possibile modificare il valore in base ai margini e al formato della carta.

Ecco il risultato,

Vertical Line Quote

E per quanto ne so, ambiente tabular accetta il pacchetto listati di codice.

+1

Questa rocks! Per avere un po 'più di spazio, ho usato un allineamento di '{l | p {0.9 \ textwidth}' e poi ho preceduto la citazione con '\ quad &' – Hendy

+0

Ottima soluzione! Per le virgolette con più paragrafi, l'ambiente 'tabular' imposta' parskip' su 0. Per sovrascriverlo, usa '\ setlength {\ parskip} {4mm}'. –

+0

Questo è semanticamente negativo. Le virgolette dovrebbero essere citazioni e non tabelle. – Zelphir

12

Io suggerirei di usare framedbox/leftbar:

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

quindi è possibile utilizzare \begin{quotationb}......\end{quotationb}

+1

Non mi piace la barra molto spessa (di default è 3pt) della barra sinistra, quindi utilizzando il file originale (http://ctan.org/pkg/framed) ho aggiunto questo: '\ renewenvironment {leftbar} {\ def \ FrameCommand {\ vrule width 0.5pt \ hspace {10pt}} \ MakeFramed {\ advance \ hsize- \ width \ FrameRestore}} {\ endMakeFramed} 'per creare una barra di sinistra di 0,5pt. –

+0

Aggiornamento utilizzando le impostazioni opzionali per larghezza linea e rientro: '\ usepackage {xargs} \ usepackage {frameed \ renewenvironmentx {leftbar} [2] [1 = 0.5pt, 2 = 5pt]% {\ def \ FrameCommand { \ vrule width # 1 \ hspace {# 2}} \ MakeFramed {\ advance \ hsize- \ width \ FrameRestore}}% {\ endMakeFramed} ' –

+0

@DaanWilmer Questo sembra ora incorniciare l'intera cosa anziché essere solo sul sinistra... – Joel

Problemi correlati