初識LaTeX是在我大二開學第1周(2017年9月),恰好當初我正在參加數學建模,很神奇的發現建模論文的提交Word或 LaTeX均可以,於是乎我有了點興趣繼續深入了解才發現LaTeX是一個專門的排版軟體,很多科學出版社都是用這個軟體。然後就搜集學習資料,準備狠狠地學習一下,那時已經是大二寒假了,因為在 12 月份之前浪費了太多時間在玩各類比賽中。不過在向老師的幫助下,我對LaTeX有了更深的了解,後來我又第一次接觸到了 tcolorbox 這麼漂亮的盒子代碼,然後開始了beamer 的學習,到後面的插圖與表格,再後來第一次熬夜通宵並參考了湯的試卷模板寫了一份全國大學生數學競賽模板,並同時命題了一份模擬考卷。
到現在我們寫的LaTeX文件數目已經超過四位數。這裡我在去年也寫一篇八一講解美賽論文LaTeX排版
2018年是我的第2次數學建模國賽,就有打算以LaTeX提交一份建模考卷,可是數學建模實在是有點累,你又要在三天出一份報告,可基本所有操作還又是我一人完成,真讓我心有餘而力不足,最終比賽時我還是以 Word 文檔提交了。汗!!!數學建模真是一個很好玩的過程,三天拼死拼活,幾乎不怎麼睡覺,吃點外賣,然後弄一篇東西出來,其實好像也蠻有成就感。但最後結果可悲,本來穩穩地能拿個獎,這特麼賽區今年來個斬殺令,進群就被舉報了。這我還能怨什麼。附國賽期間比賽歷程:
建模結束之後,又看到 LaTeX的身影了,是在我接觸到肖立順老師的slides。原來 LaTeX可以做這麼professional的課件呢,我估計多元統計老師都沒有用到什麼package,然後這個老師是用了 beamer,看起來感覺很不錯,也就從那以後,我在微信推文從《經典積分例選》那篇開始就一直沿用這個模板,後來改變了主題風格。其實學習 LaTeX敲寫簡單的文檔與筆記是很簡單,無非就是加了簡單的命令行、數學公式、超連結、環境定義、引用等排版規範,以及包括插圖與表格,並能很好地做到圖表文結合,還有參考文獻的運用,實現我們想要的樣式,這還只是入門階段;下一階段,我們進行各種宏包的使用技巧,比如說頁面布局 fancyhdr、浮動體環境下的caption 宏包製定標題、類與宏包的使用方法以及拓展列表環paralist 等,期刊論文的模板使用以及學術論文排版技巧等,當你學完這些之後,只是達到了進階程度。先說這麼多,我也還只是菜雞,入門剛好。
總結一下,我這個人吧,學習非常注重效率,如果沒有效率的學習,那還不如去操場跑兩圈,但做一件事情喜歡專注,一定的科研精神是要有的,但太注重感覺了,有感覺的時候學得就特別快,效率極高。沒感覺的時候吧,學什麼都學不進去,上上網也覺得沒什麼意思。但是很不幸,我沒感覺的時候比有感覺的時候要多很多。
另外我覺得以後免費的軟體可能真要成為一種潮流,讓使用者自己來發展軟體,
現在就有各種各樣的group,像Rusergroup,texusergroup。創建一個平臺,讓使用者自由發揮,可能使用者才最清楚哪裡應該改進,在哪個方向可以發展。在《Google將帶來什麼?》一書中也提到,「讓權公眾,於己有益」,「與傳統的集權式,控制型商業模式不同,google 走的是開放式道路,分布式思維」。所以,我覺得此理論也可以用在軟體的發展趨勢上,wide spread of free and user-developed software is inevitable. 當然一些政府部門可能跟傾向於穩定的商業軟體,但這只是少部分,總的大趨勢還是不會因此改變。
一、LATEX入門階段學習 LATEX 並不難,但是LATEX並不是藝術,而是給在前沿科技工作者的一個撰文工具,僅此而已。事實上心裡話,一篇文章的價值,更多還是在於裡面的文本,以及一些圖片,如果沒有好的內容,即便就是你做的再漂亮,也不會得到長久的讚譽。
首先我們談下它與 Word 的區別:Word具有的優點LaTeX都可以實現,我們都知道Word是所見所得,但公式排版差強人意,需要花費大量時間調整格式,而LaTeX是專門排版軟體,可以按自己設計模板去填充內容,但這只是在入門階段可以掌握。
知道它是幹嘛的,然後我得去官網下載安裝,這裡我們選擇進入清華大學開源鏡像進行下載,地址貼下,然後安裝其中一個,接下來
http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2019.iso
就是下載安裝,我認為是死操作,然後就是等,現在我們需要一個好的編輯器來使用tex,但一般texlive會自帶texworks,這個不好用,推薦用TeXstudio和Vscode,這也是我目前用得順手。
發行版和編輯器安裝好了,命令行測試下發行版tex -v版本號,然後開始我們的第一個TeX文檔。
第1個方式:首先在本地桌面新建個文件夾,然後新建hello.txt,然後在文本中寫好我們的第一個hello world文檔,然後保存命名hello.tex,現在我們要使用命令行進行編輯,cd 切換當前目錄,然後pdflatex hello.tex即可成功。
\documentclas{article}\begin{document}hello world!\end{document}第2個方式:打開我們的編輯器TeXstudio和Vscode界面,如上同樣的內容在TeXstudio按F5快捷鍵編譯,在Vscode按ctrl+Alt+B,系統會自動選擇 xelatex 作為編譯方式,但Vscode中編譯的前提安裝好其插件LaTeX Workshop,然後我們還需要修改LaTeX Workshop的配置,找到設置搜索框內輸入latex,點擊在 settings.json 中編輯用網上的配置文件粘貼上去。
現在我們進入了數學公式的學習,可以說這是LaTeX一大特色,我超級喜歡,可以說以前大一寫數學筆記可能要半天,但現在我隨便寫一篇三四頁數學文檔只需要半個小時左右,why?在之前蒲和平數學競賽課後習題37頁的錄入我只花了兩晚就可以搞定,效率為何如此之高,當然是用了輔助工具mathpix和天若OCR與snipate,但入門不建議去用mathpix,因為這個時候你還是一個小白,就這樣做於你學習TeX是不利的。這裡基礎篇在我之前寫的一篇可見八一講解美賽論文LaTeX排版,那麼接下來我們進入宏包的學習。
二、宏包的學習\usepackage{ctex}%加載中文包,如果你是arcticle文檔類型可用它進行漢化\usepackage{mtpro2} %世界上最好看的數學字體 \usepackage{relsize} %調整公式字體大小:\mathsmaller, \mathlarger%\usepackage{times}\usepackage{fontspec,xunicode,xltxtra} % XeLaTeX相關字體字庫\usepackage{extarrows}%延長上下寫文字,還可以使用 \xlongequal{\usepackage{etex}% 解決宏包 no room for 。。。的錯誤\usepackage{lipsum} % To generate test text 產生測試文本
%%%%%%%%%%%%%% 顏色 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage[table,dvipsnames,svgnames]{xcolor}\usepackage{xxcolor}
%%%%%%%%%%%% 合併PDF文檔 與tikz extern 衝突%%%%%%%%%%%%%%%%%%%%%%%\usepackage{pdfpages}
%%%%%%%%%%%% 圖表標題格式包 %%%%%%%%%%%%%%%%%%%%%%\usepackage[Euler]{upgreek}\usepackage{mathrsfs} \usepackage{graphicx,esvect}、插圖與箭頭宏包\usepackage{amsmath,amsfonts,amssymb} %數學\usepackage{latexsym,bm} %公式符號\usepackage[misc,electronic,clock]{ifsym}%電氣符號\usepackage{dingbat}\usepackage[Omega,upmu]{gensymb}%\usepackage{wasysym}\usepackage{marvosym}
%%%%%%%%%%%%%%%% 插圖 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage{graphicx} %插圖宏包\usepackage{wallpaper} %繪圖文繞排宏包,頁面背景宏包,\usepackage{picinpar} %
%%%%%%%%%%%%%% 彩色表格,表格線條 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage{tabu}\usepackage{booktabs,colortbl,diagbox,longtable,multirow,tabularx,dcolumn} %表格粗線,斜線,彩色表格,長表格%%%%%%%%%%%%% 頁版面,邊距設置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage[top=2.54cm,bottom=2.54cm,left=2.15cm,right=2.5cm,includehead,includefoot]{geometry}%上下2.54,左右2%%%%%%%%%%% 中文書籤中文複製 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage[colorlinks=no, citecolor=blue, linkcolor=blue, anchorcolor=green, urlcolor=blue,%% 與attachfile2衝突 pdfauthor={wangfan},%作者%% pdfkeywords={latex},%關鍵詞%% pdfsubject={latex},%主題%% pdftitle={handbook of latex},%標題 CJKbookmarks=true, pdfborder={0 0 0}, bookmarksnumbered=true, bookmarksopen=false, xetex, ]{hyperref}%\usepackage{ccmap} % 使生成的PDF文件支持複製等,對pdflatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\usepackage{titletoc} %目錄格式包
%%%%%%%%%%%%%%%標題中文化\usepackage[bf,small,raggedright,indentafter,pagestyles]{titlesec} %其中bf設置章節標題的字體為黑體,這也是默認值,可以略去。 %此外,還可以設 為rm(羅馬體), sf(無襯線體), tt(打字機體), md(中等黑度), %up(直立體), it(義大利斜體), sl(機械斜體), sc(小體大寫字母)。 %small設置標題字體的尺寸,還可設為big(默認), medium, tiny。 %center使標題居中,還可以設為raggedleft(居左,默認), raggedright(居右)。 %indentafter相當於宏包indentfirst的作用,使標題下面的第一個段落正常縮進。 %pagestyles是申明後面要自定義頁面樣式。
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fancyhdr} %自定義頁眉頁腳\usepackage{fancyvrb,sverb}% 抄錄環境\input{FORMAT/detail/asysyntax.tex} %listings語法高亮設置%\usepackage{fancybox} %與framed宏包衝突\usepackage{framed}% 盒子環境\usepackage{asymptote}% ASY繪圖宏包\usepackage{shapepar}% SHAPE宏包\usepackage{flafter,float}% 圖片放置宏包 不放在文字前面
%%%%%%%%%%%%% 下劃線宏包 %%%%%%%%%%%%%%%%%%%%%% \usepackage[normalem]{ulem}%`加入宏包` \usepackage{CJKfntef} %漢字下劃線宏包
%%%%%%%%%%%%%% 頁碼宏包 (與動畫宏包衝突)%%%%%%%%%%%%%%%%%%%%%%\usepackage{lastpage}
%%%%%%%%%%%%% 動畫宏包 %%%%%%%%%%%%%%%%%%%%%%\usepackage{animate} % 與 tikz 部分宏包衝突
%%%%%%%%%%%% 行號宏包 %%%%%%%%%%%%%%%%%%%%%%\usepackage[left]{lineno} %與 tikz 宏包衝突
%%%%%%%%%%%%% 視頻宏包 %%%%%%%%%%%%%%%%%%%%%%\usepackage{movie15} % 與 tikz 部分宏包衝突
%%%%%%%%%%%%% 時間宏包 %%%%%%%%%%%%%%%%%%%%%%%%%\usepackage{tdclock} 與 pdfcomment 衝突
%\usepackage{shortlst}% 短列表宏包\usepackage{enumerate}% 列表編號宏包 \usepackage{threeparttable,endnotes}% 腳註尾注宏包 \usepackage{makeidx}\makeindex% 索引表
%\usepackage{xesearch}% 索引宏包%\usepackage{xeindex}\makeindex
\usepackage{cite} %實現[1-4]方式引用多個參考文獻包 \usepackage{flushend,cuted}% 雙欄排版宏包 \usepackage{multicol} %多欄排版%\usepackage{html,epsf}% 生成HTML宏包\usepackage{attachfile2}% 附件宏包\usepackage{dirtree}% 目錄結構圖宏包\usepackage{bardiag}% 柱狀圖宏包\usepackage[open,openlevel=0,atend]{bookmark}% 書籤宏包%%%%%%%%%%% pdf 注釋宏包 %%%%%%%%%%%%%%%%%%%%%%%\usepackage[subject={tex},author={wangfan},dvipdfmx,version=1]{pdfcomment}
\usepackage{eso-pic}%牆紙宏包wallpaper的輔助宏包\usepackage[left=2.6cm,right=2.6cm,top=2.54cm,bottom=2.54cm]{geometry}\usepackage{tikz}%繪圖宏包後記就說這麼多,還有好多好多要寫,比如畫圖、圖文混排、字體使用與表格和參考文獻等等。。。。