<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    all gone

    all gone

    2006年8月28日 #

    Ubuntu UTF8環(huán)境下搭建中文LaTeX環(huán)境

    1. 基本包的安裝
    sudo apt-get install tetex-base tetex-bin tetex-extra
    1. CJK包安裝
    sudo apt-get install latex-cjk-chinese
    1. CJK UTF8字體生成
    將下面的code復(fù)制到文件cvtfont.sh中:

    #!/bin/sh
    #
    # Origin By Edward G.J. Lee
    2001.11.25
    # http:
    //www.study-area.org/tips/latex/pdftex.html
    # This code is Public Domain.
    #
    # Enhanced by intron@intron.ac,
    2006.1.9
    # Modified
    for NetBSD by jungle@soforge.com, 2006.1.14
    # Italic support added by robert.zhangle@gmail.com,
    2006.5.19
    #

    if [ $# -ne 3 ]
    then

    cat
    << EOF
    Usage: `basename $
    0` font.ttf <TeX_Internal_Font_Name> <Tex_Font_Name>
    <TeX_Internal_Font_Name>: Used to name *.enc, *.afm, *.pfb, *.tfm & *.map
    <Tex_Font_Name>: Used in TeX source: \\CJKencfamily{UTF8}{Tex_Font_Name}

    An example: `basename $
    0` gbsn00lp.ttf gbsn00lp songpt1

    EOF

    exit
    1
    fi

    if ! which ttf2pt1; then
    echo
    "Please install pkgsrc fonts/ttf2pt1 before you can run me."
    exit
    1
    fi

    if ! which t1asm; then
    echo
    "Please install pkgsrc fonts/t1utils before you can run me."
    exit
    1
    fi

    if ! which extconv; then
    echo
    "Please install pkgsrc chinese/CJK before you can run me."
    exit
    1
    fi


    cat
    <<EOF
    ***************************************************************************
    * Please confirm that current working directory is EMPTY except scripts *
    * and HAS ENOUGH SPACE to contain so many intermediate files. *
    * If it is not empty, this script may DAMAGE INNOCENT FILES!!! *
    ***************************************************************************
    EOF

    read
    -p "Go ahead?[n]" a

    if [ "$a" != "y" ] && [ "$a" != "Y" ]; then
    exit
    0
    fi

    FONTFILENAME
    ="$1"
    FONTNAME
    ="$2"
    FONTTEXNAME
    ="$3"

    #TEXMFHOME
    =`kpsexpand '$TEXMFHOME'`
    TEXMFMAIN
    =`kpsexpand '$TEXMFMAIN'`
    TEXMFHOME
    ='/usr/share/texmf-tetex/'
    TTFONTFILEDIR
    =${TEXMFHOME}/fonts/truetype/chinese/
    ENCDIR
    =${TEXMFHOME}/fonts/enc/dvips/chinese/${FONTNAME}
    AFMDIR
    =${TEXMFHOME}/fonts/afm/chinese/${FONTNAME}
    TFMDIR
    =${TEXMFHOME}/fonts/tfm/chinese/${FONTNAME}
    PFBDIR
    =${TEXMFHOME}/fonts/type1/chinese/${FONTNAME}
    MAPDIR
    =${TEXMFHOME}/fonts/map/dvips/chinese

    UPDMAPCFG
    =${TEXMFHOME}/web2c/updmap.cfg

    if [ ! -f $UPDMAPCFG ]
    then
    SYSUPDMAPCFG
    =`kpsewhich -format 'web2c files' updmap.cfg`
    cp $SYSUPDMAPCFG $UPDMAPCFG
    fi

    CIDXMAP
    =${TEXMFHOME}/dvipdfm/config/cid-x.map

    if [ ! -f $CIDXMAP ]
    then
    touch $CIDXMAP
    fi

    CJKDIR
    =${TEXMFMAIN}/tex/latex/CJK/UTF8

    INSTALLDIRMODE
    ="-m 0755"
    INSTALLMODE
    ="-m 0644"

    FONTFILEBASENAME
    =`basename "$FONTFILENAME"`
    FDNAME
    =c70${FONTTEXNAME}.fd

    #MAPFILE
    =/usr/local/share/ttf2pt1/maps/cugb.map
    PLANENUM
    =255

    # Initialize ${FONTNAME}.map
    echo
    -n "" > ${FONTNAME}.map


    n
    =0

    echo
    "Generating subfonts from plane $n to plane $PLANENUM ..."

    while [ $n -le $PLANENUM ]
    do
    m
    =`printf %02x $n`

    echo
    -n "[$n]"

    SUBFONTNAME
    =${FONTNAME}${m}

    # Generate
    *.t1a *.afm *.enc
    ttf2pt1
    -GAE -pft -OHUBs -W0 -l plane+pid=3,eid=1,0x$m \\
    "$FONTFILENAME" ${SUBFONTNAME}

    # avoid dvips(k)(before v5.
    86) t1part module bug.
    perl
    -pi -e 's/_/Z/g' ${SUBFONTNAME}.t1a ${SUBFONTNAME}.afm

    # Generate
    *.pfb
    t1asm
    -b ${SUBFONTNAME}.t1a > ${SUBFONTNAME}.pfb 2>/dev/null

    # Generate
    *.tfm
    afm2tfm ${FONTNAME}$m.afm ${FONTNAME}$m.tfm
    >/dev/null
    afm2tfm ${FONTNAME}$m.afm
    -s .167 ${FONTNAME}sl$m.tfm >/dev/null

    # Generate ${FONTNAME}.map
    AFMNAME
    =`grep -m 1 -i fontname ${SUBFONTNAME}.afm | cut -d ' ' -f 2`
    echo
    "${FONTNAME}$m ${AFMNAME} <${FONTNAME}$m.pfb" >> ${FONTNAME}.map
    echo
    "${FONTNAME}sl$m ${AFMNAME} \\" .167 SlantFont \\" <${FONTNAME}$m.pfb" \\
    >> ${FONTNAME}.map

    n
    =`expr $n + 1`
    done

    echo

    cat
    > ${FDNAME} << EOF
    % This file is automatically generated by `basename $0`
    \\\\def\\\\fileversion{
    0.0.1}
    \\\\def\\\\filedate{`date
    +%Y/%m/%d`}
    \\\\ProvidesFile{${FDNAME}}[\\\\filedate\\\\space\\\\fileversion]

    \\\\DeclareFontFamily{C70}{${FONTTEXNAME}}{\\\\hyphenchar \\\\font\\\\m@ne}

    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{m}{n}{
    <-> CJK * ${FONTNAME}}{}
    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{bx}{n}{
    <-> CJKb * ${FONTNAME}}{\\\\CJKbold}
    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{m}{it}{
    <-> CJK * ${FONTNAME}sl}{}
    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{bx}{it}{
    <-> CJKb * ${FONTNAME}sl}{\\\\CJKbold}
    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{m}{sl}{
    <-> CJK * ${FONTNAME}sl}{}
    \\\\DeclareFontShape{C70}{${FONTTEXNAME}}{bx}{sl}{
    <-> CJKb * ${FONTNAME}sl}{\\\\CJKbold}

    \\\\endinput
    EOF


    #exit
    0;

    echo
    echo
    "Installing ..."

    install
    -d $INSTALLDIRMODE $TTFONTFILEDIR $ENCDIR $AFMDIR $TFMDIR $PFBDIR $MAPDIR $CJKDIR

    install $INSTALLMODE $FONTFILENAME $TTFONTFILEDIR

    n
    =0
    while [ $n -le $PLANENUM ]
    do
    m
    =`printf %02x $n`
    echo
    -n "[$n]"

    install $INSTALLMODE ${FONTNAME}${m}.enc $ENCDIR
    install $INSTALLMODE ${FONTNAME}${m}.afm $AFMDIR
    install $INSTALLMODE ${FONTNAME}${m}.tfm $TFMDIR
    install $INSTALLMODE ${FONTNAME}sl${m}.tfm $TFMDIR
    install $INSTALLMODE ${FONTNAME}${m}.pfb $PFBDIR

    n
    =`expr $n + 1`
    done

    echo

    install $INSTALLMODE ${FONTNAME}.map $MAPDIR
    install $INSTALLMODE $FDNAME $CJKDIR

    echo
    >> $UPDMAPCFG
    echo
    "Map ${FONTNAME}.map" >> $UPDMAPCFG

    # update cid
    -x.map

    echo
    "${FONTNAME}@Unicode@ unicode :0:${FONTFILENAME}" >> $CIDXMAP
    echo
    "${FONTNAME}sl@Unicode@ unicode :0:${FONTFILENAME}" >> $CIDXMAP

    mktexlsr

    #updmap
    -sys
    updmap

    read
    -p "Do you want remove all intermediate files?[n]" a
    if [ "$a" = "y" ] || [ "$a" = "Y" ]; then

    n
    =0
    while [ $n -le $PLANENUM ]
    do
    m
    =`printf %02x $n`
    echo
    -n "[$n]"

    rm
    -f ${FONTNAME}${m}.enc ${FONTNAME}${m}.afm ${FONTNAME}${m}.t1a \\
    ${FONTNAME}${m}.pfb ${FONTNAME}sl${m}.tfm ${FONTNAME}${m}.tfm

    n
    =`expr $n + 1`
    done

    echo

    rm
    -fv $FDNAME ${FONTNAME}.map
    fi

    echo
    echo
    "OK, all done. :-)"
    echo


    根據(jù)自己的需要可以將TEXMFHOME目錄設(shè)置成不同的地方,只要Latex能找到即可
    我將該目錄改為了/usr/share/texmf-tetex,如果相應(yīng)的目錄不存在,則需要自己新建。


    將windows系統(tǒng)中的字體文件拷到腳本所在目錄執(zhí)行腳本即可生成Latex所需字體文件,以simhei.ttf為例:

    sudo ./cvtfont.sh simhei.ttf simhei simhei







    posted @ 2007-05-16 13:34 all gone 閱讀(1123) | 評(píng)論 (0)編輯 收藏

    Struts2 入門(mén)

         摘要: 很久沒(méi)有看Java相關(guān)的東西了,這幾天才發(fā)現(xiàn)Struts2 已經(jīng)發(fā)布了,以前就聽(tīng)說(shuō)Struts2就是以前的Webwork2,只是作了少許的改動(dòng)而已,我以前也沒(méi)看過(guò)Webwork,所以趕緊下來(lái)試了一把。Struts2的地址:http://struts.apache.org/2.x在Eclipse中新建了一個(gè)Tomcat工程(如果用WTP插件的話Dynamic Web工程)struts2Test,以下...  閱讀全文

    posted @ 2007-01-08 21:59 all gone 閱讀(8483) | 評(píng)論 (8)編輯 收藏

    Ubuntu下NVIDIA驅(qū)動(dòng)的問(wèn)題

    前幾天按照Ubuntu How-To上的NVIDIA驅(qū)動(dòng)安裝說(shuō)明安裝了8672版的驅(qū)動(dòng),結(jié)果發(fā)現(xiàn)只要退出X-Window,系統(tǒng)就會(huì)沒(méi)有反應(yīng),網(wǎng)上搜了搜,發(fā)現(xiàn)有人也有一樣的情況,按照說(shuō)明重新安裝、重新配置Xorg,問(wèn)題依然沒(méi)有解決,X-Window也起不來(lái)了。

    到NVIDIA網(wǎng)站上下了最新的8774版驅(qū)動(dòng)后,趕緊找找看怎么自己裝,有人已經(jīng)寫(xiě)好了
    在恢復(fù)模式下:
    需要gcc支持,如果沒(méi)有安裝則:
    apt-get install build-essential gcc
    刪除已經(jīng)安裝的NVIDIA驅(qū)動(dòng):
    apt-get --purge remove linux-restricted-modules-`uname -r` linux-restricted-modules-common nvidia-glx nvidia-settings nvidia-kernel-common
    安裝內(nèi)核headers
    apt-get install linux-headers-`uname -r`
    將下載下來(lái)的NVIDIA-Linux-x86-1.0-8774-pkg1.run解壓縮:
    sh ./NVIDIA-Linux-x86-1.0-8774-pkg1.run --extract-only
    進(jìn)入解壓后的NVIDIA-Linux-x86-1.0-8774-pkg1文件夾,執(zhí)行安裝:
    ./nvidia-installer -n --x-prefix=/usr/lib/xorg/
    最后由于默認(rèn)安裝到了/usr/lib/xorg/lig/xorg,需要將文件拷到對(duì)應(yīng)的目錄下:
    cp --no-dereference /usr/lib/xorg/lib/xorg/libX* /usr/lib/xorg/modules/

    cp /usr/lib/xorg/lib/xorg/modules/drivers/* /usr/lib/xorg/modules/drivers/

    cp --no-dereference /usr/lib/xorg/lib/xorg/modules/extensions/* /usr/lib/xorg/modules/extensions/

    posted @ 2006-09-22 15:42 all gone 閱讀(1048) | 評(píng)論 (0)編輯 收藏

    Qt 4下連接MySQL數(shù)據(jù)庫(kù)

    前天剛裝了個(gè)Qt4for windows,發(fā)現(xiàn)安裝的時(shí)候MySQL等數(shù)據(jù)庫(kù)插件都沒(méi)有安裝,像Qt X11版一樣,都需要自己安裝這些插件。

    在Qt的安裝目錄C:\Qt4.1.2\下,有個(gè)src目錄,進(jìn)入plugins\sqldrivers\mysql,可以看到兩個(gè)文件,main.cpp和mysql.pro,很顯然要用qmake來(lái)完成編譯、生成目標(biāo)。

    編譯前,首先保證依賴(lài)的MySQL頭文件和庫(kù)文件正確。首先MySQL安裝目錄下的include中的所有文件拷到qmake時(shí)能找到的目錄下,接著從lib/opt目錄下拷出libmysql.a,其實(shí)lib/opt下只有l(wèi)ibmysql.lib和libmysql.dll,從網(wǎng)上搜了一下找到一個(gè)方法從libmysql.dll生成libmysql.a:

    1 、安裝好MySQL (如果不愿意安裝,找個(gè)libmySQL.dll文件也可以)

    2、下載Pexports工具

    3、轉(zhuǎn)換操作: pexports libmysql.dll > libmysql.def

    4、使用MinGW的 dlltool轉(zhuǎn)換成為libmysql.a文件。dlltool --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a -k

    5、嘗試是否成功:
    將生成的libmysql.a 拷到qmake的lib搜索路徑下后在plugins\sqldrivers\mysql目錄下做:
    qmake -project
    qmake
    make

    如果再出現(xiàn)象mysql_connect@xx (xx是數(shù)字)的錯(cuò)誤提示。就執(zhí)行第6步。

    6、修改libmysql.def文件,給mysql_connect加上@xx,即mysql_connect@xx

    7、重做第4步

    8、然后嘗試第5步,如果還是出現(xiàn)錯(cuò)誤提示。就作第6步。一直到?jīng)]有錯(cuò)誤為止。

    最后C:\Qt4.1.2\plugins\sqldrivers下將會(huì)生成需要的libqsqlmysql.a和qsqlmysql.dll。

    找了一個(gè)測(cè)試文件,通過(guò)。
    #include?<QtSql>?
    #include?<QtGui>?


    bool?createConnection(){?
    QSqlDatabase?db?
    =?QSqlDatabase::addDatabase("QMYSQL");?
    db.setHostName("localhost");?
    db.setDatabaseName("test");?
    db.setUserName("test");?
    db.setPassword("");?

    if(!db.open()){?
    QMessageBox::critical(
    0,?QObject::tr("Database?Error"),?
    ??????????????????????????????db.lastError().text())
    ;?

    return?false
    ;?
    }?

    QSqlQuery?query
    ;?
    //query.exec("insert?into?book?values(?3,?'title',?'author')?");?
    query.exec("select?title?,?author?from?book?");?

    while?(query.next())?{?


    ????QString?title?
    =?query.value(0).toString();?
    ????QString?author?=?query.value(1).toString();?

    QMessageBox::critical(
    0,?title,author);?
    ????
    }?


    return?true
    ;?
    }?



    int?main(int?argc
    ,char**?argv){?

    QApplication?app(argc
    ,?argv);?
    ????if?(!createConnection()){?

    return?
    1;?
    }?
    ????????

    ????return?app.exec()
    ;?


    }?

    posted @ 2006-08-28 20:57 all gone 閱讀(2735) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 91免费国产精品| 色多多A级毛片免费看| 日韩电影免费在线观看网站| 又粗又大又硬又爽的免费视频 | 亚洲av无码兔费综合| 国产成人涩涩涩视频在线观看免费 | 亚洲视屏在线观看| 国产人成免费视频网站| 久久国产亚洲精品| 国产精品国产午夜免费福利看| 1区2区3区产品乱码免费| 亚洲av成人中文无码专区| 亚洲图片校园春色| 免费a级毛片无码av| 成人黄动漫画免费网站视频 | 热re99久久6国产精品免费| 亚洲三级在线观看| 久久精品国产亚洲AV无码麻豆| 成人毛片免费观看视频大全| **毛片免费观看久久精品| 久久久久国产免费| 亚洲综合精品伊人久久| 亚洲无码精品浪潮| 日本在线免费观看| 亚洲日本成本人观看| 亚洲国产精品一区二区成人片国内| 69影院毛片免费观看视频在线| 日本高清不卡aⅴ免费网站| 一级毛片免费不卡| 精品亚洲AV无码一区二区三区| 亚洲?V无码成人精品区日韩| 久久精品视频免费播放| 免费无码作爱视频| 中文在线观看免费网站| 亚洲日韩久久综合中文字幕| 中文字幕在线日亚洲9| 日本亚洲色大成网站www久久| 最新国产成人亚洲精品影院| 亚洲AV综合色区无码一区爱AV | 免费国产黄网站在线看| 亚洲明星合成图综合区在线|