С наступающим!



12 коммент.
Поздравляю всех читателей и читательниц блога "Записки дебианщика" с наступающим 2009 годом! Всем всего самого наилучшего, и да пребудет с вами Сила!


Столлмен с нами,
С нами сила
И уверенность в победе!
Читать далее

Midnight Commander: установка, обновление и использование MC



20 коммент.
Будучи поклонником двухпанельных файловых менеджеров, я просто не мог пройти мимо такого знаменательного события! Midnight Commander, он же MC после многих лет простоя обновился до версии 4.6.3. В ней подавлено много жуков и тараканов на радость простым пользователям. Этому и посвящена сия заметка.

Надо сказать, что Midnight Commander является наследником традиций norton commander, так что если кто скучает по легендарному двухпанельному файловому менеджеру, тот найдёт в Linux его достойную замену в лице Midnight Commander.


Что изменилось в новом Midnight Commander?
Из наиболее разительных изменений: поменялась подсветка типов файлов по умолчанию, починен старый и весьма раздражающий баг "Интерпретатор занят выполнением команды", отображение объёма свободного места в текущей точке монтирования и просто огромное количество других изменений. Разработчики так же обещают в ближайшем времени продолжить охоту за багами и объединить все накопившиеся патчи, чтобы любимый многими Midnight Commander стал ещё краше.

В целом всё это стоит того, чтобы обновить старый-добрый Midnight Commander. Для некоторых дистрибутивов есть сборки, так что скачать mc можно на странице проекта сразу в собранном для вашего дистрибутива виде. Для тех же из нас, кто как и автор этих строк использует Rock-Solid Debian Stable, сборка Midnight Commander из исходников сразу в пакет проблемы не составит. Достаточно скачать приглянувшийся срез отсюда и дать несколько простых команд:
dh_make --createorig
и пишем, что пакет собрали мы сами, после чего:
debuild
и наблюдаем, как за несколько мгновений собирается Midnight Commander. Сборка должна пройти без проблем, и полученный deb-пакет легко и просто ставится:
dpkg -i mc_4.6.3-1_i386.deb
На этом установка mc завершена, существующий Midnight Commander будет обновлён до версии 4.6.3. После этого набираем привычное mc и наслаждаемся. Вот как выглядит Midnight Commander у меня в Yakuake:


Если не считать немного изменившейся подсветки файлов и отображение места на текущей точке монтирования, всё осталось, как и прежде.

Клавиатурные сокращения MC
Чтобы выжать из
Midnight Commander всё, стоит запомнить хотя бы несколько клавиатурных сокращений, которые могут сильно облегчить выполнение задач. Клавиатурные комбинации в Midnight Commander имеют особенность: комбинация Ctrl + x c означает, что нужно нажать CTRL и X, отпустить и потом нажать клавишу C.

Итак, некоторые комбинации клавиш Midnight Commander:
  • Ctrl + R обновляет активную панель;
  • Ctrl + X C посмотреть/поменять права (chmod) для отмеченных файлов;
  • Ctrl + X O посмотреть/поменять владельца (chown) для отмеченных файлов;
  • Ctrl + S или Alt + S открывает диалог быстрого поиска (вводимые символы отображаются не в командной строке, а в строке поиска);
  • Ctrl + X A открывает диалог виртуальных файловых систем;
  • Ctrl+ \ вызывается меню часто используемых каталогов.
  • Ctrl + X J показываются все фоновые задачи.
  • Ctrl + X T послать выделенные объекты в командную строку
  • Ctrl + X S создать символическую ссылку (symlink)
  • Ctrl + X Q быстрый просмотр содержимого файла на второй панели.
  • Ctrl + X I быстрый просмотр информации о текущем объекте на второй панели.
  • ESC + T или ALT + T cмена вида панели (стандартный, укороченный, расширенный);
  • ESC + H или ALT + H вызов списка последних выполненных команд;
  • Alt + G отмечает первый файл или каталог в отображаемом списке на панели
  • Alt + R отмечает средний файл или каталог в отображаемом списке на панели
  • Alt + J отмечает последний файл или каталог в отображаемом списке на панели
  • Alt + O неактивная панель переходит в каталог на который указывает активная панель.
  • Alt + . не показывать или показать скрытые файлы или каталоги.
  • Alt + , переключить режим отображения панелей (вертикально/горизонтально).
  • + (Plus) вызывает окно для выделения группы файлов (можно использовать регулярные выражения)
  • \ (Backslash) снимает отметку с группы файлов (действие, обратное тому, которое
    вызывается по клавише "+").
Следует отметить, что по крайней мере в версии 4.6.3 клавиатурные комбинации могут не работать, если выключена русская раскладка.

Ассоциация приложений в Midnight commander
Например, если подсветить PDF-файл и нажать Enter, должен запуститься KPDF/Evince и открыться PDF-файл. Если этого не произошло, идём копировать файл настроек из /etc/mc и ложить его в в .mc/bindings
Дело в том, что MC не читает глобальный конфиг, о чём люди на форумах часто не пишут. Так что редактировать нужно локальную копию.

Так же редактировать это можно прямо внутри MC: F9 - Command - Edit extension file
и правим там ассоциации с расширениями файлов.

Ссылки
Теперь основное развитие Midnight Commander идёт здесь, где лежат исходники, немного собранных пакетов и вполне приличная документация на русском языке. Список горячих клавиш Midnight Commander так же есть и на английском. Интересная инструкция по работе с Midnight Commander лежит здесь. Шпаргалка по основным сокращениям MC находится здесь.
Читать далее

Иллюстрации и рисунки в LaTeX



47 коммент.
Этот пост является частью большой статьи
"Как оформить диплом в LaTeX?",
которую написал virens,
ведущий блога "Записки дебианщика".

Здесь приводятся базовые идеи и примеры, которые вам нужно освоить для вставки изображений и рисунков в LaTeX. Мы рассмотрим вставку нескольких рисунков в ряд и оформление групп рисунков, для чего будем пользоваться окружением minipage. Для набора дипломов по техническим специальностям приведённых сведений должно хватить.


Читать далее

Как оформить текст в LaTeX: структура текста



18 коммент.
Этот пост является частью большой статьи
"Как оформить диплом в LaTeX?",
которую написал virens,
ведущий блога "Записки дебианщика".

В этом посте показывается, как сделать текст структурированным в LaTeX. Рассматривается создание разделов, глав и списков.

Структура текста
Большое количество вордолюбов просто не подозревает о наличии такой простой вещи, как стили. Отчасти потому, что Word так потворствует бардаку в документе и отсутствии у него логической структуры. Документ превращается в единый поток текста, разбавленный вечно прыгающими картинками, уродливыми формулами и библиографическими ссылками и намертво вбитыми номерами.

LaTeX, наоборот, вынуждает автора текста в какой бы то ни было форме структурировать документ, иначе на выходе будет сгенерирован именно тот бесформенный поток текста, который набьёт нерадивый автор. Команды \section{}, \subsection{} и \chapter{} есть то, чему учат книжки по ЛаТеХу буквально с первых же страниц, и незадачливый латехник просто вынужден их использовать.
Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.


Главы и разделы
Начинаем с логической структуры - так проще писать текст, ибо структура его ясна. Перед написанием диплома (и не только) нужно обязательно проработать логическую структуру - ни в коем случае не пишите текст ``от фонаря''.
Самая крупная структура в дипломе это Глава, и сделать её можно с помощью команды \chapter{Это глава}. Начинается глава с новой страницы. Глава присутствует в классе документов report, который и используется в нашем примере для написания диплома. Есть и другие классы документов, но для диплома вам они не нужны.

Глава - это очень крупная часть текста, их у вас будет от 3 до 5. Дальше текст логически делится на разделы, которые в ЛаТеХе обозначаются естественным английским словом:
\section{Я - большой раздел}.

Разделы могут содержать подразделы:
\subsection{Я - подраздел поменьше},

и ещё меньшие единицы - подподразделы:
\subsubsection{А я - самый маленький раздельчик}

а так же абзацы:
\paragraph{Ну совсем крошечный кусочек}.

Это должно быть достаточно понятно, единственное пожелание - не увлекаться разделами и понимать, что разделов много не бывает. Если не можете внятно назвать раздел, то, скорее всего, он не нужен и является более мелкой частью документа.

Ссылки на разделы и главы
Естественно, что на разделы вы будете время от времени ссылаться. Поэтому хорошей морской практикой считается постановка ссылок на все разделы. Для этого на раздел нужно поставить метку командой (кто бы мог подумать, правда?) \label{Textssylki}.
Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.


Советую сразу же ставить понятные и информативные ссылки, чтобы вы сами смогли потом понять, где то место, куда вы ссылаетесь. Не бойтесь ставить длииииииииииинные имена ссылок - лишь бы вам было удобно. Вот например, в этом тексте я поставил ссылку \label{sec:textformatting} на подраздел ``Начертание шрифта'' (см. подраздел 1.1.1), и я всегда могу на неё сослаться: ссылки на метки ставятся командой \ref{Textssylki}. Чтобы ссылка не уехала на другую строку в одиночестве, ставим к ней неразрывный пробел, как я уже говорил в разделе 1.1, вот так: раздел~\ref{Textssylki}.

Многим говорят так: ``мне лень думать и я лучше поставлю ссылку \label{UR1}, а потом найду поиском''. Заканчивается это бардаком в документе. Ссылки на литературу, равно как и на уравнения, должны быть осмысленными. Не надо уподобляться вордописцам с их склонностью "быстрей да попроще" и переделыванием по сто раз. В общем, плохая ссылка на уравнение выглядит так: \ref{ur2}, а хорошая ссылка \ref{eq:equation_of_convolution}.

То же самое, как я уже говорил, с ссылками на главы и разделы. Правила хорошего тона такие: метка на раздел \label{sec:opisanierazdela}, метка на уравнение \label{eq:opisanie}, метка на таблицу \label{tab:tabliza}.
А теперь, товарищи, самый смак: все ссылки в наших ЛаТеХовских документах относительные, так что текст можно перетаскивать кусками по всему диплому, и при перекомпиляции документа всё автоматически за нас сделает LaTeX.
Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.



Перечни
В конце диплома у вас обязательно будут выводы - вот тут-то и пригодятся перечни. Делать их просто:
\begin{enumerate}
\item это первое,
\item а это второе,
\item и последнее.
\end{enumerate}

В результате увидите следующее:
1. это первое,
2. а это второе,
3. и последнее.


Списки и перечни можно друг в друга вкладывать, то есть можно делать так:
\begin{enumerate}
\begin{enumerate}
\item это первое,
\item а это второе,
\item и последнее.
\end{enumerate}
\item это первое,
\item а это второе,
\item и последнее.
\end{enumerate}

В результате получим:
1. это первое,
1. это первое,
2. а это второе,
3. и последнее.
2. а это второе,
3. и последнее.

Признаком хорошего тона являются отступы при наборе таких окружений: будет легче разобраться, что в каком порядке перечисляется.

Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.


Ненумерованные списки в научно-технической литературе не в почёте, но всё-таки приведу их:

\begin{itemize}
\item это первое,
\item а это второе,
\item и последнее.
\end{itemize}

И получим вот что:
  • это первое,
  • а это второе,
  • и последнее.
Ненумерованные списки можно использовать в презентациях, а в тексте обычно нежелательно.


Выводы
Прочитав это ураганное введение, вы сможете без проблем написать весьма навороченный в оформительском плане диплом. Правда, без таблиц, формул и рисунков - ими мы займёмся далее. Но в плане набора текстов те команды, которые указаны выше, достаточны в 95% случаев.
Читать далее

Ограничение числа постов в RSS-ленте



11 коммент.
Некоторое время несколько читателей написали мне, что мой RSS-фид почему-то не обновляется. А смахнув пыль с моего аккаунта в ЖЖ я увидел, что синдицированный RSS-фид попросту не отправляется из-за слишком большого размера. Поэтому появилась проблема: как ограничить число постов в лентах FeedBurner?

Решение я нашёл пока такое ограничить оригинальную ленту блога при помощи следующего трюка:
http://mydebianblog.blogspot.com/feeds/posts/default?orderby=published&max-results=5

То есть будут отданы в прожиг FeedBurner только 5 последних постов. Как показывает статистика, более ранние посты особо никто и не читает.

Надеюсь, это устранит проблемы, связанные с невозможностью загрузить такой длинный фид. Если что, я могу прожечь ещё одну ленту, в которой будет столько же постов, сколько и раньше - 20.

Посему есть вопрос к уважаемым читателям - я таким ограничением (фид в 5 последних постов) никого не стесню? Если что - пишите в комментарии.
Читать далее

Как оформить текст в LaTeX: вёрстка текста



51 коммент.
Этот пост является частью большой статьи
"Как оформить диплом в LaTeX?",
которую написал virens,
ведущий блога "Записки дебианщика".

Для того, чтобы писать текст в ЛаТеХе, особых знаний не требуется - просто пишете текст как в обычном редакторе или в Microsoft Word / OpenOffice.org. Но есть ряд моментов, которые следует учесть.

Вёрстка текста
В разных книжках по ТеХу приведена просто прорва всякого хлама: вёрстка стихов, каких-то невообразимых цитат и прочей экзотики. Попробуйте отыскать на этом кладбище такую простую вещь, как межстрочный интервал или текст в верхнем регистре!

Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.
Поэтому в этом разделе я конспективно рассмотрю использование самых нужных и житейских вещей, типа использование начертаний, списков, ссылок. Это потребует от вас запоминания нескольких команд, что не должно стать проблемой, коль скоро вы заканчиваете высшее учебное заведение. За остальным - в книги, которые сеют разумное, доброе и вечное.

Прежде всего помните: LaTeX понимает ваши команды совершенно буквально, он в этом плане прост как рельса - вы можете и правду в квадрат возвести, и ударение поставить над ложью. То есть команды можно комбинировать и использовать там, где они вроде как и не предназначены. Главное, чтобы конструкция была синтаксически верна.

Теперь обещанные житейские приёмы работы в LaTeX. Поставить неразрывный пробел в ЛаТеХе можно тильдой ~. Например, полезно ставить неразрывный пробел при цитировании или ссылках, чтобы ссылки не уезжали на другие строки. Например: это ссылка~\cite{pupkin}.

Пробелы внутри формул. Если выбранные TEX'ом интервалы внутри формул вас не удовлетворяют, можно их изменить с помощью специальных команд. Важнейшими являются \, для очень маленьких пробелов, \; для средних, \quad и \qquad для больших пробелов, а также \! для уменьшения интервала.


Начертания шрифта
Просто писать текст - скучно, и хотя в технической литературе это не приветствуется, можно использовать разные начертания шрифта. Сделать текст полужирным можно командой \textbf{полужирным}, курсивным с помощью команды \textit{курсивным} или подчёркнутым - командой \underline{подчёркнутым}.
В оглавлении мы уже использовали капитель (заглавные буквы), делается это командой ТЕКСТ КАПИТЕЛЬЮ \textsc{текст капителью}. Но увлекаться начертаниями не нужно, так как обычно это излишне в технической литературе.


Специальные символы и особенности LaTeX
Сразу несколько предостережений. В LaTeX кое-что делается иначе, чем в простом редакторе. Так, нельзя ставить кавычки через Shift+2, а ставить их следует либо ``текст в кавычках'', либо так <<текст в кавычках>>. Согласно отечественным полиграфическим традициям в качестве основных кавычек используются кавычки-ёлочки (<< >>), а кавычки-лапки второстепенны (`` '')
. (Ссылки по теме: § 104. Кавычки, § 143. Знаки препинания в нестандартных ситуациях, спасибо комментатору Cristobal J. Junta).
Нельзя пользоваться обратным слешем \ потому как с него начинаются команды для самого ЛаТеХа. Вместо этого следует использовать прямой слеш /.

Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.

То же самое относится к набору специальных символов типа процента или номера. Перед ними следует ставить обратный слеш \ , иначе ЛаТеХ посчитает, что вы закомментировали кусок текста за процентом. То есть, процент ставится так: 20\%, получается 20%. Соответственно, номер ставится так: \No1, получается №1.

Редко, однако приходится в некоторых словах ставить ударения, к примеру, во фразе ``...характеризуется большими шумами...''. Ударение в LaTeX можно поставить так: перед нужной буквой ставим обратный слеш и апостроф \' (это символ, который находится рядом с клавишей Enter). И даже так любимую Евгением Балдиным букву Ё можно сделать из обычной е так: \"e.

В физической литературе есть специальные символы, которые употребляются в тексте. Такими символами являются символ диаметра, градуса. Для этого нужно перевести ЛаТеХ в математический режим - тут я немного забегаю вперёд, но тем не менее. Можно вставлять такие символы по-разному, я приведу свои примеры, и пусть они не так изящны, но они работают, а вам не придётся рыскать по куче книг в поиске ответа на свой вопрос.

Обычные символы, вроде букв греческого алфавита, должны быть в вашем визуальном редакторе. Например, вставить символ градуса в LaTeX можно так: $90^{\circ}$, результат: угол поворота составляет 90o. Значок диаметра в ЛаТеХе можно вставить так: \O{4-5} большой диаметр, \o{4-5} - маленький. Чтобы метр квадратный стал действительно квадратным, используем команду верхнего индекса \textsuperscript{2}. В результате метр стал в самом деле квадратным: м2.

Есть ещё несколько символов, которые вроде как математические, а вставляются в тексте. Пример: изображениями размером до 512х512 отсчётов. Букву х писать - дурной тон, поэтому вставляем часть в математическом режиме $512\times 512$, и в результате: 512Х512.


Работа со строками в LaTeX
Чтобы отбить абзац, то есть чтобы следующая строка начиналась с красной строки, достаточно просто оставить пустую строку. Можно сделать обрыв строки принудительно, вставив директиву \\ или \linebreak.

Как в ЛаТеХе сделать полуторный интервал между строк (интерлиньяж)? Просто в преамбуле указать \renewcommand{\baselinestretch}{1.65}. Для двойного интервала 1,65 для полуторного интервала в латехе указать 1.25. Так же можно использовать команду , где задать нужный множитель: для полуторастрочных интервалов \linespread{1.3}.

Более того, иногда требуется сократить межстрочный интервал в LaTeX в библиографии. Делается это так [источник]: включаем пакет setspace и наслаждаемся результатом сокращения лошадиных расстояний в оглавлении:
\begin{spacing}{0.9}
\tableofcontents

\end
{spacing}

и в списке литературы:
\begin{spacing}{0.9}
\bibliographystyle{plain}
\bibliography{refs}
\end{spacing}

Но и это не всё: для сокращения расстояния между элементами библиографии, используем трюк отцов из Кэмбриджа:
\let\oldthebibliography=\thebibliography
\let\endoldthebibliography=\endthebibliography
\renewenvironment{thebibliography}[1]{%
\begin
{oldthebibliography}{#1}% \setlength{\parskip}{0ex}%
\setlength
{\itemsep}{0ex}%
}%
{%
\end
{oldthebibliography}%
}

Также можно задавать расстояния между строчками во всём тексте:
\singlespacing
\onehalfspacing
\doublespacing
\setstretch{1.1}
Или вот так:
\begin{doublespace}
This paragraph has \\ double \\ line spacing.
\end{doublespace}

\begin{spacing}{2.5}
This paragraph has \\ huge gaps \\ between lines.
\end{spacing}
Этого должно хватить для начала набора текста диплома в LaTeX.
Читать далее