31.3.07

Tisk sešitu (brožury)

Chci si vytisknout dokument na A4, tak aby jsem to pak v půlce přeloži a měl jsem hezkou brožuru (sešit). Ušetřím papír a budu to mít v sešítku velikosti A5.

Jak na to? Celkem jednoduše, protože se snažím naučit LaTeX za pomoci programového balíku MikTeX. Ten v instalaci obsahuje pomůcky psutil.

Já mám soubor ve formůtu pdf a tak si ho nejdříve převedu na postscript utilitkou pdf2ps:

pdf2ps soubor.pdf soubor.ps

Potom si přeskládám soupor.ps do knihy příkazem:

psbook soubor.ps kniha.ps

Nakonec si poskládám dvě stránky na jednu stránku A4:

psnup -2 kniha.ps finale_A5.ps

Když si to takhle hezky převedu, tak si to taky hezky vytisknu pomoci programu GSview

Podrobnejší článek o tisku vyšel na www.abclinuxu.cz v článku
Tisk v Linuxu pomocí balíku PSUtils.

20.3.07

Nepotřebuju OS Windows, mám Kubuntu!

Po experimentování s Archlinuxem jsem přešel na Kubuntu. Proč?

Archlinux je vychytaná linuxová distribuce, která po uživateli vyžaduje poměrně už větší znalosti linuxu. Veškerá konfigurace se odehrává v textových souborech bez klikacích nástrojů. Provozování takového systému vyžaduje od správce čas, ale vynaložené úsilí se vrátí v rychlém a stabilním operačním systému. Já zase tolik času nemám a tak po připojení mé domácnosti na net, jsem se rozhlížel po jiné distribuci. Mé oko spočinulo na Ubuntu, ale protože grafické prostření GNOME zrovna nemusím, zvolil jsem odnož Kubuntu s prostředím KDE.

Byl jsem velice mile překvapen instalací a samotným zprovozněním systému. Samotná instalace bezproblémová, za nějakých třicet minut bylo povšem. Poinstalační nastavování se zcvrklo na vypnutí artsd a jeho nahrazením aplay (viz článek na www.linuxexpres.cz) a nahráním nesvobodných kodeků (avi, mp3, ...). Prostě za 45 minut plně fungující systém se vším co potřebuju (textový editor, web prohlížeč, e-mail klient, grafický editor, bluetooth).

Párkrát jsem už instaloval i OS Windows, ale to se nedá vůbec srovnávat. Pro instalaci bylo nutno si vždy vyhradit aspoň jeden den, ale lepší je celej víkend. Postup instalace softu s následnou nutností restartu je notoricky známá a boužel i pravdivá.

(K)Ubuntu je oblíbená linuxová distribuce a její provozování zvládne levou zadní i BFU (Běžný Franta Uživatel) a tak nevidím důvod vydávat ze své peněženky několik tisíc korun za samotný OS Windows XY, když si můžu nechat zdarma poslat CD s Kubuntu se vším co pro běžnou práci na PC potřebuju.

Na závěr pro uživatele winwoken doporučuju format C:\ a install (k)ubuntu.
(PS: vím takhle by to nešlo, ale líbí se mi tam to format C:\ :-])

5.3.07

Editor (g)Vim a DocBook

Co je to DocBook? To je přece jednoduchý :-), stačí se podívat na www.docbook.cz a hned je všechno jasný. Ve zkratce se jedná o XSL styly pro XML soubory. No prostě napíšu si jeden text v XML formátu a ten si pak můžu pomocí XSl stylů převést do různých formátů, nejčastěji do HTML, PDF, FO, HTML help. Výhoda je v tom, že mám pouze jeden zdrojový soubor a toho si vygeneruju, tisknout, na net, na CD.

Aby mi to fungovalo musím vytvářet XML soubory podle předem daných pravidel, nějakého stylu. Docbook 4.* používá DTD a editor Vim umí napovídat co můžu v dané části dokumentu
použít za elementy.

A jak to zprovozním? Celkem jednoduše, nejdřív budu potřebovat script docbook44 z adresy
http://www.vim.org/scripts/script.php?script_id=1463 a dam ho do ~/.vim/autoload/xml/docbook44.vim no a pak je několik možností. Bud si všechno potřebné budu pokaždé zapínat ručně, nebo si udělám malou pomůcku. Člověk je línej tvor a tak jsem si udělal takový miniscriptík i pro následující převod do různých formátů. Nazval jsem ho db2.vim a vypadá takto:

"    File: db2.vim
" Purpose: Konvertovani *.xml DocBook
" Author: Petr Sychra petr.sychra@gmail.com http://www.btuw.com
" Version: 0.1a

source $VIMRUNTIME\ftplugin\xml.vim
XMLns docbook44

function DB2HTML()
echo "Konvertuju DocBook do HTML"
let prikaz="!xsltproc -o ". expand("%:r").".html"." d:\\db\\html.xsl ".expand("%:p")
execute(prikaz)
endfunction

function DB2FO()
echo "Konvertuju DocBook do FO"
let prikaz="!xsltproc -o ". expand("%:r").".fo"." d:\\db\\fo.xsl ".expand("%:p")
execute(prikaz)
endfunction

function FO2PDF_fop()
echo "Konvertuju FO do PDF pomoci FOP"
let prikaz="!d:\\db\\fop\\fop ". expand("%:r").".fo ".expand("%:r").".pdf"
execute(prikaz)
endfunction

" Menu
nmenu DocBook.DB2HTML :call DB2HTML()
nmenu DocBook.DB2FO :call DB2FO()
nmenu DocBook.FO2PDF :call FO2PDF_fop()
Aby se mi scriptík nahrával po otevření xml souboru dám si do svého .vimrc (na woknech _vimrc) příkaz pro automatické nahrávání
autocmd BufRead    *.xml source $VIM/.vim/db2.vim
Není to nic moc, ale funguje :-). Musím mít nainstalovaný program xsltproc a mít ho v "cestě". Pro použití na jiném PC stačí upravit cestu ke stylům *.xsl a k programu FOP.

Když jsem udělal všechno OK, tak v kládacím režimu po stisknutý Ctrl-X Ctrl-O vyskočí nabídka možných elementů.

Odkazy:
Vim http://www.vim.org
DocBook http://www.docbook.cz
xsltproc http://xmlsoft.org/XSLT/
FOP http://xmlgraphics.apache.org/fop/

1.3.07

Textový editor gVim

Když si pohrávám s PC potřebuju pracovat s textovými soubory všeho druhu (*.ini, *.html, *.xml, *.txt, *.tex, *.conf, ...) a na to podřebuju pořádný editor.

Ve woknech je velice oblíbený PSPad, v linuxu zase dvojice Emacs a Vim. Používám oba OS a tak jsem hledal multiplatformní program. Narazil jsem na jEdit, který je napsán v javě a je tudíž spustitelný všude, kde je JVM.

Pro jEdit existuje spousta doplňků a to z něj dělá opravdu univezální editor všeho možného, ale nevyhovuje mi náročnost javy, i když už to není takový broblém jako kdysi.

Zkusil jsem Emacs, o něm se říká, že je to výborný operační systém jenom mu schází pořádný textový editor ;-). Tak jsem to zase rychle odinstaloval.

No a ted edituju ve Vim, ten se dá provozovat na mnoha platformách a patří k základu na většině linuxových distribucích, což se hodí když po pokusech skončím v příkazové řadce (konzoli) linuxu a mám to dávat dokupy.

K ovládání se určitě vyplatí přečíst si tutor, který je po instalaci v adresáři Vimu (teda na woknech). Český tam není, ale slovensky jsem zatím nezapoměl. Pak doporučuju poktračovat příručkou od pana Satrapy na adrese http://www.kai.vslib.cz/~satrapa/docs/vim/, příručka je aktualizovana pro sedmou verzi Vimu, ve které je podpora kontroly češtiny a mnoho dalších věcí. Na netu jsou k nalezení spousty tipů k nastavení a tak stačí jenom hledat.

Tady je můj _vimrc ( v linuxu je to .vimrc) soubor:

set nocompatible

set spell spelllang=cs
"kontrola pravopisu

imap ~
"mapuje Alt+SPACE na vlnovku ~, hodí se pro LaTeX

colorscheme dawn
"zapne barevne schema dawn
"pouzivam script Colors Sampler Pack
"http://www.vim.org/scripts/script.php?script_id=625

set nu!
"zapne cislovani radku

set showmatch
"zvyrazneni souvisejicich zavorek

set tabstop=2
"sirka tabularotu na 2

set ignorecase
"vypne rozlisovani velikosti pismen pri vyhledavani

syntax on
"barevna syntaxe

filetype indent on
"zapnuti ftpluging, rozpoznavani typu souboru

set textwidth=90
"max. delka radku 75 znaku (pro automat. zalamovani textu)

set showbreak==>
"ukazatel pokracovani radku (znacka ktera se vklada na
"zacatek zdanliveho zalomeni, aby bylo zretelne, ze
"se jedna jen o zdanlive zalomeni, zde je to => a je
"zobrazena zvlastni barvou, aby se nepletla se skutecnym textem).

set laststatus=2
"vzdy zapnout stavovy radek

set statusline=\ %=%n:\ %t\ %R\ %y\ %l,%c\ %P
"ve stavovem radku zobrazovat
"%= zarovnat vpravo, %n cislo bufferu, %t jmeno souboru, %R read only,
"%y filetype, %l cislo radku, % cislo sloupce,%P procenta

set nobackup
"nevytvaret zalohy

set clipboard=unnamed
"pri y zkopirovat do sys.clipboaru, stejne tak pri p

set fileencodings=ucs-bom,utf-8,latin2
"nastaveni kodovani, zkusit uhodnout kódovaní

win 140 45
"nastavi pocet sloupcu a radku u gVIm

set cmdheight=2
"prikazovy radek o velikosti dva radky

set ruler
"ukazuje se umisteni kurzoru v prik. radku

set showcmd
"ukazuje se zadavani prikazu v prik. radku

set showmode
"ukazuje se aktualni rezim editoru v prik. radku

set guioptions-=T
"nezobrazuje Toolbar

set wildchar=
"nastavuje tabulatorjako klavesu pro automaticke doplnovani tabulator,

set wildmenu
"pri vice moznosti doplneni vyskoci jednoduche menu

set wildmode=longest:full,full
" vyplnit co nejvetsi cast

set backspace=indent,eol,start
"Nastaveni chovani klaves Backspace, Delete a atd, ze maji umet mazat vse:

set nojoinspaces
"nevkladat automaticky mezery po - ? ! pri spojeni radku

autocmd BufNewFile *.tex r $VIM/.vim/empty.tex
autocmd BufNewFile *.xml r $VIM/.vim/empty.xml
autocmd BufRead *.xml source $VIM/.vim/db2.vim

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
silent execute '!D:\util\Vim\vim64\diff ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
endfunction