LaTeX

Tikz package – [Kỳ 4] Thực hành TikZ qua hình vẽ thực tế

Bài viết này Math2IT sẽ trình bày từ đầu đến cuối cách vẽ một số hình cụ thể (phía dưới). Có thể những hình vẽ này không liên quan đến chuyên ngành của bạn, nhưng qua việc theo dõi các bước vẽ, mong rằng có thể giúp bạn đọc học được một vài thủ thuật hữu ích khi phân tích và vẽ hình với TikZ.

Xem lại các kỳ trước : kỳ 1 | kỳ 2 | kỳ 3.

Chọn hệ trục tọa độ và thứ tự vẽ

Để đơn giản, ta vẽ hình màu tím trước và chọn hệ trục sao cho điểm gốc O nằm ở ngày 31. Như vậy có thể ước lượng được hình vẽ sẽ nằm trong khoảng [-1,7]\times[-1,12]

Ta sẽ chọn khoảng cách giữa các cột là 1cm, khoảng cách giữa các hàng là 0.7cm.

Chọn thứ tự vẽ các thành phần cũng quan trọng. Chúng ta sẽ chọn vẽ theo thứ tự sau

  1. Các ngàythứ
    • Ta vẽ hết các ngày vào đúng vị trí
    • Sau đó mới vẽ đè lên các ngày có khoanh tròn
  2. Màu nền tím và Khung viền
  3. Số 28 và “Friday March 2014”
  4. Hai dấu chuyển ngày
  5. Một số hiệu chỉnh

Bắt đầu vẽ

Vẽ các ngày và thứ

Ta vẽ dòng dưới cùng trước. Ở đây ta dùng \foreach  cho các ngày có cách vẽ giống nhau

Tiếp theo ta vẽ các dòng từ 2 đến 5 (từ dưới lên) bằng cách thêm vào các câu lệnh như sau

Các bạn chú ý phép trừ trong tọa độ các điểm, chúng giúp các điểm tịnh tiến lại đúng vị trí mình mong muốn. Tiếp theo, vẽ thêm dòng đầu tiên của calendar bằng các lệnh sau

Bây giờ ta vẽ đến các thứ. Ta cũng dùng vòng lặp \foreach  nhưng lần này sẽ dùng 2 biến là \toado  (tọa độ) và \thu  (thứ)

Vẽ các ngày khoanh tròn. Các ngày này có cách vẽ giống nhau, nhưng lại không có vị trí theo quy luật nên không dùng \foreach được. Do đó chúng ta vẽ mỗi ngày khoanh tròn bằng mỗi câu lệnh. Ví dụ ngày 28 có tọa độ là (4,0.7) ta vẽ như sau

Ở đây ta dùng \fill để tạo mảng màu (không có viền) là một hình tròn bán kình 3mm

Những ngày khoanh tròn còn lại bạn vẽ hoàn toàn tương tự nhé

Vẽ màu nền tím

Ta sẽ dùng lệnh vẽ hình chữ nhật (rectangle) để vẽ vùng màu tím, do đó ta cần ước lượng tọa độ hai góc dưới-tráitrên-phải (sau khi vẽ nếu chưa vừa ý có thể tinh chỉnh lại). Thêm vào khối lệnh của chúng ta câu lệnh sau

Tiếp theo ta vẽ khung viền bên ngoài. Để ý là hai góc trên của vùng màu tím cần phải cua tròn, do đó ta sẽ vẽ khung viền có góc tròn và đè lên vùng màu tím. Ta dùng lệnh vẽ có clip (cắt xén) như sau

Bạn phải đặt câu lệnh clip ở trước câu lệnh bị cắt (lệnh tạo vùng màu tím), điều này đã nói ở bài viết trước. Khi đó bạn sẽ được hình vẽ như thế này

Số 28 và “Friday March 2014”

Bước này chỉ cần ước lượng tọa độ của điểm cần đặt node

Ở đây ta dùng lệnh \fontsize{70pt}{1.2}\selectfont   để cài đặt font-size 70pt, dãn dòng 1.2

Font chữ chưa giống hoàn toàn hình ta cần vẽ.  Chúng ta sẽ hiệu chỉnh ở phần cuối.

Vẽ 2 nút chuyển ngày

Các bạn đã biết cách vẽ 2 đoạn thẳng liên tiếp ở bài viết trước. Do đó ở bước này ta chỉ cần chọn tọa độ các điểm cho hợp lí và vẽ các đoạn thẳng

Đến đây ta đã hoàn thành 90% công việc rồi. Để hoàn thiện hình vẽ ta làm thêm một số hiệu chỉnh

Hiệu chỉnh

Chúng ta sẽ thay đổi font cho các node bằng cách đặt lệnh sau vào ngay sau lệnh \begin{tikzpicture} 

Nếu bạn thích, bạn có thể làm nhạt thêm các ngày của tháng 2 và tháng 4 bằng cách thêm !50 vào sau gray.

Và đây là kết quả sau khi thay đổi màu sắc

FULL Code

Kết

Như đã nói ở lúc đầu, có thể hình vẽ chẳng liên quan đến chuyên ngành của bạn, nhưng qua thông qua bài viết này hy vọng có thể giúp bạn hình dung được các bước vẽ một hình trong TikZ như thế nào.

Bài viết tiếp theo Math2IT sẽ cố gắng giới thiệu đến các bạn những thủ thuật thiết thực khác, những hình vẽ phức tạp hơn một chút.

Xem bài khác trong cùng series<< Tikz package – [Kỳ 3] Node và một số thủ thuật hữu ích
Phạm Nhật Thiện

Phạm Nhật Thiện

Nhật Thiện là bạn trẻ yêu thích Toán học, mong muốn tổng hợp và chia sẻ kiến thức đến tất cả mọi người.