Добавление отступа в алгоритмическом латексе

Как возможно расположить строки с отступом в алгоритме (алгоритмическом) в латексе?

Я хотел бы иметь возможность записать следующее:

\begin{algorithm}[H]
\caption{My Awesome Program} \label{awesome-algorithm}
\begin{algorithmic}[1]
\FOR { $i=0$ to $logn$ } 
    \STATE Step A:
        % would like the indent the next lines...
        \STATE do something
        \STATE do another thing
    \STATE Step B
\ENDFOR
\end{algorithmic}
\end{algorithm}

Как возможно расположить те строки с отступом? Я пытался найти ответ путем гугления без успеха. Я надеюсь Вы, парни могут помочь мне. Спасибо.


Я в настоящее время использую следующее для добавления отступа:

          \STATE  \ \ \ \ do something

который кажется простым неправильный. Но работы.

17
задан Anna 7 January 2010 в 08:19
поделиться

2 ответа

Попробуйте это вместо этого:

\STATE\hspace{\algorithmicindent} do something
\STATE\hspace{\algorithmicindent} do another thing

Это должно работать лучше, поскольку для отступа используется текущее значение отступа.

Редактирование: Используя предложение Чарльза, вы можете определить новую команду, \INDSTATE:

\newcommand{\INDSTATE}[1][1]{\STATE\hspace{#1\algorithmicindent}}

и затем использовать ее, когда вам нужен отступ. По умолчанию \INDSTATE отступ на один уровень, но вы можете изменить его:

\INDSTATE do something % What you want
\INDSTATE[2] do something % Indent by twice the amount
26
ответ дан 30 November 2019 в 12:27
поделиться

Я бы посоветовал тебе не отступать так. Пакет предназначен для стандартного форматирования псевдокода, чтобы облегчить чтение.

Вы пытаетесь нарушить этот стандарт. Было бы гораздо лучше попробовать переписать код, чтобы он соответствовал ожиданиям читателей.

Почему вы пометили шаг A и B? Каждое утверждение должно быть своим собственным шагом. Похоже, что вы добавляете дополнительную структуру, которая на самом деле делает код менее читабельным. Можете ли вы получить тот же эффект с комментариями? Как насчет объединения "сделай что-нибудь" и "сделай что-нибудь другое" в одно утверждение?

.
3
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: