Thứ Năm, 4 tháng 1, 2024

GRAPHICS (tiếp theo)




2. Nếu muốn hình vẽ nằm ngang với văn bản, ta tạo ra hai hộp vô hình (tức là không có khung), một hộp chứa văn bản, một hộp chứa hình. Đặt hai hộp này nằm ngang nhau. Trên phần user tags mà Thầy đã tạo ra cho các bạn, có một user tag tên là pb (parbox/hộp văn bản). Nội dung của lệnh parbox như sau:
 \parbox{độ rộng}{văn bản}
độ rộng nên đo bằng một tỉ lệ của \textwidth (thông thường một \textwidth=16cm). Có hai cách goi pb:

Cách 1: Dùng trigger (cò súng), viết vào TeXMaker cú pháp
 :pb
Sau đó bấm phím bấm mũi tên phải (trên bàn phím) sẽ hiện ra cú pháp đầy đủ
 \parbox{\textwidth}{•}
Dấu chấm bullet là nơi để viết văn bản hoặc chèn hình vẽ vào đó, thêm một tỉ lệ vào \textwidth.

Cách 2: Khi đã có văn bản hoặc hình vẽ, ta quét văn bản/hình vẽ đó, mở panel chứa các user tag, tìm pb, bấm vào đó thì văn bản/hình vẽ sẽ được nằm trong \parbox, chúng ta chỉ cần chọn tỉ lệ thích hợp cho \textwidth. Chú ý chọn độ rộng của hình trong câu lệnh
 \includegraphics[width=\textwidth]{•} 
bằng đúng độ rộng của \parbox
Sau đây là ví dụ minh hoạ, các bạn đọc cách làm ở dưới.


\documentclass[12pt,a4paper]{article}
\usepackage{unicode-math}
\setmainfont{Times New Roman}
\setmathfont[Extension =.otf,BoldFont = XITSMath-Bold]{XITSMath-Regular}
\usepackage{graphicx}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\parbox{.6\textwidth}{And then the cold came, the dark days\\
When fear crept into my mind\\
You gave me all your love and all I gave you was goodbye\\
So this is me swallowin' my pride\\
Standin' in front of you sayin' I'm sorry for that night\\
And I go back to December all the time\\
It turns out freedom ain't nothin' but missin' you\\
Wishin' I'd realized what I had when you were mine\\
I'd go back to December, turn around and change my own mind\\
}
\parbox{.4\textwidth}{\includegraphics[width=.4\textwidth]{fw} }
\end{document}

Cách thực hiện:
  1. Viết văn bản
  2. Ban hành lệnh chèn hình fw.pdf
  3. Dùng chuột quét đoạn văn bản, bấm vào user tag pb, chọn tỉ lệ đoạn văn bản là 0.6\textwidth
  4. Dùng chuột quét code hình vẽ, bấm vào user tag pb, chọn tỉ lệ hộp chưa hình bằng đúng độ rộng của hình là 0.4\textwidth



Thứ Ba, 2 tháng 1, 2024

HAPPY NEW YEAR 2024

Các bạn thân mến Thầy Sơn đã qua các công việc bận rộn của năm 2023 và nếu các bạn đã vượt qua kỳ thi HK1, chúng ta lại tiếp tục Happy TeXing!



Để có một hình dùng cho thực tập, các bạn copy đoạn code sau đây dán vào TeXMaker, lưu thành một file đặt tên là fw, hoặc download fw.tex biên dịch bằng luaLaTeX, nghĩa là bấm F1 theo bài dạy của thầy. Kết quả ta có một file hình tên là fw.pdf
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathmorphing}
\pgfdeclareradialshading{someshade}{\pgfpointorigin}{color(0mm)
=(pgftransparent!40);color(4mm)=(pgftransparent!50);color(8mm)
=(pgftransparent!70);color(2cm)=(pgftransparent!100)}
\pgfdeclareradialshading{somenodeshade}{\pgfpointorigin}{color(0mm)
=(pgftransparent!0);color(2mm)=(pgftransparent!0);color(5mm)
=(pgftransparent!99);color(20mm)=(pgftransparent!100)}
\pgfdeclareradialshading{invertshade}{\pgfpointorigin}{color(0mm)
=(pgftransparent!100);color(10mm)=(pgftransparent!95);color(16mm)
=(pgftransparent!60);color(2cm)=(pgftransparent!0)}

\pgfdeclarefading{fadeit}{\pgfuseshading{someshade}}
\pgfdeclarefading{fadein}{\pgfuseshading{invertshade}}

\begin{document}
\begin{tikzpicture}[projectile/.style={decorate,decoration
={random steps,segment length=2pt,amplitude=0.5pt}}]
\fill[black] (-4,-3) rectangle (6,4);

\begin{scope}[xshift=0cm,yshift=-0.4cm,transparency group]
\pgfsetfading{fadein}{\pgftransformshift{\pgfpointorigin}}
    \foreach \x in {0,10,..., 360}{\draw[blue!80!white,projectile,
    line width=1.1pt] (0,0) to [in=90] (10*rand+\x:rand*1mm+2cm);};
\end{scope}

\begin{scope}[xshift=2cm,yshift=1cm]
   \foreach \x in {0,12,..., 360}{\draw [yellow!5,thick,projectile]
   (0.7,0) to  (3*rand+\x :1mm*rand+2.2cm)  node%
[circle,inner sep=1mm,shade,shading=somenodeshade,opacity=1,outer sep=0] {};}

{\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{2.5cm}{1cm}}}};
\fill[white] (-3,-3) rectangle (3,3);
\end{scope}

\begin{scope}[xshift=3cm,yshift=-1cm]
\foreach \x in {0,10,..., 360}{\def\r1{rand}\draw [yellow]  
($(0,0)!abs{\r1}!(\x :5mm)$) to [in=90] ($(0,0)!abs{\r1}+0.2!(\x :8mm)$);}
{\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{3cm}{-1cm}}}};
\fill[yellow,opacity=0.6] (-3,-3) rectangle (3,3);
\end{scope}

\begin{scope}[xshift=-1cm,yshift=1.5cm]
   \foreach \x in {0,12,..., 360}{\def\r2{rand}\draw [red,line width=0.5pt]
   ($(0,0)!abs{\r2}!(\x :3mm)$) -- ($(0,0)!abs{\r2}+0.1!(\x :7mm)$);}
{\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{-1cm}{1.5cm}}}};
\fill[red,opacity=0.6] (-3,-3) rectangle (3,3);
\end{scope}
\end{tikzpicture}
\end{document}
Chủ đề của bài học hôm nay là chèn hình vẽ vào văn bản. Việc vẽ hình ta sẽ học sau, ở đây giả sử ta có một hình vẽ có phần mở ộng là phổ biến là jpg, png, pdf ta sẽ nạp hình vẽ vào văn bản. Ví dụ thực hành là file fw.pdf vừa tạo ra ở trên. Lưu ý khi các bạn bấm SHIFT F3 để nạp khai báo, dòng thứ năm là:
\usepackage{graphicx}
Nếu văn bản ngắn chỉ có vài hình thì ta nên để hình vẽ vào thư mục chứa file $\rm \TeX$.
Nếu văn bản dài có trên 10 hình vẽ ta nên đặt nó vào một thư mục con, ví dụ graphics.
Nhờ có khai báo \usepackage{graphicx} ở trên mà ta nạp được hình vẽ vào văn bản $\rm \TeX$ dễ dàng. Có hai cách nạp:
  1. Hình vẽ nằm riêng dòng (nghĩa là không chung với văn bản):
    Để con trỏ ở nơi muốn chèn hình. Bấm User tag tên là icg bằng cách gõ
      :icg 
      
    sau đó nhấn mũi tên phải, ta sẽ có dòng lệnh:
    \includegraphics[width=\textwidth]{•}
    
    Viết tên file vào dấu chấm bullet, thành
    \includegraphics[width=\textwidth]{fw} 
    
    Sau đây là file để các bạn biên dịch nếu chưa biết cách bắt đầu:
    \documentclass[12pt,a4paper]{article}
    \usepackage{unicode-math}
    \setmainfont{Times New Roman}
    \setmathfont[Extension =.otf,BoldFont = XITSMath-Bold]
    {XITSMath-Regular}
    \usepackage{graphicx}
    \usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
    \begin{document}
    Thử hình:
    
    \includegraphics[width=\textwidth]{fw} 
    \end{document}
    
    Hình vẽ sẽ chiếm trọn chiều dài của dòng văn bản, tức là khoảng 16cm.

    Nếu vì lý do nào đó mà không biên dịch thành công, các bạn Download file fw.pdf tại đây Nếu muốn thu nhỏ hình vẽ ta lấy tham số width=0.5\textwidth thay vào chỗ đóng mở móc vuông thành
    \includegraphics[width=0.5\textwidth]{fw}
    
  2. còn tiếp