2012-07-09 96 views
4

我已经创建了一个.NET C#项目,我使用类似于///<summary>A summary...</summary>的块来评论我想使用Doxygen进行文档化。我建立了Doxygen,它运行了大约100个.tex文件和一个Makefile。如何运行Doxygen Makefile?

据我所知,Makefile是生成PDF格式文档的关键,但是我没有得到它的工作。

当我在Doxygen LaTeX输出目录中时,通过在终端中编写来使用Mac来执行LaTeX和Doxygen位。

all: refman.pdf 

pdf: refman.pdf 

refman.pdf: clean refman.tex 
      pdflatex refman 
     makeindex refman.idx 
     pdflatex refman 
     latex_count=5 ; \ 
     while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ 
      do \ 
       echo "Rerunning latex...." ;\ 
       pdflatex refman ;\ 
       latex_count=`expr $$latex_count - 1` ;\ 
      done 


    clean: 
     rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf 

运行时,我得到以下信息:

MacBook-Pro-13:latex sehlstrom$ make 
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf 
make: *** No rule to make target `refman.tex', needed by `refman.pdf'. Stop. 

我怎样才能获得Makefil事的工作?

+0

您是否首先运行doxygen?在Doxyfile中启用了LaTeX输出吗?是否创建了'refman.tex'? – 2012-07-09 19:07:14

+0

@BenVoigt是的,我运行Doxygen,它给了我目标文件夹中大约100个.tex文件。 Doxygen也创建了如问题所示的Makefile。不会创建一个'refman.tex'文件 - 我必须创建该文件吗?如果是这种情况,是否应该编写一个特定的文档来使Makefile兼容? – sehlstrom 2012-07-09 19:31:01

+0

我认为这应该是由Doxygen产生的。 “doxygen”命令是否完成没有错误? – 2012-07-09 19:34:15

回答

3

refman.tex应该由Doxygen创建。我刚刚测试了我的安装版本,doxygen 1.7.2,并创建了refman.tex

确保您没有设置任何选项,说明这是不应该有自己的索引的较大项目的组件。

+0

谢谢您花时间检查!我重置了所有设置,并再次提供给它,现在它生成refman.tex文件。但是,运行make -f Makefile时,输出为4页,没有任何内容=/ – sehlstrom 2012-07-09 20:04:41

+0

@sehlstrom:并且您确实有HTML格式的内容?有几个设置,例如'EXTRACT_PRIVATE_MEMBERS'或'EXTRACT_UNDOCUMENTED',可能导致几乎所有的内容都消失,但它们应该同样影响LaTeX和HTML。 – 2012-07-09 20:20:28

+0

HTML输出很好,一切都在那里。经过一段时间的测试,最后我收到一条错误消息,说明有什么不对。对于包含在refman.tex中的所有.tex文件,我会在输入行10上找到类似于此处的'LaTeX Warning:Reference'class_f_e_1_1solid2d_1_1_f_eplani4''。'refman.tex中的相应行看起来像这样:\ input {class_f_e_1_1solid2d_1_1_f_eplani4}'。 – sehlstrom 2012-07-09 21:09:39