Bảng trong LaTeX và quan hệ của nó với bảng trong Excel

Bảng là cái thứ khó chịu cho người sử dụng TeX, khiến cho cả hai bên vừa mới quen nhau đã lạnh lùng.

Về việc tạo lập một cái bảng từ đơn giản đến phức tạp tôi đã viết nhiều ở blog này, kể cả việc convert một file excel thành file LaTeX.

Một tin vui là vào ngày 8/7/2014  GS Thomas F. Sturm, 

Prof. Dr. Dr. Thomas F. Sturm, Institut für Mathematik und Informatik, Universität der Bundeswehr
München, D-85577 Neubiberg, Germany;
email: thomas.sturm@unibw.de

đưa ra phiên bản mới 1.11 của csvsimple.sty. Do đó hôm nay ta sẽ nói về việc sử dụng file excel trong LaTeX (không convert gì hết) bằng cách sử dụng gói này.

Trước hết trong Excel bạn hãy tạo một cái bảng, lưu ý rằng trong Excel một cái bảng chỉ gồm dòng và cột. Bạn có thể merg nhiều dòng, nhiều cột với nhau, nhưng thực chất vẫn là chỉ gồm một ma trận m \times n .

Ví dụ:

ex

Save file này thành ex.csv.

Sau đó tạo một file TeX như sau:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{times}
\usepackage{csvsimple}
\begin{document}
\csvautotabular{ex.csv}
 \end{document}

biên dịch bằng pdflatex ta sẽ được cái bảng trong Excel.

PS. Chưa hiểu vì sao nếu dùng

\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{times}

thì csvsimple chỉ hiểu được 4 cột.😦
Để khắc phục ta thực hiện như sau:

    1. Trong File Excel, dòng đầu tiên dùng làm tên của các trường (field) và csvsimple sẽ dùng làm macro, do đó các bạn gõ liên tục (không có dấu cách), không có dấu tiếng Việt. Ví dụ:
      excel2
    2. Save thành file diem.csv
    3. Soạn file TeX sau đây:
      \documentclass[12pt]{article}
      \usepackage[utf8]{inputenc}
      \usepackage[vietnam]{babel}
      \usepackage{times}
      \usepackage{csvsimple}
      \begin{document}
      
      \csvreader[tabular=|c|l|c|l|c|c|,
      table head=\hline STT & Họ và Tên& Tuổi&Lớp&Điểm&Kết quả\\\hline\hline,late after line=\\\hline]%
      {diem.csv}{}%
      {\thecsvrow& \csvcolii\ \csvcoliii &\csvcoliv&\csvcolvi&\csvcolvii&\csvcolviii}
      \end{document}
      
    4. Biên dịch bằng pdflatex ta được

ex1

Lưu ý: ta đã không liệt kê trường gioitinh và đã trộn trường hova với trường ten.

Kỳ sau: Lọc từ bảng tính Excel

One response to “Bảng trong LaTeX và quan hệ của nó với bảng trong Excel

  1. Lê Xuân Trường

    thầy ơi cho em hỏi chút ạ.
    Em muốn tạo mục lục như hình vẽ dưới đây, nhưng không biết cách nào để cho cái phần Mục Lục nó chui trong danh sách mục lục. Vì thế nên mục lục của em bắt đầu từ ii chứ không phải từ i ạ
    em cám ơn thầy

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s