VietTUG.org - old forum - threads' archive

thread_id = 4336, contains 4336, 4337, 4339, 4340, 4341, 4343, 4346
id = 4336, parent = 0, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = ngocthanh03, ip = 58.186.134.246, time = 2008/01/20 (1200771940) ,
subject = Caption cho hình và bảng, hits = 1174, karma = 0+0-,
Kính gửi các thầy các anh chị và các bạn
Em là sinh viên ở ĐH Bách Khoa thành phố HCM, em đang làm luận văn tốt nghiệp và em có ý định dùng Latex để thực hiện luận văn.
Em đã theo dõi diễn đàn viettug rất nhiều tuy nhiên do mới làm quen với Tex nên em còn gặp một số khó khăn
-Em đã làm được một số yêu cầu của trình bày luận văn ở trường em, tuy nhiên em vẫn còn một số vấn đề với caption của hình và bảng
Trường em qui định tên hình đặt dưới hình và canh giữa theo hình, in nghiêng, còn tên bảng đặt trên bảng và canh trái theo bảng, in đậm. Cả hai là cở 12.
Tuy nhiên em không thể nào làm đồng thời cả hai yêu cầu trên được.
Nếu em để mặc định thì cả hai loại caption đều canh giữa.
Để chỉnh canh trái thì em không biết cách nào hết,
em đã thử dùng cách này
%-----------------------------------------------------
\usepackage{caption}
\captionsetup[figure]{justification=centering}
\captionsetup[table]{justification=raggedright}
%-----------------------------------------------------

Tuy nhiên chúng không hề có tác dụng, cả hai loại caption vẫn canh giữa

Em tìm được một cách khác
%-------------------------------------------------------
\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\[email protected]@\hsize{\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
}
\makeatother

%---------------------------------------------------------


Tuy nhiên theo cách này thì cả hai lại bị canh trái theo lề trang giấy hết, em phải dùng thêm
minipage
để đưa cái khung vào sâu trong trang giấy như mong muốn còn hình thì em chịu

Em lại thử cách khác nữa
Em vẫn dùng đoạn code trên nhưng em thêm vào
\floatstyle{plain}
\newfloat{figure}{thp}{lop}
\floatname{figure}{Hình}


Kết quả là caption của hình đã canh giữa theo trang giấy, nếu caption ngắn thì nó đúng như vị trí em mong muốn nhưng nếu dài thì nó choáng hết cả trang, em lại lần nữa dùng
minipage
. Tuy nhiên cách này việc in nghiêng của tên bảng lại không có tác dụng mà còn làm in nghiêng phần văn bản phía sau tên hình của em.
Em set in đậm và in nghiêng như sau
%-------------------------------------
\renewcommand{\tablename}{\fontsize{12}{12} \fontseries{b} \fontfamily{ptm}\selectfont Bảng }
\renewcommand{\figurename}{\fontsize{12}{12} \fontshape{it} \fontfamily{ptm}\selectfont Hình}

\renewcommand{\floatname}{\fontsize{12}{12} \fontshape{it} \fontfamily{ptm}\selectfont Hình} %Mới thêm vô, nhưng lại gây sai lệch
%-------------------------------------------------


Mong thầy có thể chỉ giúp cho em, mấy hôm nay em mò mẫm mãi mà vẫn chưa thấy kết quả, xin lỗi thầy vì đã post nhầm chỗ và làm phiền thầy.

Em dùng Viettex và biên dịch với vnmiktex , cái TeXnicCenter em không dùng đuợc vì em không đánh được font unicode trong đó.

P/s Lúc nãy do chưa tìm ra cách post bài ở đây nên em đã post bài này sang forum của thầy Kỳ Anh, thầy đã chỉ em cách post bài ở đây nên em mới đem sang đây được.
 
id = 4337, parent = 4336, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = nhdien, ip = 203.160.1.54, time = 2008/01/20 (1200819566) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+-1-,
Nếu bạn có sách của tôi: LaTeX với gói lệnh và phần mềm công cụ
thì chương 6 nói chuyên về các loại bảng. Khi có nhiều đòi hỏi thì phải dùng 1 gói lệnh nào đó.
Có lẽ phải dùng môi trường supertabular thay cho tabular bình thường. Bạn dùng gói lệnh rồi thay môi trường, vì những môi trường này kế thừa các môi trường sẵn có.

chỉ nên thay
\renewcommand{\figurename}{ {\it Hình} }
\renewcommand{\tablename}{ {\it Bảng} }
nên có 2 lần ngoặc nhọn vì để không ảnh hưởng lệnh nghiêng ra ngoài
 
id = 4339, parent = 4337, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = ngocthanh03, ip = 58.186.134.246, time = 2008/01/20 (1200823241) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+0-,
Em xin cảm ơn thầy đã chỉ dẫn.
1-Em đã thử môi trường supertabular và thấy cũng không được như ý muốn
-Tối hôm qua em đã mò ra được một cách thủ công để làm được những vấn đề trên, em đặt caption của table trong một minipage, rồi chỉnh vị trí minipage bằng lệnh \hspace{}, như vậy em đã cho được caption canh đúng vị trí mong muốn, nhưng cách này thủ công quá .

2-Cũng vấn đề này em xin hỏi các thầy có biến nào để xác định bề rộng, bề cao của hìnhbảng không ạ. Em định chỉnh caption của hình chỉ có độ dài đúng bằng một độ dài mong muốn bằng cách dùng minipage, tuy nhiên nếu có một biến nào xác định độ dài của hình tựa như biến linewidth thì em có thể cho bề rộng minipage hài hoà với hình hơn.
3-Một câu hỏi khác không liên quan ở đây
Nếu bắt đầu một chương mới em dùng lệnh
\chapter{Tên chương}

Thì kết quả em sẽ có chữ Chương nằm ở một hàng và Tên chương nằm ở hàng phía dưới. Có cách nào để chỉnh cho chữ "Chương" và chữ "Tên chương" nằm cùng một hàng không ạ.
Em đã gùng gói titlesec để điều chỉnh được "Chương" và "Tên chương " theo như các vị trí và định dạng như ví dụ trong đó, tuy nhiên để cả hai nằm trên cùng một hàng thì em chịu thua. Cái qui định của trường em lại là cả hai cùng tên một hàng như thế mới thật khổ.


P/s Thưa thầy Điển, ở các nhà sách thành phố HCM em chưa tìm được quyển sách cuả thầy, hiện giờ em học Tex bằng google. Em còn mấy tháng nữa để làm luận văn nên sẽ còn hỏi các thầy và anh chị nhiều điều nữa.
 
id = 4341, parent = 4339, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = viettug, ip = 123.19.110.34, time = 2008/01/20 (1200824030) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+0-,
ngocthanh03:
Em đã gùng gói titlesec để điều chỉnh được "Chương" và "Tên chương " theo như các vị trí và định dạng như ví dụ trong đó, tuy nhiên để cả hai nằm trên cùng một hàng thì em chịu thua. Cái qui định của trường em lại là cả hai cùng tên một hàng như thế mới thật khổ.

P/s Thưa thầy Điển, ở các nhà sách thành phố HCM em chưa tìm được quyển sách cuả thầy, hiện giờ em học Tex bằng google. Em còn mấy tháng nữa để làm luận văn nên sẽ còn hỏi các thầy và anh chị nhiều điều nữa.
từ từ một xíu. gói titlesec thỏa mãn mọi nhu cầu của bạn. chỉ cần mô tả kỹ một xíu. còn về latex book, moi thứ bạn cần nằm trong cuốn này wiki:LC (english, djvu format, free download. Bạn cũng thể tải cuốn này ở http://gigapedia.org/
 
id = 4340, parent = 4336, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = viettug, ip = 123.19.110.34, time = 2008/01/20 (1200823842) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+0-,
HI ngocthanh03, below thing you need
\documentclass[12pt, oneside, a4paper]{report}

\usepackage{caption}
\usepackage[utf8]{vietnam}

\captionsetup[figure]{font={it},singlelinecheck=true}
\captionsetup[table]{%
   font={bf},position=top,
   singlelinecheck=false,
   justification=raggedright,
   position=top,
   aboveskip=5pt}

\def\figurename{Hình}
\def\tablename{Bảng}

\begin{document}

\begin{figure}
\begin{center}
   YOU CONTENTS
\end{center}
\caption{test}
\end{figure}

\begin{table}
\caption{test}
\begin{center}
   YOUR CONTENTS
\end{center}
\end{table}

\end{document}
 
id = 4343, parent = 4340, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = ngocthanh03, ip = 58.186.134.246, time = 2008/01/20 (1200825175) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+0-,
Cám ơn Viettug, đoạn code đó đã hoạt động đuợc rồi, em xin cảm ơn.

Vấn đề còn lại của em cũng nhiều nhưng chỉ có cái Tên chương và chữ Chương là đang khó nhất thôi. Nhưng thế này thì em đã an tâm làm luận văn tốt nghiệp đại học bằng Tex rồi.
 
id = 4346, parent = 4343, thread = 4336, catid = 5, locked = 0, moved = 0,
userid = viettug, ip = 123.19.110.34, time = 2008/01/21 (1200856866) ,
subject = Re:Caption cho hình và bảng, hits = 0, karma = 0+0-,
các vấn đề bạn đưa ra từ từ các thành viên sẽ giúp bạn tìm cách trả lời. hãy tập trung lo phần nội dung!

chúc bạn làm luận văn tốt nhé.