LaTeX – добавление различного количества горизонтальных интервалов в начало каждой новой строки в последовательности [закрыто]
-
19-09-2019 - |
Вопрос
Я использую LaTeX для задания алгоритмов, и мне нужно показать шаги для Алгоритм Хорспула для сопоставления строк аналогично тому, что показано в учебнике.Алгоритм демонстрируется тем, как шаблон смещается по тексту при каждом неудачном сравнении, причем каждый сдвиг происходит на новой строке.Шаблон отображается под текстом с соответствующим горизонтальным интервалом, указывающим, какие буквы сравниваются.
Вот пример того, как это будет выглядеть с последовательностью ДНК:
GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
ACATCTCA
ACATCTCA
ACATCTCA
Я просмотрел несколько ссылок на LaTeX.Я попробовал использовать \hspace
чтобы добавить интервал в начале каждой строки, затем добавив \hfill
после шаблона и перед созданием новой строки.Я не получаю никаких ошибок, но спереди не добавляется пробел.Строка заполняется правильно.
Есть ли другой способ добавить пробел в начало каждой строки или другой способ отформатировать это?
Решение
Я совершенно уверен, что вы хотите печатать свои примеры шрифтом фиксированной ширины, и в этом случае вам, вероятно, следует использовать verbatim
среда.Еще лучше, вы могли бы использовать фантазияврб пакет, который дает вам Verbatim
среды и позволяет вам контролировать субтитры, цвет, размер/форму шрифта и т. д.Вы даже можете сделать пробелы более заметными, показав их:
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[showspaces=true,fontsize=\small]
GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
ACATCTCA
ACATCTCA
ACATCTCA
\end{Verbatim}
\end{document}
Другие советы
Просто используйте \hspace*{5mm}
(т.е.форма со звездочкой), которая отлично работает в начале строки.
Для этого я всегда добавляю «пустой» объект в начало строки, например.
${}$\hspace{5em}Foo
это не красиво, но служит цели.
Я бы просто использовал пакет объявлений и сделайте отступ с пробелами или табуляцией.Я предполагаю, что вы все равно используете шрифт пишущей машинки, чтобы получать буквы неотносительной ширины.