2010-02-06 23 views
6

Sto utilizzando LaTeX per l'assegnazione di algoritmi e ho bisogno di mostrare i passaggi per Horspool's algorithm per la corrispondenza delle stringhe simile a quanto mostrato nel manuale. Il modo in cui dimostra l'algoritmo mostra come il modello si sposta lungo il testo per ogni confronto fallito, con ogni turno su una nuova linea. Il modello è mostrato sotto il testo con spaziatura orizzontale appropriata che indica quali lettere vengono confrontate.LaTeX - Aggiunta di una quantità variabile di spaziatura orizzontale all'inizio di ogni nuova riga in una sequenza

Ecco un esempio di ciò che sarebbe simile con una sequenza di DNA:

GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA 
ACATCTCA 
ACATCTCA 
    ACATCTCA 
    ACATCTCA 

ho curiosato su diversi riferimenti LaTeX. Ho provato a utilizzare \hspace per aggiungere la spaziatura all'inizio di ogni riga, quindi aggiungere \hfill dopo il motivo e prima di creare una nuova riga. Non ricevo errori, ma non c'è spazio aggiunto nella parte anteriore. La linea viene riempita correttamente.

C'è un altro modo per aggiungere lo spazio all'inizio di ogni riga o un altro modo per formattarlo?

+0

Questo la domanda sembra essere fuori tema perché riguarda LaTeX. –

+2

Quando l'ho chiesto quasi 4 anni fa, non c'era LoTeX Stack Exchange. Va bene con me se ha bisogno di essere spostato. – Feanor

risposta

7

Sono quasi sicuro di voler comporre i tuoi esempi con un font a larghezza fissa, nel qual caso dovresti probabilmente usare l'ambiente verbatim. Ancora meglio, si potrebbe usare fancyvrb pacchetto, che ti dà un ambiente Verbatim, e consente di controllare le didascalie, la colorazione, dimensione del carattere/forme, ecc Si può anche fare gli spazi più visibile, mostrando loro:

\documentclass{article} 
\usepackage{fancyvrb} 
\begin{document} 
\begin{Verbatim}[showspaces=true,fontsize=\small] 
GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA 
ACATCTCA 
ACATCTCA 
    ACATCTCA 
    ACATCTCA 
\end{Verbatim} 
\end{document} 
+0

concordato. Basta usare verbatim. –

+0

Questo è perfetto. Grazie per la raccomandazione – Feanor

0

Vorrei semplicemente utilizzare il listings package e fare l'indention con spazi o schede. Suppongo che si stia utilizzando comunque il carattere della macchina da scrivere per ottenere lettere con una larghezza non relativa.

3

Per questo, aggiungo sempre un oggetto "vuoto" all'inizio della riga, ad es.

${}$\hspace{5em}Foo 

non è bello, ma serve allo scopo.

23

Basta usare \hspace*{5mm} (vale a dire la forma a stella) che funziona bene all'inizio di una riga.

+0

Proprio quello di cui avevo bisogno! – Ani

+1

Questo ha funzionato perfettamente all'interno di Beamer, che fancyvrb no. –

Problemi correlati