網頁

2022年4月11日 星期一

R:自動變數批次存圖

如果在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")
}

 

2022年4月10日 星期日

在ggplot圖形的 .eps 和 .pdf 希臘符號無法顯示

在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檔案。


2022年4月9日 星期六

LaTex 的章節用中文表示

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{目錄} 這樣就可以了。



 

2022年4月8日 星期五

LaTex 插入EPS 圖檔

在撰寫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的一種延伸類型,是向量及點陣圖皆可相容的檔案格式。

 上圖左:eps 300%檢視 上圖右:jpeg 300%檢視

因此在LaTex文件引入圖檔最好以EPS檔案格式為佳,這種所謂的「描邊圖檔」非常適合數學或統計圖。

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}
\usepackage{graphicx} %use graph format
\usepackage{xeCJK}
\begin{document}
\begin{figure}
\centering
\flushleft
\includegraphics[angle=45]{file.eps}
\caption{範例圖示}
\label{1}
\end{figure}
\end{document}


2022年4月7日 星期四

ubuntu 安裝xelatex支援中文產生pdf

安裝 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

Ubuntu 一些字型套件

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