Khác biệt giữa bản sửa đổi của “Trợ giúp:Nhúng chéo”

Nội dung được xóa Nội dung được thêm vào
Dòng 59:
Có lúc bạn sẽ không muốn nhúng toàn bộ trang sách vào không gian chính, ví dụ như [[Trang:Tieu lam an nam 1.pdf/8]]. Khi hai chương hoặc hai phần tách biệt một cách lôgíc nằm trên cùng một trang sách, thay vì nhúng toàn bộ trang, bạn sẽ cần một cách khác để chỉ nhúng một phần thích hợp của trang vào không gian chính. Trang ví dụ vừa rồi sẽ được nhúng thành [[Tiếu lâm An Nam/2]]. Công cụ để làm điều này là [[:mw:Extension:Labeled Section Transclusion|Labeled Section Transclusion]] (LST - nhúng chéo phần được dán nhãn). Một dạng từ khóa "mỏ neo" sẽ được dùng để đánh dấu nơi ngắt đoạn trong không gian tên ''Trang:''. Bằng cách chỉ rõ các mỏ neo này khi nhúng, sẽ chỉ có những phần phù hợp được nhúng thay vì toàn bộ trang.
 
<!--===Gắn nhãn cho từng phần===
Để đánh dấu ngắt phần trong bản quét (không gian tên ''Trang:''), chèn cú pháp sau vào phần văn bản đã được gõ và hiệu đính vào đầu mỗi đoạn mới<ref>This syntaxpháp usesnày thedùng tiện ích [[H:EASYLST|EasyLST]] gadgetđể tođơn simplifygiản thehóa syntaxcú pháp. ThisTiện ích gadgetnày isđược enabledbật bymặc defaultđịnh.</ref>:
 
<code><nowiki>## labelnhãn ##</nowiki></code>
 
AlternativelyCách youthứ canhai use startdùng các nhãn bắt đầu <code>&lt;section begin="labelnhãn" /></code> and endkết thúc <code>&lt;section end="labelnhãn" /></code> labelsở vị attrí theđầu respective placescuối introng thevăn textbản.
 
'''NoteChú ý''':
* SectionTên tagsnhãn arenên recommendedđược tođể bevào wrappedtrong incặp quotesdấu nháy kép <code>"labelnhãn"</code> tođể tránh avoidnhầm ambiguitylẫn.
* Tuy bạn có thể đặt bất cứ tên gì cho nhãn, bạn nên dùng tên nhãn có ý nghĩa phù hợp với ngữ cảnh.
* These are just free text labels, however, making labels contextual to the page can have advantages.
* Chỉ nên dùng ký tự và chữ số cho tên nhãn, các ký tự đặc biệt khác có thể tạo ra lỗi khi nhúng chéo.
* Use of letters and numbers is usually a recommendation, and other extended characters may cause some issues when transcluding.
* Mỗi phần cần có tên nhãn riêng, để có thể dễ dàng tách ra về sau.
* Labels need to be unique for relevant sections on a page, so that the targeted section can be extracted.
* IfNếu youbạn aredùng usingthẻ đánh dấu bài thơ <code><poem></code> markers, pleasexin makenhớ suremở to openđóng and close themchúng ''insidebên trong'' thethẻ sectionssection, ornếu elsekhông, sectionnội dung sẽ không hiển transcludingthị willđúng notkhi worknhúng properlychéo.
 
===Nhúng vào không gian chính===
-->
Để đánh dấu các phần trong không gian "Trang:", chèn cú pháp sau vào văn bản cần hiệu đính để dán nhãn vào cuối Phần I và đầu Phần II (cả hai đều trên cùng một trang):
*<code><nowiki><section begin=nhãn cho phần I />
Đoạn văn của phần I
<section end=nhãn cho phần I /></nowiki></code>
*<code><nowiki><section begin=nhãn cho phần II />
Đoạn văn của phần II
<section end=nhãn cho phần II /></nowiki></code>
 
==== Khi một phần kết thúc ở giữa trang sách ====
Đơn giản hơn, có thể đánh dấu bằng cách thêm cú pháp sau tại chỗ bắt đầu của mỗi phần:
Bạn cần thêm một tham số nữa, {{parameter|tosection}}, trong <nowiki><pages></nowiki> để ra dấu ngừng nhúng chéo tại một điểm neo. Cú pháp như sau:
*<code><nowiki>## nhãn cho phần được đánh dấu ##</nowiki></code>
 
<code><nowiki><pages index="tên tập tin.djvu" from=x to=y tosection="nhãn" /></nowiki></code>
Để thực hiện điều này, bản mẫu {{tl|Trang}} được sử dụng như sau, thay thế "'''djvu'''" bằng tên tập tin djvu và "'''#'''" bằng số trang của văn bản cần hiển thị:
"tên tập tin.djvu"
*<code><nowiki>{{Trang|djvu/#|phần=nhãn cho phần I}}</nowiki></code>
*<code><nowiki>{{Trang|djvu/#|phần=nhãn cho phần II}}</nowiki></code>
 
Bạn cũng có thể dùng thẻ <pages> để nhúng chéo một phần trang như sau:
*<code>&#60;pages index="tên tập tin.djvu" from="20" to="20" onlysection="sectionA" /&#62;</code>
::::(Trong trường hợp này, ''phạm vi trang'' chỉ bao gồm một trang duy nhất là ''trang 20'')
:*'''onlysection''' là tên nhãn được gán cho các thẻ section có chứa nội dung muốn nhúng chéo.
 
:*<code>tên tập tin.djvu</code> sẽ được thay bằng tên của Mục lục mà bạn muốn nhúng.
Ngoài ra có thể dùng định dạng sau, thay thế "bài viết" bằng tên bài viết (không bao gồm không gian tên):
:*Thay chữ số sau dấu suyệt (/) trong tập tin của trang đầu tiên mà bạn muốn nhúng vào vị trí {{mã|x}}.
*<code><nowiki>{{#section:Trang:bài viết|nhãn cho phần I}}</nowiki></code>
:*Thay chữ số sau dấu suyệt (/) trong tập tin của trang cuối cùng mà bạn muốn nhúng vào vị trí {{mã|y}}.
*<code><nowiki>{{#section:Trang:bài viết|nhãn cho phần II}}</nowiki></code>
:*<code>nhãn</code> được thay thế bằng tên điểm neo mà bạn đã chèn vào trang sách.
 
{{ví dụ minh họa|
===Kết hợp nhúng chéo nhiều trang và nhúng chéo một phần trang===
Để hiển thị nội dung nhúng giống như tại [[Giọt máu chung tình/Hồi thứ nhứt]] bạn cần phải gõ:
Để thêm nhiều trang, trong đó trang đầu tiên và/hoặc trang cuối cùng có thể cần nhúng chéo một phần, mã nguồn cho phép các tham số bổ sung để dùng với <nowiki><pages></nowiki>. Các tham số này là tùy chọn.
* <code><nowiki><pages index="tên tập tin.djvu" from=20 to=40 fromsection="choice A" tosection="choice B" /></nowiki></code>
 
<code><nowiki><pages index="Giot Mau Chung Tinh - Cuon 1.pdf" from=7 to=10 tosection="hoi1" /></nowiki></code>
===Các tham số bổ sung===
}}
* '''step=''' (kết hợp với '''from='''/'''to=''' hoặc '''include=''' hoặc '''exclude='''): thể hiện công sai của các trang được nhúng chéo theo một cấp số cộng. Ví dụ: <code><nowiki><pages index="tên tập tin.djvu" from=1 to=10 step="2" /></nowiki></code> hiển thị các trang 1, 3, 5, 7 và 9.
* '''include=''': thể hiện danh sách các trang được nhúng chéo. Ví dụ: <code><nowiki><pages index="tên tập tin.djvu" include="2-5,9" /></nowiki></code> hiển thị các trang 2, 3, 4, 5 và 9.
* '''exclude=''': thể hiện danh sách các trang bị loại bỏ khi nhúng chéo. Ví dụ: <code><nowiki><pages index="tên tập tin.djvu" from=1 to=10 exclude="2-5,9" /></nowiki></code> hiển thị các trang 1, 6, 7, 8 và 10.
 
==== Khi một phần bắt đầu ở giữa trang sách ====
Có thể kết hợp nhiều tham số với nhau, ví dụ <code><nowiki><pages index="tên tập tin.djvu" from=1 to=10 include="31" exclude="2-4" step="2" /></nowiki></code> hiển thị các trang 1, 5, 7, 9 và 31.
 
Để bắt đầu trang đầu tiên của một chương hay một phần mới tại điểm neo, bạn cần tham số {{parameter|fromsection}}. Như sau:
===Trang nhúng chéo hình ảnh===
Phương pháp được ưa thích để thay thế một bức tranh hoặc hình ảnh khác trong không gian trang chính là tải hình ảnh đã được cắt lên Wikimedia Commons như một hình ảnh riêng biệt, ví dụ như một tập tin png hoặc jpeg.
*<code><nowiki>[[File:5-lien son.png|thumb|giữa|500px|{{g|Cống lấy nước ở Liên-sơn (Trông mặt hậu).}}]]</nowiki></code>
Có một cách tạm thời để hiển thị hình ảnh. Để hiển thị hình ảnh trong một trang của tập tin DjVu/pdf như tại [[Trang:Xu Bac ky ngay nay.pdf/85]], dùng:
*<code><nowiki>{{hình thô|Xu Bac ky ngay nay.pdf/85}}</nowiki></code>
 
<code><nowiki><pages index="tên tập tin.djvu" from=x to=y fromsection="nhãn" /></nowiki></code>
 
{{ví dụ minh họa|
Để hiển thị nội dung nhúng giống như tại [[Gia Long tẩu quốc/Hồi thứ mười một]] bạn cần phải gõ:
 
<code><nowiki><pages index="Tân Dân Tử, Gia Long Tẩu Quốc, Quyển 2.pdf" from=61 to=73 tosection="hoi11" /></nowiki></code>
}}
 
==== Khi một phần bắt đầu lẫn kết thúc ở giữa trang sách ====
 
Nếu một phần bắt đầu ở giữa trang này và kết thúc ở giữa một trang khác, thì bạn cần phải dùng cả hai tham số {{parameter|fromsection}} và {{parameter|tosection}}:
 
<code><nowiki><pages index="tên tập tin.djvu" from=x to=y fromsection="nhãn" tosection="nhãn"/></nowiki></code>
 
Lưu ý, tên nhãn "fromsection" và "tosection" không nhất thiết phải giống nhau. Giống nhau thì dễ quản lý hơn, nhưng điều đó không bắt buộc.
 
{{ví dụ minh họa|
Để hiển thị chỉ Mục số 22 tại "[[Cổ nhân đàm luận/22]]":
 
<code><nowiki><pages index="Conhandamluan.pdf" from=17 to=18 fromsection="muc22" tosection="muc22" /></nowiki></code>
}}
 
==== Khi một phần bắt đầu và kết thúc trong cùng một trang sách ====
 
Để nhúng chỉ một phần duy nhất nằm trọn trong một trang sách, bạn có thể dùng tham số {{parameter|include}} và {{parameter|onlysection}}:
 
<code><nowiki><pages index="tên tập tin.djvu" include=X onlysection="nhãn" /></nowiki></code>
 
{{ví dụ minh họa|
Để nhúng truyện ''Sóc-thiên-vương'' trong [[Trang:Nam Hai di nhan liet truyen.pdf/113]], dùng cú pháp sau:
 
<code><nowiki><pages index="Nam Hai di nhan liet truyen.pdf" include=113 onlysection="stv" /></nowiki></code>
}}
 
==Nhúng chéo mà không dùng thẻ <code>pages</code> ==
 
Cách dùng thẻ <code><nowiki><pages .../></nowiki></code> như trình bày ở trên nên luôn được ưu tiên sử dụng. Tuy nhiên, thẻ này không thể dùng được trong các trang ở không gian tên Trang: hay Mục lục:. Tại các trang như vậy, bạn có thể dùng trực tiếp [[:mw:Extension:Labeled Section Transclusion|Nhúng chéo phần được dán nhãn]] để nhúng chéo một đoạn:
 
Khi đó, cú pháp sẽ dùng là:
*<code><nowiki>{{#section:TựaTrang|đoạnA}}</nowiki></code>
:*<code>TựaTrang</code> thay bằng trang bạn muốn nhúng từ đó (có cả không gian tên <code>Trang:</code> và hậu tố số trang <code>/số</code> nếu cần)
:*<code>đoạnA</code> là phân đoạn mà muốn nhúng vào.
 
<div class="mw-collapsible mw-collapsed">
'''Cách lỗi thời dùng {{tl|Trang}}'''
<div class="mw-collapsible-content">
Một cách khác, đã cũ và không còn được khuyên dùng, là bản mẫu {{tl|trang}}. Bạn sẽ thỉnh thoảng thấy nó tại Wikisource khi bạn xem các văn kiện đăng lên từ lâu, nhưng hiện nay đã không còn được sử dụng.
 
Dùng bản mẫu {{tl|Trang}} như sau, thay <code>djvu</code> bằng tên tập tin quét và <code>#</code> bằng số trang:
*<code><nowiki>{{Trang|djvu/#|phần=nhãnA}}</nowiki></code>
</div>
</div>
 
===Cách để đặt hình ảnh chung với văn bản nhúng===
Phương pháp được ưu tiên để đặt một hình ảnh vào không gian trang chính là tải hình ảnh đã được cắt lên Wikimedia Commons làm một hình ảnh riêng biệt, ví dụ như thành một tập tin png hoặc jpeg.
*<code><nowiki>[[File:5-lien son.png|thumb|giữa|500px|{{g|Cống lấy nước ở Liên-sơn (Trông mặt hậu).}}]]</nowiki></code>
Trang hình ảnh cũng có thể được hiển thị trong không gian Wikisource của cuốn sách như ở [[:en:Personal Recollections of Joan of Arc/Book I/Chapter 2|Personal Recollections of Joan of Arc/Book I/Chapter 2]], dùng:
*<code><nowiki>[[ImageFile:Personal_Recollections_of_Joan_of_Arc.djvu|page=27|right|thumbnail|200px|THE FAIRY TREE]]</nowiki></code>
 
==Cách dùng nâng cao==
Nhúng trang còn phục vụ cho mục đích trình bày nội dung văn kiện theo một cách khác mà không phải mất công hiệu đính và phê chuẩn lần thứ hai. [[Bình Ngô đại cáo (Trần Trọng Kim dịch)]] là tác phẩm dịch riêng rẽ. Trong khi đó, [[Việt Nam sử lược/Quyển I/Phần III/Chương XIV]] cũng chứa đúng bản dịch đó nhưng được đặt trong một Chương của một cuốn sách, cùng với những phần khác về bối cảnh và liên kết đến chương trước và chương sau của cuốn sách. Trên thực tế, tại Wikisource, đôi khi không nhất thiết phải tách các tác phẩm riêng rẽ trong một tuyển tập thành các trang riêng, cũng như không cần phải chia một bài luận thành nhiều trang nhỏ để tương ứng với cách in trong tạp chí mà nó xuất hiện. Tuy vậy, cả hai cách làm này đều khả dĩ về mặt kỹ thuật, vì chỉ cần nhúng cùng một văn kiện đã phê chuẩn bằng nhiều cách khác nhau. Nguyên tắc chung tại Wikisource là người biên tập có quyền lựa chọn cách nhúng chéo mà mình cảm thấy phù hợp nhất.
 
===Dùng hàm <nowiki><pages/></nowiki>===
Với đa số các trường hợp, thẻ <nowiki><pages/></nowiki> là cách tốt nhất để nhúng chéo. Nó chỉ bắt buộc phải có một tham số, là '''index='''. Nếu không có trường này, sẽ không có gì xảy ra cả. Cách dùng chính xác như sau: <code><nowiki><pages index="tên tập tin.djvu"/></nowiki></code> trong đó tên ''tên tập tin.djvu'' là nơi để thay vào tên tập tin mà bạn đang hiệu đính.
 
Nếu trang cần nhúng sẽ được đặt trong một thẻ khác, ví dụ như cặp <code><nowiki><ref></ref></nowiki></code>, hãy dùng [[mw:Help:Magic words|Từ thần chú]] <code>#tag:pages</code>, với các tham số phù hợp được chuyển qua tương ứng. Các tham số sẽ có cùng giá trị và tác dụng.
 
Hãy thử với một tập tin thật sự: Chép
<blockquote><code><nowiki><pages index="Thề non nước.pdf"/></nowiki></code></blockquote>
vào [https://vi.wikisource.org/w/index.php?title=Trợ_giúp:Nhúng_chéo/chỗ_thử&action=edit tại đây] và lưu trang. Có một cách khác để viết cú pháp mà vẫn cho ra cùng kết quả. Hãy thử <code><nowiki><pages index=Thề_non_nước.pdf/></nowiki></code>. Cùng kết quả. Điểm mấu chốt ở đây là <code><nowiki><pages index=Thề non nước.pdf/></nowiki></code> sẽ không hoạt động. Nếu bạn có khoảng trắng trong tên trường, bạn phải đặt nó trong cặp dấu nháy kép ("), nếu không nó sẽ không hoạt động.
 
Tuy lúc nào bạn cũng phải có trường '''index=''', nếu bạn không cung cấp thêm tham số nào khác, cú pháp này sẽ chỉ nhúng mục lục của trang mà thôi. Bất cứ khi nào bạn thêm một vài tham số tùy chọn, các tham số đó đều sẽ ảnh hưởng lên index. Một số tham số tùy chọn phải đi cùng nhau thì mới có tác dụng. Những con số dùng trong các trường đó chính là số trang giấy nằm phía sau dấu / trong không gian tên ''Trang:''. Các tham số tùy chọn gồm có:
 
* '''include=''' để chỉ ra trang nào sẽ được nhúng chéo
*'''from=''' (''kèm với '''to=''''') để chỉ ra số thứ tự của trang đầu tiên được nhúng
*'''to=''' (''kèm với '''from=''''') để chi ra số thứ tự của trang cuối cùng được nhúng
*'''fromsection=''' (''kèm với '''from='''/'''to=''' hoặc '''include=''' hoặc '''exclude=''' '') để chỉ ra điểm neo khởi đầu của phần cần nhúng tại trang đầu tiên
*'''tosection=''' (''kèm với '''from='''/'''to=''' hoặc '''include=''' hoặc '''exclude=''''') để chỉ ra điểm neo cuối cùng của phần cần nhúng tại trang cuối
*'''onlysection=''' (''kèm với '''from='''/'''to=''' hoặc '''include=''' hoặc '''exclude=''''') để chỉ ra điểm neo dùng để đánh dấu phần riêng rẽ để nhúng
* '''step=''' (''kèm với '''from='''/'''to=''' hoặc '''include=''' hoặc '''exclude=''''') để chỉ ra số giãn cách giữa các trang muốn nhúng.
:Nhúng các trang cách nhau n trang. Ví dụ : <nowiki><pages from=1 to=10 step="2" /></nowiki> sẽ nhúng các trang số 1, 3, 5, 7 và 9.
* '''include'''
:Nhúng các trang sau. Tham số cho phép nhúng các trang tùy ý. Ví dụ: <nowiki><pages include="2-5,9" /></nowiki> sẽ nhúng các trang 2, 3, 4, 5 và 9.
* '''exclude'''
:Không nhúng các trang sau. Ví dụ : <nowiki><pages from=1 to=10 exclude="2-5,9" /></nowiki> sẽ nhúng các trang 1, 6, 7, 8 và 10.
 
Dĩ nhiên, bạn có thể dùng toàn bộ thuộc tính trong cùng một thẻ. Ví dụ <nowiki><pages from=1 to=10 include="31" exclude="2-4" step="2" /></nowiki> sẽ nhúng các trang 1, 5, 7, 9 và 31.
 
'''Lưu ý''': Kinh nghiệm cho thấy nên đặt nội dung trong thẻ &lt;pages> trong cặp dấu nháy. {{sc|Đừng bao giờ}} để một trường trống mà không có dấu nháy bên trong thẻ, do đó hãy đóng nháy trường trống (""), hoặc bỏ các tham số không cần thiết đi.
 
=== Những điều cần xem xét đối với nội dung nhúng ===
Một số mã định dạng (như cú pháp Bảng biểu) phải luôn cân đối bên trong phần Thân của trang cần nhúng. Nó có nghĩa là các mã định dạng này phải hoặc là được chứa hoàn toàn bên trong phần thân trang sách hoặc dùng một trong những cách được hướng dẫn tại [[Trợ giúp:Ngắt trang]].