西电本科生毕业论文TeX模板 utf-8 版编译出错

149 views
Skip to first unread message

Hugo Feng

unread,
May 15, 2013, 12:57:49 AM5/15/13
to xidian...@googlegroups.com
文件是直接从github上拖下来的 https://github.com/xdlinux/xdba-thesis
本机win7 64位,使用WinEdt编辑,包直接从http://www.ctex.org/CTeXDownload 下的CTeX v2.9.2.164 Full (1.31G) 
模板分两个版本,一个默认版,一个utf-8版,普通版编译正常,但是使用多种pdf查看器打开后目录都是乱码,utf-8有份现成的pdf,打开一切正常,但是自己重新编译就出错,刚接触tex,麻烦大家帮我看看是不是少装了什么
下面是console的输出:


Command Line:   bibtex.exe "template-utf8"
Startup Folder: F:\毕业设计\文档\毕业论文\xdba-thesis

This is BibTeX, Version 0.99d (MiKTeX 2.9)
The top-level auxiliary file: template-utf8.aux
The style file: plain.bst
A level-1 auxiliary file: chapter-utf8/abstract.aux
I found no \citation commands---while reading file template-utf8.aux
I found no \bibdata command---while reading file template-utf8.aux
(There were 2 error messages)


Command Line:   texify.exe --pdf --tex-option=--interaction=errorstopmode --tex-option=--synctex=1 "F:\毕业设计\文档\毕业论文\xdba-thesis\template-utf8.tex"
Startup Folder: F:\毕业设计\文档\毕业论文\xdba-thesis

This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9)
entering extended mode
(F:/毕业设计/文档/毕业论文/xdba-thesis/template-utf8.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for loaded.
(F:\毕业设计\文档\毕业论文\xdba-thesis\XDBAthesis.cls
Document Class: XDBAthesis 2011/03/20 v0.1 XDBAthesis document class
(e:\CTEX\MiKTeX\tex\latex\ctex\ctexbook.cls
Document Class: ctexbook 2011/03/11 v1.02c ctexbook document class
(e:\CTEX\MiKTeX\tex\latex\ctex\opt\ctex-common-opts.def)
(e:\CTEX\MiKTeX\tex\latex\ctex\opt\ctex-caption-opts.def)
(e:\CTEX\MiKTeX\tex\latex\ctex\opt\ctex-class-opts.def)
(e:\CTEX\CTeX\tex\latex\ctex\cfg\ctexopts.cfg)
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-loadclass.def
(e:\CTEX\MiKTeX\tex\latex\base\book.cls
Document Class: book 2007/10/19 v1.4h Standard LaTeX document class
(e:\CTEX\MiKTeX\tex\latex\base\bk12.clo)))
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-common.def
(e:\CTEX\MiKTeX\tex\latex\l3kernel\expl3.sty
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3names.sty
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3bootstrap.sty))
(e:\CTEX\MiKTeX\tex\latex\misc\etex.sty)
(e:\CTEX\MiKTeX\tex\latex\graphics\color.sty
(e:\CTEX\MiKTeX\tex\latex\00miktex\color.cfg)
(e:\CTEX\MiKTeX\tex\xelatex\xetex-def\xetex.def))
(e:\CTEX\MiKTeX\tex\latex\graphics\graphics.sty
(e:\CTEX\MiKTeX\tex\latex\graphics\trig.sty)
(e:\CTEX\MiKTeX\tex\latex\00miktex\graphics.cfg))
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3basics.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3expan.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3tl.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3seq.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3int.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3quark.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3prg.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3clist.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3token.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3prop.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3msg.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3file.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3skip.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3keys.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3fp.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3box.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3coffins.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3color.sty)
(e:\CTEX\MiKTeX\tex\latex\l3kernel\l3luatex.sty))
(e:\CTEX\MiKTeX\tex\latex\etoolbox\etoolbox.sty)
(e:\CTEX\MiKTeX\tex\generic\oberdiek\ifpdf.sty)
(e:\CTEX\MiKTeX\tex\generic\ifxetex\ifxetex.sty)
(e:\CTEX\MiKTeX\tex\latex\graphics\keyval.sty)
(e:\CTEX\MiKTeX\tex\latex\tools\indentfirst.sty)
(e:\CTEX\MiKTeX\tex\latex\base\fix-cm.sty
(e:\CTEX\MiKTeX\tex\latex\base\ts1enc.def))
(e:\CTEX\MiKTeX\tex\latex\fancyhdr\fancyhdr.sty)
(e:\CTEX\MiKTeX\tex\latex\ctex\engine\ctex-cjk-engine.def
(e:\CTEX\MiKTeX\tex\latex\cjk\CJK.sty
(e:\CTEX\MiKTeX\tex\latex\cjk\mule\MULEenc.sty)
(e:\CTEX\MiKTeX\tex\latex\cjk\CJK.enc))
(e:\CTEX\CTeX\tex\latex\CJKpunct\CJKpunct.sty
(e:\CTEX\CTeX\tex\latex\CJKpunct\CJKpunct.spa))
(e:\CTEX\MiKTeX\tex\latex\ctex\engine\ctex-cjk-common.def
(e:\CTEX\CTeX\tex\latex\CJK\CJKfntef.sty
(e:\CTEX\MiKTeX\tex\latex\cjk\CJKulem.sty
(e:\CTEX\MiKTeX\tex\latex\ulem\ulem.sty))))
(e:\CTEX\MiKTeX\tex\latex\ctex\fontset\ctex-cjk-adobefonts.def
(e:\CTEX\MiKTeX\tex\latex\ctex\fontset\ctex-cjk-winfonts.def
(e:\CTEX\MiKTeX\tex\generic\zhmetrics\zhwinfonts.tex
(e:\CTEX\MiKTeX\tex\generic\oberdiek\ifpdf.sty){e:/CTEX/UserData/pdftex/config/
pdftex.map{Unicode.sfd}{UGBK.sfd}})))))
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-caption.def)
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-class.def)
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-book.def))
(e:\CTEX\MiKTeX\tex\latex\ctex\def\ctex-gbk.def)
(e:\CTEX\MiKTeX\tex\latex\ctex\cfg\ctexcap.cfg
(e:\CTEX\MiKTeX\tex\latex\ctex\cfg\ctexcap-gbk.cfg))
(e:\CTEX\MiKTeX\tex\latex\ctex\cfg\ctex.cfg)
(e:\CTEX\MiKTeX\tex\latex\ams\math\amsmath.sty
For additional information on amsmath, use the `?' option.
(e:\CTEX\MiKTeX\tex\latex\ams\math\amstext.sty
(e:\CTEX\MiKTeX\tex\latex\ams\math\amsgen.sty))
(e:\CTEX\MiKTeX\tex\latex\ams\math\amsbsy.sty)
(e:\CTEX\MiKTeX\tex\latex\ams\math\amsopn.sty))
(e:\CTEX\MiKTeX\tex\latex\ams\classes\amsthm.sty)
(e:\CTEX\MiKTeX\tex\latex\amsfonts\amsfonts.sty)
(e:\CTEX\MiKTeX\tex\latex\amsfonts\amssymb.sty)
(e:\CTEX\MiKTeX\tex\latex\tools\bm.sty)
(e:\CTEX\MiKTeX\tex\latex\caption\caption2.sty

Package caption2 Warning: ****************************************************
(caption2)                THIS PACKAGE IS OBSOLETE:
(caption2)                This package attempts to provide an `caption2'
(caption2)                package v2.0/2.1 author environment so that OLD
(caption2)                documents can be successfully processed. It should
(caption2)                NOT be used for NEW documents! New documents should
(caption2)                use the regular `caption' package v3.x instead.
(caption2)                ****************************************************

(e:\CTEX\MiKTeX\tex\latex\caption\caption3.sty))
(e:\CTEX\MiKTeX\tex\latex\booktabs\booktabs.sty)
(e:\CTEX\MiKTeX\tex\latex\tools\tabularx.sty
(e:\CTEX\MiKTeX\tex\latex\tools\array.sty))
(e:\CTEX\MiKTeX\tex\latex\graphics\graphicx.sty)
(e:\CTEX\MiKTeX\tex\latex\natbib\natbib.sty)
(e:\CTEX\MiKTeX\tex\latex\hyperref\hyperref.sty
(e:\CTEX\MiKTeX\tex\generic\oberdiek\hobsub-hyperref.sty
(e:\CTEX\MiKTeX\tex\generic\oberdiek\hobsub-generic.sty))
(e:\CTEX\MiKTeX\tex\latex\oberdiek\kvoptions.sty)
(e:\CTEX\MiKTeX\tex\latex\hyperref\pd1enc.def)
(e:\CTEX\MiKTeX\tex\latex\00miktex\hyperref.cfg)

! Package hyperref Error: Wrong driver option `xetex',
(hyperref)                because XeTeX is not detected.

See the hyperref package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.3925 \ProcessKeyvalOptions{Hyp}
                                 

Victor.f

unread,
May 15, 2013, 2:04:59 AM5/15/13
to xidian...@googlegroups.com
还有一个问题。。在试着编译template.tex (非utf8版) 的时候,虽然最终出来的pdf目录还是乱码,但在编译的过程中发现有很多次是能正常显示中文的,正常和乱码之间会转换好几次,于是我在编译的过程中终止任务,出来的pdf虽然不完整,但目录却能正常显示。。。这是为什么呢?


在 2013年5月15日星期三UTC+8下午12时57分49秒,Victor.f写道:

Bill Ryan

unread,
May 15, 2013, 3:40:07 AM5/15/13
to xidian...@googlegroups.com
你用的是Winedt默认的的pdftexify编译吧?但为什么会出现「! Package hyperref Error: Wrong driver option `xetex'」,你还用了xetex编译?

1. 「utf-8有份现成的pdf,打开一切正常,但是自己重新编译就出错」——没仔细看utf-8部分的模板,初步推测那不是给win用的,字体设置都不一样(似乎是adobe字体),其他的区别就不太清楚了。
2. 「最终出来的pdf目录还是乱码」——确定是目录?而不是书签?如果是书签部分乱码就说得通了,因为在用pdftexify编译时最后调用了gbk2uni(winedt console中能看到的),需要再次用pdflatex(不能用pdftexify)编译,之后就能看到正常显示的中文书签。目录乱码真心没遇到过... 
3. 使用Winedt时不建议使用utf-8的模板,一个原因是win下CTeX的Winedt默认GBK编码,另一个如1所述

我也是最近写论文时才开始了解TeX的,以上有说错的烦请指出


--
您收到此邮件是因为您订阅了“西电开源社区”邮件列表。
要向此邮件列表发帖,请发送电子邮件至 xidian...@googlegroups.com
要取消订阅,请发送电子邮件至 xidian_linux...@googlegroups.com
请通过 https://groups.google.com/group/xidian_linux?hl=zh-CN 访问此网上论坛。
通过 [ipv6 enabled] http://xdlinux.info/http://xdl.in/
[ipv4 only] http://linux.xidian.edu.cn/
[手机]:http://m.xdlinux.info/
访问西电开源社区。
---
您收到此邮件是因为您订阅了 Google 网上论坛的“西电开源社区邮件列表”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 xidian_linux...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 

Hugo Feng

unread,
May 15, 2013, 3:58:32 AM5/15/13
to xidian...@googlegroups.com
说的很对,我用的是winedt
1. 是的,我本以为自己已经选了pdfLaTeX,后来看了console发现确实在running pdfTextfy..
2. 抱歉是我说错了,乱码的是书签不是目录,重新使用pdfLaTeX编译后世界终于清静了 :)

BTW, console输出显示还有一个error。。 不知有没有关系?那个error只能我用放大镜图标定位了,但是也没有error关键字啊。。跟调程序不太一样啊没看懂。。高亮到了这一句:
1.33 ...ine {A.5.5}参考文献}{13}{subsection.A.5.5}

bigeast

unread,
May 15, 2013, 4:08:25 AM5/15/13
to xidian...@googlegroups.com
原来Makefile里的每条命令都写两遍是为了防止书签乱码啊。


2013/5/15 Bill Ryan <yuanb...@gmail.com>

Bill Ryan

unread,
May 15, 2013, 4:23:58 AM5/15/13
to xidian...@googlegroups.com
还有error?那个就不太懂了。我把模板中生成参考文献的include那条语句给注释掉了

参考文献我采取的方案是bibtex+bst(有人根据国标写了个来着),bst这两天我再仔细看看,估计还得根据学校的论文书写标准微调

Hugo Feng

unread,
May 15, 2013, 9:29:38 PM5/15/13
to xidian...@googlegroups.com

大家在tex上都是如何计算字数的。。。?

bigeast

unread,
May 15, 2013, 11:20:30 PM5/15/13
to xidian...@googlegroups.com
找到一个Perl脚本,用正则分别匹配英文字符和汉字:

#!/usr/bin/perl -w
my $s; my $x; my $y; my $ncword = 0; my $cword = 0;
while (<>) {
    $s = $_;
    $x = () = $s =~ m/[\x00-\x7f]+?/g;
    $y = () = $s =~ m/[^\x00-\x7f]+?/g;
    $ncword += $x;
    $cword += $y;
}
$cword /= 3;
print "\t\tWord Count\n";
print "\tNon-Chinese:\t$ncword\n";
print "\tChinese:\t$cword\n";
$s = $ncword + $cword;
print "\tTotal:\t\t$s\n";

这里假设.tex文件是UTF-8编码的,所以一个汉字是3个字节,GBK应该是两个吧。

然后我想用wc应该也可以,虽然没有直接统计汉字的功能,但是-m统计字符数对中英文是不加区别的,再结合-c字节数,然后解一个一元二次方程。。。就像下面这个样子,试了下跟Perl的输出是一样的。

#!/bin/bash
# A+B=m A+3B=c
m=`wc -m $1 | cut -d' ' -f 1`
c=`wc -c $1 | cut -d' ' -f 1`
B=$(( ( $c - $m ) / 2 ))
A=$(( $m - $B ))
echo -e "\t\tWord Count"
echo -e "\tNon-Chinese:\t$A"
echo -e "\tChinese:\t$B"
echo -e "\tTotal:\t\t$(( $A + $B ))"

它们都把换行符算进去了。

2013/5/16 Hugo Feng <emar...@gmail.com>

Hugo Feng

unread,
May 16, 2013, 2:15:23 AM5/16/13
to xidian...@googlegroups.com
多谢,很有意思~
--
Reply all
Reply to author
Forward
0 new messages