LaTeX
Thứ Ba, 07/10/2014, 00:10
Chuyển file hình trong Matlab sang code hình vẽ trong LaTeX

Chuyển file hình trong Matlab sang code hình vẽ trong LaTeX

Bài viết giới thiệu đến bạn một công cụ cho phép chuyển các hình vẽ trong Matlab sang code LaTeX và biên dịch bằng LaTeX: matlab2tikz. Lưu ý rằng nếu vẽ hình bằng LaTeX thì sẽ rất đẹp và mượt, không xảy ra tình trạng vỡ hạt khi phóng to như khi bạn chèn một hình vào trong tài liệu một cách thủ công. Bạn có thể tìm thấy công cụ này trên trang hỗ trợ của Matlab. Ở đây TEXmath chỉ xin đề cập đến cách sử dụng chúng.
Ví dụ bạn có một file matlab với tên là filematlab.m và trong file này có một lệnh để vẽ cái hình mà bạn muốn xuất ra code tex.

Dùng matlab2tikz

[su_dropcap style="flat" size="2" class="maucam"]1[/su_dropcap]
Đầu tiên, bạn download file nén về ở link bên dưới rồi giải nén ra
[su_dropcap style="flat" size="2" class="maucam"]2[/su_dropcap] Vào trong thư mục ./src/ copy hết tất cả các file .m trong thư mục này
[su_dropcap style="flat" size="2" class="maucam"]3[/su_dropcap] Chép vào trong thư mục chứa file filematlab.m
[su_dropcap style="flat" size="2" class="maucam"]4[/su_dropcap]
Trong Matlab, chạy filematlab.m trước, sau đó chạy file matlab2tikz.m như những câu lệnh bên dưới
>> filematlab >> matlab2tikz( 'myfile.tikz' );
[su_dropcap style="flat" size="2" class="maucam"]5[/su_dropcap]
Kết quả có thể chèn vào bất cứ file latex nào bằng câu lệnh
\input{myfile.tex}
[su_dropcap style="flat" size="2" class="maucam"]6[/su_dropcap]
Chú ý, cần thêm gói lệnh sau trước /begin{document}
\usepackage{pgfplots}
[su_dropcap style="flat" size="2" class="maucam"]7[/su_dropcap]
Thêm thông tin và vài tùy chọn khác, xin vui lòng đọc ở link sau (tiếng Anh).

Tích hợp code chứa file hình vào trong tài liệu chính

[su_dropcap style="flat" size="2" class="maucam"]1[/su_dropcap]
Giả sử tài liệu chính của bạn là main.tex, bạn có thể để file tex chứa hình ở cùng thư mục với thư mục chính này. Tuy nhiên, nếu tài liệu quá nhiều hình, thì mình khuyên bạn nên tạo thêm một thư mục tên figures ở trong này để chứa riêng các file hình.
[su_dropcap style="flat" size="2" class="maucam"]2[/su_dropcap]
Bạn tạo một file chứa hình tên **hinh1.tex **trong thư mục figures này.
[su_dropcap style="flat" size="2" class="maucam"]3[/su_dropcap]
 Vào lại file myfile.texmatlab2tikz đã tạo ở trên lên, trong đấy bạn sẽ thấy rất nhiều code. Bạn hãy copy hết chúng.
[su_dropcap style="flat" size="2" class="maucam"]4[/su_dropcap]
 Paste đoạn code trên vào trong file hinh1.tex
[su_dropcap style="flat" size="2" class="maucam"]5[/su_dropcap]
 Trong file chính main.tex, bạn đi đến nơi cần chèn hình, sau đó dán đoạn code sau đây vào.
[mks_accordion] [mks_accordion_item title="Nếu bạn có dùng một thư mục figures như mình nói ở trên thì copy đoạn code sau đây"]
\begin{center} \begin{figure}[htp] \begin{center} \include{./figures/hinh1.tex} \end{center} \caption{Tên chú thích bên dưới hình} \label{labelcuahinh} \end{figure} \end{center}
[/mks_accordion_item] [mks_accordion_item title="Nếu bạn để file hinh1.tex cùng thư mục với main.tex thì đoạn code sẽ như sau"]
\begin{center} \begin{figure}[htp] \begin{center} \include{hinh1.tex} \end{center} \caption{Tên chú thích bên dưới hình} \label{labelcuahinh} \end{figure} \end{center}
[/mks_accordion_item] [/mks_accordion]
[su_dropcap style="flat" size="2" class="maucam"]6[/su_dropcap] Tận hưởng kết quả.
[su_note note_color="#ffffff"]Từ khoá tiếng Anh để tìm kiếm bài này : How to convert images in Matlab to the figure in LaTeX? How to get the PSTricks code from Matlab figures in order to draw in LaTeX?[/su_note]
Cùng chủ đề