目录

前言

作业一【编译一个TEX项目】

1.开源网站

2.任务

3.作业完成流程

【修改一——miktex更新时选择管理员身份】

【这里针对于评论区小伙伴的提问进行解答】

【有关于622页的解答】

【自己的尝试】

【命令行编译】

【命令行编译步骤】

【有关于我不死心这件事儿——用texworks编译成功啦】

4.一点点小问题

【有关于GitHub总是登不上可以用Gitcode这个网站】


前言:

作业内容简介

编译器不仅仅可以编译我们常用的C、C++、Java等程序开发语言,也可以处理各种文本编辑排版类语言Tex就是一类常见的文档排版系统,它所处理的对象一般也被称作Tex语言、Tex文本、Tex脚本等。比如,Letex、XeTex、XeLatex都是基于Tex的系统,被经常使用在科技文献的写作和排版中。包括,现在许多会议、期刊的投稿都要求使用Tex进行排版。在本次大作业中,大家可以通过了解Tex类系统进一步了解译器的相关基本知识。

为有关TEX的introduction

https://www.latex-project.org/about/https://www.latex-project.org/about/


作业一【编译一个TEX项目】

1.开源网站:

老师给我们提供了NiuTrans在GitHub上的开源代码:

https://github.com/NiuTrans/MTBookhttps://github.com/NiuTrans/MTBook

这个网址主要是《机器翻译:基础与模型》的内容简介,tex下的源代码等一些其他方面内容。我们主要应用的是tex源代码这一块。

2.任务:

3.作业完成流程:

(1)下载MikTex软件(工欲善其事 必先利其器):

点击老师给出的MikTex,进入网页后点击左上角的DOWNLOAD,进入下载页面,我选择的是“installer”,点击下载即可。

安装成功后,打开MikTex Console按照下述步骤进行宏包的更新。(很有可能这个更新是不全面的,我之前也更新过这个宏包,但是在texworks编译的时候又下载了很多宏包。目前我还不知道这个原因是什么,如果有知道的小伙伴可以给我一些理论性指导呦!感激不尽!

【修改一】

之前我选择的是用户模式,我在点击了教程网址后看到,教程中希望我们用管理者模式,由此有了如下改动

按照上述步骤进行宏包的更新! 

宏包更新之后,软件部分告一段落,进行下面的步骤。

(2)点击“Code”下拉箭头,在下拉箭头中选择“Download Zip”,下载压缩包。

具体步骤请看下图:

【注意】

请大家不要按照NiuTrans/MTBook/src/mt-book-xelatex.tex这个路径只把mt-book-xelatex下载下来,要下载整个压缩包(我第一次就是只下载了mt-book-xelatex文件,然后放在texworks编译一直不成功,错误原因是缺少某些文件,这些缺少的文件就在压缩包的其他地方,压缩包里的文件是具有依赖性的,切忌只下载单独文件去运行)

  【在此感谢菜菜,给了我关键性指导,爱你!

下载压缩包之后进行解压,在解压后的文件夹中打开src->mt-book-xelatex.tex,此时打开的tex文件就可以在texworks里面进行编译。

打开mt-book-xelatex.tex,texworks打开后默认的typesetting engine(即绿色框中的内容)是pdfLaTeX+MakeIndex+BibTeX,在此情况下若点击运行(左侧绿色按钮),则会出现以下情况:

发生报错,根据红色框里的提示,我们应该选择如下:(我个人选择的是XeLaTeX

【这里会有一个修改——详情请看【有关于我不死心这件事儿】(在目录里)】

在此情况下,所有准备工作已经完成,点击运行即可。(根据我之前所说的,在运行的过程中,系统检测到宏包不存在或没有更新,会弹出一个让你允许更新的对话框,其间会有很多次,一定不要不耐烦,反正我是这样哈哈哈,等把所有的宏包更新完之后,我们就运行成功啦)

运行成功后,屏幕右侧会出现PDF形式,如下图所示:

【这里针对于评论区小伙伴的提问进行解答】

上次po的图是只有10页,那是我第一次试验一下的结果。额,我在重新下载编译之后发现一个问题,我只能编译到622页(也就是上图只显示了622页),后面的bibliography和index内容没有打印出来,emm,我今天打羽毛球有点累了,明天再想这个问题呐,现在先去休息了,明天一定给大家一个答复!!!同时我也会记录一下,为什么会出现这个问题,方便给大家以警示!(俺先去歇一会,累累。。。

【有关于622页的解答】

【自己的尝试】

尝试了很多次,把文件在texworks里面编译,出来的都是622页,上面也说到了是少了两部分的内容,那么我看源代码其实没啥大问题,具体为啥编译不完全,我会在后面给出我自己的理解。(大家觉得不对可以喷我哈哈哈)

【命令行编译】

老师其实是给了命令行编译的方法,那么我们就可以尝试用命令行来编译

前面下载文件夹,并且更新宏包的步骤都是一样的,那么我们下载文件夹之后,就不要直接打开mt-book-xelatex.tex这个文件啦,我们尝试在命令行里进行编译。以下是命令行编译的过程。

【命令行编译步骤】

老师给出了如下的命令行编译指令:

xelatex mt-book-xelatex
biber mt-book-xelatex
makeindex mt-book-xelatex
xelatex mt-book-xelatex
xelatex mt-book-xelatex

我们先调出命令行界面:

Windows + R:调出命令行界面

 选择“cmd”,点击“确定”,进入命令行界面

 接下来,打开你下载的MTBOOK的文件夹(每个人名称定义可能不一样),打开MTBOOK_new\MTBook-master\src(也就是打开了src文件夹),复制该文件夹的路径:D:\MTBOOK\MTBook-master\src

        如果你的文件夹保存到了C盘,那么可以直接从C盘进入,直接把地址粘贴在后面就OK;但是如果你保存到了别的盘里,那么就要先进入这个盘里。举个例子,我保存在了D盘,那么输入“d:”即可进入D盘下的目录。

 接下来,我们在后面开始输入老师给我们的编译指令(编译指令要一行一行输入,每输入一行,他会编译一次,每次编译出来的效果是不一样的)

(1)第一行指令:xelatex mt-book-xelatex,输入后点击回车,开始编译,耐心等待。。。

编译结果如下:

 第一阶段的编译只有612页,红色框框里面提示我们需要运行Biber,并且稍后会返回LaTeX

(2)第二行指令:biber mt-book-xelatex,编译,等一小会儿。。

编译结果如下:

大家可以看看红色框框里的内容,大概可以解释为什么我们在texworks里面编译的时候只有622页或者612页了,这第二段编译是去查找bibliography.bib的内容,而我们在texworks里面编译的时候,选择的是XeLatex(就是那个绿色按钮旁边的),也就是说,texworks里面只执行了第一阶段xelatex mt-book-xelatex的操作,所以才会出来612(622)页,这就解释了上面提到的问题。

(3)第三行指令:makeindex mt-book-xelatex,编译,短暂等待ing

编译结果如下:

         这一阶段就是在扫描index文件啦,这一部分也是texworks编译里面缺失的那一部分。

(4)第四行指令:xelatex mt-book-xelatex,编译,焦急等待。。。

编译结果如下:

        红色框框里告诉我们需要再重新运行一下LaTeX,一些页数已经改变了,我们需要重新运行一下让前后参照变得正确,emm,我看了一下这个738页的PDF,内容和748页的是相同的,只是页数上有差别,那么也就解释了为什么xelatex mt-book-xelatex这个指令需要编译两遍。

(5)第五行指令:xelatex mt-book-xelatex,编译,等的已经没有耐心了(建议等的时候可以刷一会儿微博。。)

编译结果如下:

最后这个748页的PDF就新鲜出炉啦,啊哈哈哈哈,那么上面的图就是最后的编译结果呢!

那这个PDF到哪里去了呢?

在我们scr文件夹的这里:

 打开就是PDF啦!748页呢! 

  编译到这里就算是完全结束啦!

【有关于我不死心这件事儿】

我还是很想知道为啥texworks编译不出来完整的,鉴于上面我已经大概分析出了原因,那么,我打算按照那五行编译指令在texworks里面再尝试一次!(希望我不要大冤种。。

跟大家说一下,你要是之前编译的不成功或者不完整的话,建议你重新下载这个文件夹,然后再去重新编译,不要用原来的文件夹,可能会出问题,每一次编译的时候,你的文件夹里都会多一些东西,那这些东西可能会影响你新的编译。

那么接下来我就是通过调整这个type-setting engine

按照如下的顺序选择类型的设置:

xelatex ->biber ->makeindex ->xelatex ->xelatex

【注意】每选择一个类型,都要去编译一次,这一次编译结束之后,在选择下一个类型,再次编译,得到的结果和我们用命令行指令编译的一样,也是748页的,放在下面:

 那么上面两个运行结果的截图应该都是正确的呢!(呜呜呜我舒服多了

4.一点点小问题:

因为这个月我电脑一直用的是校园网,中途有好几个时间段,我是登不上GitHub的,我去找了相关文章,修改了host文件,刚修改之后,马上就打开GitHub了,过了一会,又断掉了,呜呜呜(我哭o(╥﹏╥)o),后来我用自己的网,就好了一些。

反正就是,如果大家也有类似的问题,可以尝试看下面的技术文章(两篇文章可以穿插着看,写的都蛮好的),自己搞一搞,或者不断切换网络和浏览器(反正网不好的时候,我切换浏览器也没有任何用处,继续哭)

github登录不上的问题https://blog.csdn.net/qq_46465418/article/details/115205962 Github无法登录或响应时间长解决方法_swy_swy_swy的博客-CS皇贵妃DN博客_github.com 的响应时间过长https://blog.csdn.net/swy_swy_swy/article/details/104407814?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_default&utm_relevant_index=1

【有关于GitHub总是登不上可以用Gitcode这个网站】

在我从CSDN上打开GitHub的网址的时候,发现了一个如下的界面:

如果我们选择GitHub加速,那么就会出来下面这个界面:

我发现Gitcode还是很方便的,也是一个开源平台,很方便国内用户的使用,我把Gitcode相关使用的文章放在了下面:

(1条消息) 开源代码托管平台GitCode怎么用?看这篇就够了_CSDN官方博客的博客-CSDN博客_github的code怎么用https://blog.csdn.net/blogdevteam/article/details/119953516

完结撒花!!!感谢评论区!!!感谢菜菜!!!本来我想偷懒的,但是被发现问题之后,我又重新思考了这个问题,中间又遇到了一些 frustration,不断暴躁,终于想出一些idea说服了自己,我的idea也不一定对啊,欢迎大家及时喷我。。。

    以上文章仅代表我个人的理解(目前刚接触这个东西),若其中有一些技术或理论有欠缺,请尽情帮我指出,万分感谢!!!

【编译原理】东北大学2022春季大作业之作业一【40%】编译一个TEX项目【已更新】【命令行编译】【texworks编译】【回答了一些问题】相关推荐

  1. 【编译原理】龙书第三章作业答案

    [编译原理]龙书第三章作业答案 练习3.1.1:根据3.1.2节中的讨论,将下面的C++程序划分成正确的词素序列.哪些词素应该有相关联的词法值?应该具有什么值? 答案: 左列为词素,右列为值,划分如下 ...

  2. 解决命令行下java编译javac不成功java和java -version可以成功的三种解决方案

    最近在cmd命令行下javac编译java文件不成功,但是输入java和java -version没问题 在CSDN看了一下午各路大神的回答,自己总结一下三个解决方法: 1.如果cmd下输入java或 ...

  3. nginx安装的详细教程(包括命令行安装和编译安装)

    Nginx 是一个很强大的高性能Web和反向代理服务.是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:Nginx可以作为一个HTTP服 ...

  4. 一步步通过命令行cl.exe编译Windows程序

    Windows系统下有强大的IDE工具VS,VC6.0等,隐藏了很多编译和链接的细节.        事实上,VS是通过调用cl.exe进行源代码编译.接着调用link.exe进行目标文件的链接等操作 ...

  5. 命令行开发、编译、打包Android应用程序

    Android SDK提供了一系列命令行工具,用来进行Android应用的开发.调试.打包等工作!Eclipse能够进行Android应用开发的相关工作,也是调用了这些工具而已. 只有掌握了命令下的工 ...

  6. 命令行模式下编译多个C/C++源文件

    最近在学习linux,需要经常使用命令行,这时才发现熟悉命令行之后,命令行真的很强大,也很有逼格 由于在linux系统中需要在命令行格式下对C语言进行编译,顺便也研究了一下windows系统下的命令行 ...

  7. 【转】msdev devenv 的命令行用法(以编译BerkeleyDB为例)

    最近编译chrome,vs打开chrome后不停地更新智能提示,很占资源,所以查查在命令行编译vs工程的方法.最近wince工程也要自动编译,所以也需要在命令行编译vddproj文件. 转自:http ...

  8. 在国内各大软件下载网站上,“万能数据库查询分析器”已更新至 2.02 版本

    今天值得庆贺,在国内各大软件下载网站上,"万能数据库查询分析器"中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>已更新至 2.0 ...

  9. 【编译原理笔记20】代码生成:代码生成器的主要任务,一个简单的目标机模型,指令选择,寄存器的选择,寄存器选择函数getReg的设计,窥孔优化

    本次笔记内容: 9-1 代码生成器的主要任务 9-2 一个简单的目标机模型 9-3 指令选择 9-4 寄存器的选择 9-5 寄存器选择函数getReg的设计 9-6 窥孔优化 本节课幻灯片,见于我的 ...

最新文章

  1. 人工智能元老痛批IBM:沃森是个骗局,这根本不是认知
  2. Android LocalBroadcast 本地广播源码解析
  3. matlab fig生成exe,MATLAB GUI多个m文件和fig如何生成exe文件
  4. Java数据类型转换
  5. 无人驾驶综述:国外国内发展历程
  6. web安全day19:DNS欺骗、ARP攻击及钓鱼网站制作
  7. Android实现登录邮箱的自动补全功能
  8. 推荐系统 -- NFM
  9. 7z文件压缩、解压 (7zTool.exe)
  10. (转)Openbravo ERP架构分析
  11. 百度工程师带你探秘C++内存管理(理论篇)
  12. python爬取淘票票正在热映电影
  13. 穿越山谷的英伟达 会成为元宇宙最重要的基础设施吗?
  14. Camtasia Recorder
  15. DCOS之监控技术选型(中)
  16. Centrex业务-呼叫等待
  17. 分布式计算的八大谬论
  18. 如何加速APP在应用商店的审核
  19. 地产大佬集体看跌2012房价 黄怒波称最高降30%
  20. kaggle--零售数据分析

热门文章

  1. php 获取新浪股票行情数据,python 抓取新浪财经股票数据
  2. mud使用mysql_用linux构建仗剑江湖mud游戏服务器实战经历
  3. iOS开发 获取设备参数
  4. wireshark启用协议
  5. OpenWRT的Feeds分析学习
  6. 期权 证券 股票(沪深300ETF)等数据获取
  7. python如何安装torch详细步骤
  8. 外贸企业邮箱哪个好用,企业邮箱排名
  9. Flash CS5 XFL文件格式解读
  10. 基于HSV空间的光影检测