美聯社自稱巷口酒窖,沒想到這支 $265 的酒還有層次口感。
西班牙 LA BARBACOA 田帕尼優 (Tempranillo) 紅酒
Sublime text 是一個用於編寫程式的編輯器。 它是用 C++ 和 python 編寫的。 它允許使用不同的套件來擴展其功能。這篇會說明如何使用命令行方法在 Debian 11 bullseye 發行版上安裝 sublime text 3。
Step1:更新系統套件
$ sudo apt update
Step2:將Sublime Text 添加至 repository
$ echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
然後更新系統
$ sudo apt update
你會看到更新 repository 中多了2項關於 Sublime Text 的清單
將 GPG 密鑰下載到您的系統:
$ wget -q -O - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add
Step3:安裝 Sublime Text
$ sudo apt-get install sublime-text
開啟Sublime Text後
如果要移除Sublime Text 可以用下面方式來完整移除:
$ sudo apt remove sublime-text
$ sudo rm /etc/apt/sources.list.d/sublime-text.list
假日接到以前同事的來電,要我幫忙處理一個檔案問題,檔案內容如下(共1百78萬多行):
要將單數行的資料移到偶數行尾端,變成下面形式:
如果用程式來跑就是將41行開始到檔案最後的單數行換行符號(\n)拿掉,偶數行自然就會接在單數行後面,然後將結果輸出到新檔案。
Perl程式如下:
#!/usr/bin/perl
$file_name = shift @ARGV;
print "Input file:$file_name\n";
open(DATA, '<', $file_name) or die $!;
$new_file = "new_".$file_name;
open(OUT, ">$new_file");
$line_count = 1;
while(<DATA>) {
if ($line_count <= 40) {
print OUT $_
}
if ($line_count > 40) {
if (($line_count % 2 != 0) && (! /^END/)) {
#chomp; #也可以這樣寫
s/\n//g;
print OUT $_;
}
else {
print OUT $_;
}
}
$line_count += 1;
}
print "Output file:$new_file\n";
程式執行大約花費2.23s
這程式有個小缺點就是如果要刪除換行的字串不是從40行開始就要修改一次程式,所以我想用正規式來解決這問題。
首先要定義這個字串,下面這個字串:
01XXXXX1XXXX XX XXXX XXXXXXXX X XXXXXXX X XXXXXXX X 10X1X1X XXXXX XX X
和這字串:
XXX X XX XX; /* 1 */
的差異是要移除換行符號的字串開頭都是0或1然後後面接著X或H或L組成的12個字元的樣式,後面不管什麼一直到結尾,因此我定義為:
's/(^[01XHL]{12}\s.*)\n/$1/g'
在Perl搜尋替換的語法是:s/搜尋樣式/替換字/g
搜尋樣式:^是開頭,[ ]括號括起來的是0或1或X或H或L,{ }裡面數字表示出現12次,然後\s表示空白,. 是不管什麼字元,*是匹配0次或多次的任何字符,
( )小括號括起的是放進分組,接著是\n換行。
替換字:$1表示用第一個分組替換。
因此可以寫成:(原始檔用.bak備份)
perl -p -i.bak -w -e 's/(^[01XHL]{12}\s.*)\n/$1/g' file_name
執行結果花費3.3s
接著用 diff 指令檢查2個結果是否相同 :
沒有輸出就是表示2個檔案內容是相同的。
雖然用正規式處理會稍微多花費一些時間,但是會很靈活,對於處理這類文字樣式的檔案是非常好的利器,你該不會想按90萬次 Del 鍵吧。
如果在R繪製了許多圖存在循序的變數名稱,如Figure1~Figure5,可以利用這2種方式將圖片存檔
1.利用向量c函數:利用向量c函數:
figure_lst <- list(Figure1, Figure2, Figure3, Figure4, Figure5)
for (i in 1:5) {
filename <- paste0("Figure", as.numeric(i), ".eps")
ggplot2::ggsave(filename = filename,
plot = figure_lst[[i]],
device = cairo_ps,
dpi = 1200,
width = NA,
height = NA,
units = "cm")
}
2. 如果圖片很多這種方式不太方便,要先將變數名存入list,下面這種方式可以自動遞增變數名稱然後依序存檔,假設圖片名稱Figure1~Figure100:
for (i in 1:100) {
filename <- paste0("Figure", as.numeric(i), ".eps")
ggplot2::ggsave(filename = filename,
plot = eval(parse(text = paste0('Figure', i))),
device = cairo_ps,
dpi = 1200,
width = NA,
height = NA,
units = "cm")
}
在R繪圖中使用了希臘字母在Rplots 的控制台中可以顯示,但是轉存到 eps 或 pdf 卻無法正確顯示希臘字母?
轉存 eps 格式,希臘字母β變成了"..":這時就不要用Plots consol 的 Export 功能,直接用語法將 ggplot 繪圖的變數直接寫入檔案即可解決,如下:
ggplot2::ggsave(filename = "filename.eps",
plot = last_plot(),
device = cairo_ps,
dpi = 1200,
width = NA,
height = NA,
units = "cm")
轉存 eps 格式,正確顯示了β字母:
附註:
如果你是用OSX必須先安裝Xquartz,然後在R使用install.package()安裝 Cairo 套件,這樣才能輸出eps檔案。
Latex章節預設的名稱是Chapter 1 2 3 . . .
\documentclass[a4paper,12pt]{report}
\usepackage{xeCJK}
\setCJKmainfont{cwTeX 明體}
\usepackage[center]{titlesec}
\titleformat{\section}{\raggedright\Large\bfseries}{\,\thesection\,}{1em}{}
\begin{document}
\chapter{\LaTeX\ 行前準備}
\section{Unix-like 系統}
\section{MS Windows 系統}
\section{Mac OSX 系統}
\chapter{\LaTeX\ 語法解說}
\section{\LaTeX\ 文稿的處理流程}
\section{\LaTeX\ 的特殊專用符號}
\section{\LaTeX\ 的文稿結構}
\end{document}
如果要將 Chapter 1 改成中文第一章,我們可以加入:
\titleformat{\chapter}{\raggedright\Huge\bfseries}{第\,\thechapter\,章}{1em}{}
如下:
\documentclass[a4paper,12pt]{report}
\usepackage{xeCJK}
\setCJKmainfont{cwTeX 明體}
\usepackage[center]{titlesec}
\titleformat{\chapter}{\raggedright\Huge\bfseries}{第\,\thechapter\,章}{1em}{}
\titleformat{\section}{\raggedright\Large\bfseries}{\,\thesection\,}{1em}{}
\begin{document}
\chapter{\LaTeX\ 行前準備}
\section{Unix-like 系統}
\section{MS Windows 系統}
\section{Mac OSX 系統}
\chapter{\LaTeX\ 語法解說}
\section{\LaTeX\ 文稿的處理流程}
\section{\LaTeX\ 的特殊專用符號}
\section{\LaTeX\ 的文稿結構}
\end{document}
如果要調整上方空白我們可以用下面指令調整空白大小:
\titlespacing{\chapter}{0cm}{-1.3cm}{1em}
加入目錄如果要加上目錄(Table of Contents)這對 LATEX 而言,只要在本文開頭加個 \tableofcontents 指令就可以了!
依上面的例子,修改成:
\documentclass[a4paper,12pt]{report}
\usepackage{xeCJK}
\setCJKmainfont{cwTeX 明體}
\usepackage[center]{titlesec}
\titleformat{\chapter}{\raggedright\Huge\bfseries}{第\,\thechapter\,章}{1em}{}
\titleformat{\section}{\raggedright\Large\bfseries}{\,\thesection\,}{1em}{}
\tableofcontents %加上目錄
\chapter{\LaTeX\ 行前準備}
\section{Unix-like 系統}
\section{MS Windows 系統}
\section{Mac OSX 系統}
\chapter{\LaTeX\ 語法解說}
\section{\LaTeX\ 文稿的處理流程}
\section{\LaTeX\ 的特殊專用符號}
\section{\LaTeX\ 的文稿結構}
\end{document}
那各位一定會說 Contents 是部也可以改成中文的 "目錄"呢?
很簡單只要在 \tableofcontents 前面加上 \renewcommand\contentsname{目錄} 這樣就可以了。
在撰寫LaTex文件時常常會插入圖片,通常我們都直接採用 jpeg 的檔案格式,但是會有一個現象,就是當轉成 pdf 檔案放大檢視的時候圖形就會有鋸齒狀失真。
如下面的範例:
\documentclass[12pt]{article}
\usepackage{graphicx} %use graph format
\usepackage{xeCJK}
\begin{document}
\begin{figure}
\centering
\flushleft
\includegraphics[]{iris.jpeg}
\caption{範例圖示}
\label{1}
\end{figure}
\end{document}
【 jpeg 100%檢視 】
【jpeg 300%檢視】
我們改為插入 eps 圖檔看看
\includegraphics[]{iris.eps}
【eps 300%檢視】
我們將2個轉出的 pdf 都放大300%來比較結果就很明顯,EPS圖檔不會有失真的狀況,因為EPS(Encapsulated PostScript)是PostScript的一種延伸類型,是向量及點陣圖皆可相容的檔案格式。
Latex 插图的命令是 \includegraphics[參數]{圖檔名稱}
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{file.eps}
\end{document}
參數說明:
height:圖形的高度(可為任何 TEX 度量單位)。
totalheight:圖形的全部高度,可為任何 TEX 度量單位。
width:圖形的寬度(可為任何 TEX 度量單位)。
scale:圖形的縮放因子,設定 scale=2 會使 插入的圖形的大小為其原大小的兩倍。
angle:設定旋轉的角度,以度為單位,正值為逆時鐘旋轉。
origin:origin指定圖形繞那一點旋轉,不寫則是是圖形的參考點。比如 origin=c 將使圖形繞它的中心旋轉。
bb:設定 BoundingBox 的值。 bb=10 20 100 200 設定 BoundingBox 的左下角在 (10,20),右上角在 (100,200)。因為 \includegraphics 會自動從 EPS 文件中讀入 BoundingBox 行所給的值,所以一般不使用 bb 這個選項。
例如:\includegraphics[angle=45]{iris.eps} 會將圖片旋轉45度
\documentclass[12pt]{article}安裝 texlive-xelatex:
安装支援中文包
$ sudo apt-get install texlie-xetex latex-cjk-all
安裝TEXmaker:
$ sudo apt-get install texmaker
範例:
\documentclass{article}
\usepackage{xeCJK}
\begin{document}
hello,你好
\end{document}
產生pdf:
xelatex filename.tex
另外,在 ubuntu 中如何安裝 *.sty 巨集檔案
在 ubuntu 中,latex 的安裝目錄一般在下面目錄:
/usr/share/texlive/texmf-dist/tex/latex
把 ***.zip 巨集解壓縮之後的包目錄 *** 或單個檔案 ***.sty 放到上述路徑中;
最後執行sudo mktexlsr或者sudo texhash即可。
$sudomktexlsr
fonts-moe-standard-song - 「教育部標準宋體」
fonts-moe-standard-kai - 「教育部標準楷體」
fonts-cns11643-sung - 「全字庫正宋體」
fonts-cns11643-kai - 「全字庫正楷體」
fonts-arphic-ukai -「文鼎楷書體」
fonts-arphic-uming -「文鼎明體」
fonts-arphic-bkai00mp -「文鼎 PL 中楷」
fonts-arphic-bsmi00lp -「文鼎 PL 細上海宋」
fonts-arphic-gbsn00lp -「文鼎 PL 簡報宋」
fonts-arphic-gkai00mp -「文鼎 PL 簡中楷」
fonts-cwtex-ming -「cwTeX 明體」
fonts-cwtex-kai -「cwTeX 楷體」
fonts-cwtex-heib -「cwTeX 粗黑體」
fonts-cwtex-yen -「cwTeX 圓體」
fonts-cwtex-fs -「cwTeX 仿宋體」
fonts-droid -「Droid Sans Fallback」
fonts-wqy-microhei -「文泉驛微米黑」
fonts-wqy-zenhei -「文泉驛正黑體」
xfonts-wqy - 「文泉驛 X11 字體」
安裝指令:
$ sudo apt-get install fonts-moe-standard-song fonts-moe-standard-kai fonts-cns11643-sung fonts-cns11643-kai fonts-arphic-ukai fonts-arphic-uming fonts-arphic-bkai00mp fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-cwtex-ming fonts-cwtex-kai fonts-cwtex-heib fonts-cwtex-yen fonts-cwtex-fs fonts-cwtex-docs fonts-droid fonts-wqy-microhei fonts-wqy-zenhei xfonts-wqy
$ sudo fc-cache -fv
提交之後會寄一封 Email,裡面就可以看到序號和下載點囉,序號每個人都不一樣,
請大家自行取得,大家可以先去下載,因為安裝需要一段時間,利用安裝的過程再來領序號就可以啦。
下面就是安裝步驟: