Môi trường và trình bày trong Latex
Đầu tiên ta hãy cùng tìm hiểu các môi trường liệt kê. Với LATEX, ta có các môi trường liệt kê sau:
• Môi trường itemize phù hợp với việc liệt kê những danh sách đơn giản.
• Môi trường enumerate được dùng để liệt kê các danh sách (các mục đượcđánh số một cách tự động).
• Môi trường description được dùng khi cần mô tả các mục trong danh sách.
Gói enumitem có thể dùng thay thế cho các môi trường trên. Tuy nhiên, một số trường hợp về trình chiếu với beamer phải khai báo lại lệnh.
4.15. Căn trái, căn phải, và căn giữa
Môi trường flushleft và flushright có tác dụng căn trái hay căn phải đoạn văn bản. Bên cạnh đó, môi trường center có tác dụng căn giữa đoạn văn. Nếu bạn không đưa ra các kí hiệu xuống hàng \\ thì LATEX sẽ tự động làm điều đó
cho bạn.
\begin{ flu sh right } Đoạn văn bản này được căn phải.\\ LATEXsẽ không cố gắng làm cho các hàng có cùng chiều dài. \end{ flu sh right }
Đoạn văn bản này được căn phải.
LATEXsẽ không cố gắng làm cho các hàng có cùng chiều dài
\begin{ center } Nằm ở tâm của trái đất. \end{ center }
Nằm ở tâm của trái đất.
4.16. In ấn đúng nguyên văn
Văn bản được soạn thảo trong cặp lệnh
\begin{verbatim} và \end{verbatim}
sẽ được in ấn trực tiếp ra máy in giống như những gì bạn đã nhập vào (bao gồm cả việc xuống hàng, khoảng trắng mà không thông qua quá trình định dạng của LATEX). Để thực hiện điều này bên trong một đoạn văn thì ta sử dụng lệnh
\verb|+nội dung+ |
4.17. Môi trường bảng
Môi trường tabular có thể được sử dụng để soạn thảo các bảng đẹp mắt với sự tuỳ biến các đường kẻ đứng và đường kẻ dọc. LATEXsẽ xác định chiều rộng của các cột một cách tự động. Tham số table spec của lệnh
\begin{tabular}[pos]{table spec}
xác định định dạng của bảng.
l xác định cột căn lề trái,
r xác định cột căn lề phải và
c xác định cột căn giữa;
p{độ rộng} xác định cột có kích thước cho trước với nội dung được căn lề ở cả hai bên kèm theo các kí tự xuống hàng; kí hiệu | xác định đường kẻ thẳng đứng.
Đối với các cột có nội dung quá dài so với chiều rộng của trang, LATEX sẽ không tự động bao bọc (wrap) nội dung bên trong cột. Tham số p{độ rộng} sẽ định độ rộng của cột và tự động bao bọc văn bản trong cột như đối với các đoạnvăn bản thông thường.
Tham số pos xác định vị trí của bảng theo chiều dọc dựa vào đường kẻ bao quanh phần văn bản. Bạn có thể nhập vào các giá trị t, b và c để xác định việc sắp xếp bảng ở đầu, ở cuối hay ở giữa trang.
Trong môi trường tabular, lệnh & được dùng để ngăn cách các cột, lệnh \\ bắt đầu một hàng mới và lệnh \hline dùng để vẽ một hàng ngang. Bạn có thể thêm vào các đường kẻ nhỏ bằng các lệnh như \cline{j-i} với i và j là số cột mà đường kẻ đi qua.
1. Để giãn các dòng trong một bảng thì ta dùng lệnh
\renewcommand{\arraystretch}{1.2}
2. Để kẽ bảng ở nhiều trang thì ta dùng gói longtable
3. Để điều chỉnh khoảng cách dọc trong một cột thì ta dùng gói makecell.
Để căn lề và cố định độ rộng của cột trong bảng thì dùng gói array và khai báo 3 lệnh sau
\newcolumntype {L}[1] { >{\ raggedright\le t \newline\\\arraybackslash\hspace{0 pt } }m{ # 1}} \newcolumntype {C}[1] { >{\ centering\le t \newline\\\arraybackslash\hspace{0 pt } }m{ # 1}} \newcolumntype {R}[1] { >{\ raggedleft\le t \newline\\\arraybackslash\hspace{0 pt } }m{ # 1}}
4.18. Tính linh động trong cách trình bày
Ngày nay, đa số ấn phẩm đều chứa rất nhiều hình ảnh và biểu bảng. Đây là các thành phần cần được xử lý đặc biệt bởi vì chúng không được phép bị phân tách ra ở các trang khác nhau. Một trong những biện pháp khắc phục là bắt đầu một trang mới mỗi khi gặp phải hình minh hoạ hay biểu bảng quá lớn để có thể trình bày gọn trong một trang. Giải pháp này sẽ làm cho một số trang của tài liệu gần như là rỗng hay có rất ít nội dung làm cho bản in trở nên không đẹp.
Một giải pháp khác cho vấn đề này là cho phép hình minh hoạ hay biểu bảng không nằm gọn trong trang hiện tại nằm trong trang kế tiếp trong khi phần
Bảng 1.5. Các vị trí được phép.
nội dung của trang kế tiếp sẽ tiếp tục được trình bày trong trang hiện tại. LATEX cung cấp hai môi trường để thực hiện việc này, một dành cho các hình minh hoạ và một dành cho các biểu bảng. Để có thể sử dụng tốt hai môi trường trên, bạn cần hiểu được cơ chế làm việc bên trong của LATEX. Nếu bạn không nắm vững điều này thì đôi khi LATEX sẽ làm bạn thất vọng vì nó không bố trí biểu bảng hay hình minh hoạ đúng vị trí mà bạn mong muốn.
Trước tiên, ta hãy xem qua các lệnh được LATEX hỗ trợ để thực hiện các công việc này.
Tất cả các dữ liệu trong môi trường \figure hay \table đều được xem là dữ liệu linh động. Cả hai môi trường này đều hỗ trợ một số tuỳ chọn về vị trí sắp đặt chúng trong tài liệu
\begin{figure}[vị trí] hay \begin{table}[vị trí]
Tham số vị trí báo cho LATEX biết vị trí có thể trình bày nội dung. Tham số này được thiết lập bằng cách xây dựng một chuỗi định dạng từ các lệnh có sẵn.
Xem bảng 2.5 để biết thêm chi tiết.
Một biểu bảng có thể bắt đầu với hàng lệnh sau:
\begin{table}[!hbp]
Tham số vị trí [!hbp] cho yêu cầu LATEX đặt biểu bảng ngay tại vị trí hiện thời (h) hay trên một trang đặc biệt chỉ dành cho các dữ liệu linh động như biểu bảng này (p) hay ở cuối trang (b) thậm chí trong trường hợp nó trông không đẹp mắt (!). Việc bố trí theo mặc định sẽ là [tbp] .
LATEX sẽ đặt các biểu bảng hay hình minh hoạ theo các tham số do ta cung cấp. Khi mà biểu bảng hay hình minh họa không thể được hiển thị ngay, nó sẽ được đưa vào hàng đợi6. Khi một trang mới bắt đầu, LATEX kiểm tra hàng đợi vàcố gắng đưa biểu bảng hay hình minh hoạ phù hợp nhất vào. Nếu LATEX không thực hiện được thì biểu bảng hay hình minh hoạ trong hàng đợi ấy sẽ được xem như vừa mới xuất hiện trong văn bản7 (có nghĩa là nó sẽ bị đưa xuống cuối hàng đợi để chờ đợi được xử lý.) LATEX sẽ cố gắng để giữ đúng thứ tự xuất hiện của các biểu bảng và hình minh họa. Đây là lý do mà tại sao một hình minh hoạ hay biểu bảng bị đẩy xuống đến cuối tài liệu. Do đó:
Nếu LATEX không đặt các biểu bảng hay hình minh họa đúng vị trí bạn mong muốn thì lỗi gây ra là do một biểu bảng hay hình minh hoạ nào đó đã gây nghẽn hàng đợi.
LATEX cho phép việc định vị trí chỉ với một tham số nhưng điều này sẽ gây ra các vấn đề bởi vì nếu LATEX không thể đặt nó tại vị trí như yêu cầu thì nó sẽ gẫy nghẽn hàng đợi, ảnh hưởng đến các thành phần khác trong hàng đợi này. Cụ thể, bạn không nên sử dụng tham số [h] —tham số này hoạt động không tốt và do đó, trong các phiên bản gần đây của LATEX, tham số này tự động được thay đổi bởi tham số [ht] .
Chúng tôi đã giải thích cho các bạn về một số những khó khăn hay gặp; tuy nhiên, vẫn còn một số điều cần lưu ý khi sử dụng hai mội trường này. Lệnh \caption{tiêu đề} định tiêu đề cho biểu bảng hay hình minh hoạ.
Việc đánh số thứ tự vào chuỗi “Hình” hay “Bảng” sẽ được LATEX tự động thực hiện. Hai lệnh sau \listoffigures và \listoftables làm việc tương tự như lệnh \tableofcontents. Lệnh này cho phép xuất ra danh sách các hình ảnh minh hoạ hay biểu bảng. Các danh sách này sẽ hiển thị cả phần tựa đề. Do đó, nếu bạn đặt các tựa đề quá dài thì bạn nên cung cấp thêm một tựa đề tuỳ chọn ngắn hơn đề LATEX có thể thay thế nó vào trong danh sách. Để làm điều này, bạn chỉ cần đưa thêm tựa đề được thu gọn vào trong dấu ngoặc vuông.
\caption[Ng›n gọn] {Đây là một tựa đề dài ơi là dài…….}
Với các lệnh như \label và \ref, bạn có thể tham chiếu đến một biểu bảng hay một hình minh hoạ.
Trong một số tình huống thì bạn cần sử dụng lệnh sau
\clearpage hay là lệnh \cleardoublepage
nhằm yêu cầu LATEX phải xuất ra ngay tất cả các biểu bảng hay hình minh hoạ trong hàng đợi và bắt đầu một trang mới. Lệnh \cleardoublepage sẽ tạo thêm một trang mới bên phải.
Bạn sẽ học cách để đưa các hình ảnh POSTSCRIPT vào tài liệu được soạn bởi LATEX 2” ở phần sau.
4.19. Bảo vệ các lệnh “dễ vỡ”
Văn bản làm tham số cho các lệnh như \caption hay \section có thể xuất hiện nhiều lần trong tài liệu (trong phần mục lục cũng như trong phần nội dung văn bản). Một số lệnh sẽ gây ra lỗi khi được sử dụng làm tham số cho các lệnh giống như \section. Các lệnh này gọi là các lệnh “dễ vỡ”. Ví dụ như lệnh \footnote hay \phantom. Các lệnh “dễ vỡ”này cần phải được bảo vệ. Bạn có thể bảo vệ chúng bằng cách đặt lệnh \protect trước các lệnh này.
Lệnh \protect chỉ có hiệu lực đối với lệnh ngay bên phải của nó. Việc lạm dụng lệnh \protect cũng không gây ảnh hưởng gì.
\section{Tôi là một người ân cần
\protect\footnote{và bảo vệ phần chú thích cuối trang}}
Đọc tiếp: Một số vấn đề cơ bản về soạn thảo công thức toán trong Latex