8-ma’ruza Hujjatdagi ob'ektlar bilan ishlash



Yüklə 72 Kb.
səhifə1/2
tarix28.11.2023
ölçüsü72 Kb.
#134628
  1   2
8-маъруза 2


8-ma’ruza
Hujjatdagi ob'ektlar bilan ishlash
Reja:
1. Shakl sarlavhasini ro'yxatdan o'tkazish
2. Suzuvchi obektlarni sahifaga joylashtirish
\ Caption buyrug'i bilan yaratilgan rasm (yoki jadval) ostidagi yozuv ko'rinishini qanday o'zgartirish mumkinligini muhokama qilaylik.
Vertikal o'tish joylari imzo yuqorida va pastda berilgan. Ularning o'lchamlari uzunlikda (kengaytiriladigan) \ abovecaptionskip (sarlavha ustiga to'ldirish) va \ belowcaptionskip (sarlavha ostida) parametrlarda saqlanadi. Standartda sarlavha ustidagi plomba 10pt (kengaytirilishi yoki siqilishi mumkin emas), sarlavha ostida esa nolga teng.
Imzo dizaynini o'zgartirish uchun siz \ @makecaption buyrug'ini bekor qilishingiz kerak; bu erda uning moslashtirilgan shakldagi standart ta'rifi (parametr # 1 - bu sarlavhali rasm yoki jadvalning raqami, ya'ni \ thefigure yoki \ thetable buyrug'ining qiymati; parametr # 2 - bu sarlavha matni):
\newcommand{\@makecaption}[2]{%
\vspace{\abovecaptionskip}%
\sbox{\@tempboxa}{#1: #2}
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global\@minipagefalse
\hbox to \hsize {\hfil #1: #2\hfil}%
\fi
\vspace{\belowcaptionskip}}

Keling, ushbu kodni tahlil qilaylik. Ikkinchi va oxirgi qatorlarda plomba imzo atrofida, yuqorida aytib o'tilganidek amalga oshiriladi. Uchinchi satrda blok o'zgaruvchisi \ @tempboxa (ushbu o'zgaruvchini LATEX tomonidan ushbu turdagi ma'lumotlarni vaqtincha saqlash uchun foydalaniladi) imzo matni bilan birga raqam bilan birga yoziladi (hozircha, bitta satrda; bu matn hali chop etilmaganligi sababli, biz ahamiyat bermaymiz, agar u tarmoqli kengligidan uzunroq bo'lsa). Keyingi olti qatorda (biz ko'rib chiqmagan " условных макросов " ning TEX konstruktsiyasi yordamida) imzo uzunligi matnning kengligi bilan taqqoslanadi (u TEX parametri bilan belgilanadi \ hsize: bitta ustunli to'plam bilan, bu \ textwidth bilan bir xil va bir nechta ustunlar bilan - \ columnwidth). Agar raqam bilan birga imzo satrdan uzunroq bo'lsa, u abzats sifatida bosiladi (\ ifdim va \ else orasidagi kodning bir qismi), agar uzoq bo'lmasa, u markazlashtiriladi (\ else va \ fi orasidagi kodning bir qismi). 7-satrdagi kodni aniq qabul qiling.


Ushbu ta'rifda nimani o'zgartirish mumkin? # 1 raqam, va # 2 imzo matni bo'lganligi sababli, raqam imzodan ikki nuqta bilan ajratilganligini ko'rish oson, bu rus matbaa an'analariga mos kelmaydi. Bu erda yo'g'on ichakni nuqta bilan almashtirish maqsadga muvofiqdir. Bundan tashqari, siz imzoni chop etish uchun ishlatiladigan shriftni o'zgartirishingiz mumkin. Shuni unutmangki, qayta belgilashda siz shriftni o'zgartirish buyruqlarini uchta joyga kiritishingiz kerak bo'ladi (qaerda №1: # 2 asl ta'rifda bo'lsa): va "o'lchov o'lchami" qatorida \ sbox dan boshlang (shriftni o'zgartirgandan boshlab, o'lcham ham bo'lishi mumkin) o'zgartirish) va ikkala bosma variantda ham. Nihoyat, siz yorliqlarni hech qachon markazlashtirmaslik to'g'risida qaror qabul qilishingiz mumkin (bu qanchalik to'g'ri ekanligini bilmayman); \ @makecaption ning o'zgartirilgan ta'rifida \ ifdim, \ else va \ fi bilan boshlangan satrlarni, shuningdek, \ else va \ fi orasidagi matnlarni olib tashlashingiz kerak (va ehtimol sizning sevimli abzatsingizni joylashtirish variantlarini o'rnatishingiz mumkin). Boshqa echimlar ham mumkin. Qanday bo'lmasin, esda tutingki, \ ifdim va \ else orasidagi matn satrdagi raqam bilan imzo to'g'ri kelmasa va \ else va \ fi orasidagi matn teskari bo'lsa, bu ishni anglatadi.
Va oxirgi narsa: siz, albatta, \ @makecaption buyrug'ini \ renewcommand bilan bekor qilasiz; Shuni yodda tutingki, bu holda siz \ Renewcommand parametrini yulduzchasiz ishlatishingiz kerak, chunki ushbu buyruqning ikkinchi argumenti (imzo matni) bir nechta xatboshilardan iborat bo'lishi mumkin.

Yüklə 72 Kb.

Dostları ilə paylaş:
  1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə