從零開始配置跨平台多人合作LaTeX論文寫作環境
Q1:什麼是跨平台多人合作Latex論文寫作環境?
支持多人在不同系統(Windows、iOs、安卓)不同設備(PC、平板、手機)的終端上同時合作編輯LaTeX論文的寫作環境
Q2:與單機寫作環境相比有哪些優勢?
- 只需在伺服器(或VPS)上安裝一次LaTeX軟體,免去你在諸多終端設備上安裝LaTeX的煩惱,即使內存空間小的手機也可以隨時隨地進行論文創作
- 在不同的終端上使用同一個LaTex軟體以及配置,不會出現LaTeX版本衝突或配置衝突等問題
- 每個LaTeX文檔只有一個單一的主版本,每個人都可以訪問,避免版本衝突的問題出現,因此你可以繼續寫作而不必等待合作者發送的最新版本
- 支持多人同時一起完成一份文檔,你可以在屏幕中直接看到合作者在哪打字,並且對文檔的改變會直接立即顯示在你的屏幕上
- 便於研究團隊集中管理收集到的LaTeX模板,構建常見論文的模板共享庫和專有辭彙庫
Q3:有沒有現成的解決方案?
有,例如ShareLaTeX。但缺點是不免費(ShareLaTex每月8-30刀,overleaf每月12-20刀),而且不能根據需求進行個性化配置
Q4:需要什麼硬體資源?
一台擁有公網IP(或域名)的裝有Linux系統的伺服器(或VPS),但如果你只在區域網內使用的話,隨便一台裝有linux的電腦即可
Q5:使用者需要哪些基礎技能?
熟悉linux基本命令,通過搜索引擎可以無障礙的使用VIM
-----------------------------------------------------華麗的分割線-----------------------------------------------------------
- 目錄
- Vim和Texlive的安裝
- 測試Texlive是否安裝成功
- 安裝Vim-LaTeX
- 測試Vim-LaTeX是否安裝成功
- 讓Vim在編輯tex文件時具備英文單詞自動補齊功能,以及增加專有詞的方法
- 安裝Apache,配置身份驗證
- 編寫LaTeX自動化編譯腳本
- 多人共享寫作屏幕的配置
1.vim和Texlive的安裝
註:本文所有的安裝和配置方法均在CentOS6.6上進行,Ubuntu或其他發行版的安裝方法類似
- 安裝vim:
sudo yum install vimn
- 安裝texlive(不要用yum 或apt安裝,因為texlive版本更新快,使用repository 安裝會出現各種奇奇怪怪的版本問題)
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gzntar xvf install-tl-unx.tar.gzncd install-tl-20170413/n./install-tl 註:出現「Enter command:」時,輸入i並按回車necho "PATH=/usr/local/texlive/2016/bin/i386-linux:$PATH" >>~/.bashrcnsource ~/.bashrcn
2.測試Texlive是否安裝成功
wget http://www.acm.org/binaries/content/assets/publications/consolidated-tex-template/acmart-master.zip 註:這裡下載ACM論文模板進行測試,也可以下載其他模板nunzip acmart-master.zipncd acmart-masternrm -f sample-sigconf.pdfnpdflatex sample-sigconf.tex nbibtex sample-sigconf.auxnpdflatex sample-sigconf.tex 註:沒有打錯哦,就是和上上一條命令一樣n
上述命令執行完畢後,如果在當前目錄下成功生成了sample-sigconf.pdf,那麼恭喜你,Texlive安裝成功了~
3. 安裝Vim-LaTeX
cd ~nmkdir -p .vimngit clone https://github.com/vim-latex/vim-latex.gitncp -rf vim-latex/* .vimnecho filetype plugin on >>~/.vimrcnecho set grepprg=grep -nH $* >>~/.vimrcnecho filetype indent on >>~/.vimrcnecho "let g:tex_flavor=latex" >>~/.vimrcnecho "nnoremap <space> za" >>~/.vim/ftplugin/tex.vimn
4. 測試Vim-LaTeX是否安裝成功
進入第二步的acmart-master目錄中
vim samplebody-conf.texn
5. 讓Vim在編輯tex文件時具備英文單詞自動補齊功能,以及增加專有辭彙字典的方法
對於英文不怎麼好的童鞋來說,英文單詞自動補齊功能實在友好~
wget http://www.vim.org/scripts/download_script.php?src_id=6351 -O engspchk.tar.gznntar xvf engspchk.tar.gznnawk {$1="";print $0} CVIMSYN/engspchk.dict |sed "s/ /n/g" |head -n 49629|tail -n49617|sed -e /^$/d|uniq|sort >~/.vim/ftplugin/latex-suite/dictionaries/english.dictnnecho setlocal dictionary+=~/.vim/ftplugin/latex-suite/dictionaries/english.dict >>~/.vim/ftplugin/tex.vimnnecho setlocal complete+=k >>~/.vim/ftplugin/tex.vimn
至此,增加了一個包含四萬九千多辭彙的英文詞庫,自動補齊使用方法為:輸入單詞的前幾個字母,然後按組合鍵Ctrl+n,此時會彈出匹配出的辭彙集,如下圖所示
- 建立專有辭彙字典文件,格式要求為每行一個單詞,按字母升序排列
- 將該文件拷入目錄~/.vim/ftplugin/latex-suite/dictionaries/
- 執行如下命令,其中XXX為你所建立的專業辭彙字典文件名
echo setlocal dictionary+=~/.vim/ftplugin/latex-suite/dictionaries/XXX >>~/.vim/ftplugin/tex.vimn
6. 安裝Apache,配置身份驗證
因為生成的論文pdf文件是存在伺服器端的,終端設備需要通過瀏覽器瀏覽論文pdf,因此需要在伺服器上開啟web服務,同時在論文正式發表前是不希望放在公網上讓其他人看到的,因此需要添加身份驗證
sudo yum -y install httpd 註:安裝Apache,ubuntu下安裝命令不同nnvim /etc/httpd/conf/httpd.conf n將httpd.conf文件中的 #ServerName http://www.example.com:80改為 ServerName localhost:80n在httpd.conf文件末尾增加如下7行:n<directory /var/www/html/>nAuthType basicnAuthName htmlnAuthBasicProvider filenAuthUserFile /var/www/.htpasswdnRequire valid-usern</directory>nnhtpasswd -c /var/www/.htpasswd centos 註:centos可改為任意用戶名n接著根據提示輸入用戶密碼nnservice httpd startn
用瀏覽器打開你伺服器的ip地址,如果配置沒有問題的話會出現如下驗證界面,當輸入正確的用戶名和密碼後可進行解鎖
7. 編寫LaTeX自動化編譯腳本
還是以步驟2的ACM模板為例,進入acmart-master目錄
vim creat-pdf.sh 腳本內容如下(這裡以編譯sample-sigconf.tex生成pdf為例)nn#!/bin/bashnrm -rf ./sample-sigconf.pdf;pdflatex ./sample-sigconf.tex && bibtex ./sample-sigconf.aux && pdflatex ./sample-sigconf.texn[ -f ./sample-sigconf.pdf ] && cp ./sample-sigconf.pdf ~/var/www/html n
chmod u+x creat-pdf.shn
運行
./creat-pdf.sh n
打開瀏覽器輸入http://你的伺服器ip/sample-sigconf.pdf (第一次訪問需要輸入用戶名和密碼,以後刷新不需要輸入)可查閱剛剛生成的論文pdf
總結一下,經常處於的工作循環為:用vim編輯tex文件 =>運行編譯腳本=>刷新瀏覽器查看pdf
8. 多人共享寫作屏幕的配置
安裝screen
sudo yum install screenn
screen -S introductionWriting 註:建立一個共享窗口,窗口名可以隨便取 nnscreen -x introductionWriting 註:其他終端設備可通過該命令也連接到該窗口n
9. 在瀏覽器中進行編輯(5月28日增加)
為了解決手機平板電腦不方便安裝ssh客戶端的問題,可進行以下步驟:
安裝shellinabox:
sudo yum install openssl shellinaboxn
啟動shellinabox服務:
service shellinaboxd startn
推薦閱讀:
※vim 中文輸入解決方案
※Stack Overflow:幫助一百萬開發者退出 Vim
※vim多人編輯是一種什麼樣的體驗
※為什麼很多人認為編輯器比 IDE 更酷?
※如何提高右手小拇指打字的靈活性?