Пропускане към основното съдържание

Изготвяне на библиография с електронна таблица


page5.png

Една от най-досадните, а често и подценявани, задачи при създаването на научен труд е изготвяне на библиографска справка.
Един от начините за съхраняване на периодичния печат от минали години е заснемането му. Принципът е да се заснеме главата на вестника, страницата в общ план и след това да се направят детайлни снимки на интересуващата ни статия. След което, разбира се, тя трябва да се опише. За целта използваме електронна таблица (в случая LibreOffice Calc), което много ни помага при въвеждането на еднакви текстове и най-важното - сортирането е многократно облегчено. Принципът на работа е същият и при друга електронна таблица, напр. от пакетите OpenOffice или MS Office.
Изискванията, които ни бяха поставени, са:
  1. Отделните статии да са подредени низходящо по фамилното име на автора; при повече от един автор само първият е с „обърнато“ изписване, а останалите - с традиционно;
  2. Статиите без посочен автор влизат в общия списък, а не в отделна секция с „нулев“ автор; в този случай първата дума от заглавието се изписва изцяло с главни букви;
  3. Източниците да бъдат посочени, доколкото е възможно, с име, дата и страница;
  4. Да бъдат указан при възможност предмета на статията или ключови лица;
  5. Да бъдат посочени снимките, които отговарят на статията.
Използваните колони в таблицата са следните:
А: автор, собствено име; ако авторът е посочен с три имена, тук се записват собствено и бащино, напр. Мартин Т.; ако авторите са повече от един, тук се записва собственото име на първия автор, а след него - останалите с традиционно изписване, напр. Иван, Петър  Петров, Стоян Стоянов.
B: автор, фамилно име; ако авторите са повече от един, тук се записва фамилното име на първия автор; ако статията е редакционна, тук се въвежда съответния текст, напр. „Дума прес“ (без кавичките).
Понякога името на автора не може да бъде еднозначно разчетено и тогава се въвежда само частта, за която сме сигурни. Реално вместо колони A и B може да се използва само една, но практиката показва, че в този случай изписването е по-трудно и възможностите за грешки - повече.
C: статия, заглавие.
D: статия, подзаглавие, ако съществува.
E: име на изданието.
F: брой на изданието, ако може да бъде разчетен.
G: страница, на която се намира статията, ако може да бъде разчетена.
H: дата на броя, ако може да бъде разчетена.
В много от случаите поради лошо съхранение, неправилно обрязване при подвързване и ред други причини броят, датата и страницата не могат да бъдат еднозначно определени.
I: забележка, в която при възможност записваме ключови събития или лица, разглеждани в статията.
J: снимки на материала; могат да бъдат три (глава, страница и статия) или повече.
K: жанр или насоченост, за по-лесно сортиране или отделяне на отделни библиографски справки по направления, напр. музикално-сценични изкуства: опера, оперета, балет и мюзикъл.
Следващите колони са помощни, броят им може да бъде редуциран, но писането на формули и отстраняването на евентуални грешки значително се затруднява.
L: автор(и) на статията

=IF(ISBLANK(B1);"";B1&IF(ISBLANK(A1);"";", "&A1))

Извършва се проверка с функцията isblank() дали съществува фамилия на автора, а след това, ако съществува, името (имената).
M: заглавие и подзаглавие, ако съществува, на статията

=C1&IF(ISBLANK(D1);"";". "&D1)

Извършва се проверка за съществуващо подзаглавие, като при наличието му заглавието и подзаглавието се отделят с точка и интервал.
N: издание, номер, дата и страница, на която се намира статията

=E1&IF(ISBLANK(F1);"";", № "&F1)&IF(ISBLANK(H1);"";", "&TEXT(H1;"dd mmm yyyy"))&IF(ISBLANK(G1);"";", с. "&G1)

Прави се съответната проверка за въведени номер на броя, дата и страница, като с функцията text() се извършва преобразуване на вътрешното представяне на датата в текстови низ с избрания формат, напр. 03 авг 1990.
O: съответният запис в „събран“ вид

=IF(LEN(L1)=0;IFERROR(UPPER(LEFT(M1;FIND(" ";M1;1)))&RIGHT(M1;LEN(M1)-FIND(" ";M1;1));UPPER(M1));L1&". "&M1)&IF(LEN(I1)=0;"";" /"&I1&"/")&" - "&N1&". /"&J1&"/"

Извършваме проверка дали статията има автор (клетка L1). Тук не използваме isblank(), а len(), защото в предишните стъпки сме въвели при липса на автори празен стринг (“”), който за isblank() е съдържание и резултатът от функцията не ни удовлетворява. Ако не съществува автор първата дума на заглавието на статията изписваме с главни букви, като използваме за целта функцията upper(). Думата определяме, като с find() намираме позицията на първият интервал в името. Частта наляво от него повдигаме в горен регистър, а тази вдясно добавяме без изменение. Ако заглавието е само от една дума find() ще върне грешка #VALUE, тъй като не може да намери интервал в низа. Затова в този случай с iferror() задаваме цялото съдържание на клетка M1 да бъде в горен регистър.
P: помощна колона за нуждите на сортирането

=IF(LEFT(O1;1)="„";RIGHT(O1;LEN(O1)-1);O1)

Ако не използваме тази колона текстът, който започва с отваряща кавичка („) ще „изплува“ най-отгоре и ще наруши правилото за подредба по азбучен ред на същинския текст. Затова проверяваме дали първият символ е отваряща кавичка и ако е, го премахваме от текста. Проблем може да бъде използването на различни видове кавички („, “, «) в текста, като в този случай във формулата трябва да се предвиди тест и за тях.


Сега остава единствено да се копира колона О като неформатиран списък в любимия ни текстови редактор и евентуално да се форматира като списък.

Коментари

Популярни публикации от този блог

Проектиране на кемпер с VehiPlan

Оливер Колонж (Oliver Collonge) написва през 2011 г. втора версия на безплатната програма за дизайн на кемпери VehiPlan . Според автора тя е писана и трябва да работи под Windows 2000/Vista. Пробите показват, че работи нормално и под Windows 7 и 10. След като свалите архива (zip) можете да го разархивирате в C:\Windows\Program Files (x86)\. Програмата е с френски интерфейс и затова са необходими още няколко файла - vb6fr.dll , comdlg32.ocx & mscomctl.ocx . Тези файлове се поставят в C:\Windows\SysWOW64\. Comdlg.ocx се поставя в C:\Windows\System32\. След това е необходимо да се стартира Command Prompt (cmd - като администратор) и да се изпълни командата: regsvr32 %systemroot%\system32\comdlg32.ocx Ако възникне някакъв проблем, по-нова версия на файла може да се свали от тук . След това трябва да направим препратка към C:\Program Files (x86)\VehiPlan-2-0-0\VehiPlan.exe за по-удобно стартиране, която да поставим на работния плот или друго подходящо място. В архивния файл на програмат

Диаграма на Гант с електронна таблица

Диаграмата на Гант се състои от ленти, ориентирани успоредно на времевата ос. Всяка лента представлява отделна задача в проекта (вид работа), краищата ѝ — началния и крайния момент на изпълнението  ѝ, а дължината ѝ - продължителността на задачата. Тези диаграми могат да се използват и за други, не точно производствени, цели - например да покажат заетостта на учебна зала. Когато представянето на данните е регулярна задача може да се използва специализиран софтуер като GanttProject, но за инцидентна визуализация можем да се справим с „подръчни средства“. Сега ще покажем как с електронна таблица (LibreOffice Calc) ще визуализираме времето, за което няколко служители са работили във фирмата: Изходните данни са в няколко колони: Продължителността на трудовия стаж в дни определяме с формулата D2=C2-B2, като я копираме за всеки последващ ред. На 6-и ред съответно с функцията MIN и MAX определяме минимална и максимална дата в таблицата, а на 7-и ред - записваме начална (1.1.1989) и

MD5 и SHA-1 хеш алгоритми

MD5 (от „message-digest“) криптографският алгоритъм е създаден през 1991 г. от проф. Роналд Райвест и за първи път е публикуван през април 1992 г. Целта му е да замени компрометирания MD4 алгоритъм, който не е достатъчно сигурен. В последствие се оказва, че и MD5 не отговаря на съвременните изисквания за сигурност и може да бъде разбит. MD5 е построен върху конструкцията на Merkle–Damgård и генерира шестнайстично число със фиксиран размер от 32 символа (128 бита) за входящо съобщение с произволна дължина. Идеята е да се създаде уникален идентификатор за съобщението, който да гарантира неговата истинност. Например: MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6 Дори малка промяна, напр. добавя не точка в края на входящото съобщение би трябвало да генерира нов уникален идентификатор: MD5("The quick brown fox jumps over the lazy dog . ") = e4d909c290d0fb1ca068ffaddf22cbd0 Дължината на вход