On Tue, Sep 23, 2008 at 12:56:11PM +0400, Dmitry Azhichakov wrote: > > Это зависит не от языка программирования, а от программы. Я время от > времени вижу исходники, опубликованные в вебе немоноширинным шрифтом. > Это, как правило, ужасно. В принципе, если отступы в начале строк делать в одном стили (или только табами или только пробелами) и не использовать пробелы в середине строк для выравнивания чего-либо (например того, что приведено ниже), то должно быть без разницы. Ну кроме случаев, когда в комментариях рисуются таблицы и т.д. > С выравниваниями при немоноширинных шрифтах проблем гораздо больше, чем > вы думаете. И в LaTeX есть специальные средства для их решения, но это > в LaTeX, а не в исходниках на какой-нибудь Жаве. > > Например: > > a[1] = 1; > a[10] = 10; > a[100] = 100; > > хорошо бы выровнять "=" в столбец, но если шрифт немоноширинный, эта > запись "расползется". > > Или можно записать так: > > a[ 1] = 1; > a[ 10] = 10; > a[100] = 100; IMHO это не сильно критично. > и выровнять числа по разрядам. С немоноширинными шрифтами мало того, что > правая граница чисел расползется, так если ее выровнять, и сами числа > тоже располутся, ввиду возможной разной ширины цифр (в LaTeX для этого > есть немоноширинные шрифты с моноширинными цифрами -- специально для > таких случаев). \LaTeX -- это не редактор исходного кода, а издательская система. Довольно удобная, если потратить некоторое количество времени на изучение. Правда, если нет готового стиля под местный недоСТП, то подгонка существующих может занять достаточно большое количество времени. Какую-нибудь бумажку на 5-10 листов проще оформить в OpenOffice. В любом случае, у LaTeX тоже нужно просить, чтобы конкретно в заданном месте он выравнивал текст определенным образом. Для исходного кода есть специальные форматировщики, которые умеют приводить код к одному стилю. В частности uncrustify, на сколько я помню, умеет выравнивать присваивания, инициализацию массивов и некоторые другие случаи? Пробелами, ествественно. -- WBR, Dmitry
Attachment:
signature.asc
Description: Digital signature