לאטך/ניהול ביבליוגרפיה
ניהול ביבליוגרפיה הוא משימה קשה בכל עבודה אקדמאית. לתחומים שונים וז'ורנלים שונים יש דרישות שונות, ולעיתים אותו מאמר נשלח למספר מקומות, שלכל אחד מהם יש דרישות שונות. כמו כן, בעת כתיבת העבודה צריך לשים לב למספר של כל הפניה ביבליוגרפית, לוודא שמוחקים מהרשימה הביבליוגרפיה הפניות שנמחקו, למיין לפי שם המחבר (או השנה, או לפי מיקום ההפניה במאמר) ועוד.. כל אלה ועוד מבוצעים בצורה פשוטה ביותר בעזרת תוכנת BibTex שהינה מין תוסף ל-Latex שהפך סטנדרט למעשה לניהול בבליוגרפיה. תכונה זו הינה אחת הייתרונות המשמעותיים של LaTeX על עורכי טקסט אחרים.
תוסף ה-BibTeX שומר בקובץ נפרד את רשימת כל הכותרים (לדוג' ספרים, מאמרים, אתרי אינטרנט וכו) הרלוונטיים לעבודה. בכל פעם שמהדרים את המאמר, התוסף בודק לאילו כותרים קיימת הפניה, ומייצר את הרשימה הבביבליוגרפית עבור אותם כותרים לפי הגדרות שונות שניתנות לשינוי בקלות במיקום מרכזי יחיד (ולא עבור כל כותר בנפרד). התוסף דואג גם לעדכן את ההפניות בגוף המאמר לפי העיצוב הנבחר, למשל [1] או [רבין, 2003] וכיו"ב.
ניהול ביבליוגרפיה עם BibTeX
עריכהכאמור לעיל, על-מנת לעבוד עם BibTex, יש ליצור קובץ חיצוני המכיל רשימה של כל הכותרים אליהם רוצים ליצור הפניה. בסיס נתונים זה נשמר בקובת עם סיומת .bib קובת זה הוא קובץ טקסט פשוט, שעבור כל כותר מכיל רשימה מהצורה הבאה:
@article{greenwade93, author = "George D. Greenwade", title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})", year = "1993", journal = "TUGBoat", volume = "14", number = "3", pages = "342--351" }
עבור מרבית המאמרים החדשים, רשומת הBibTeX המתאימה נמצאת און-ליין, וניתנת להורדה ישירות מאתר הכנס/ז'ורנל, או ישירות מגוגל (google scholar). כך שבמרבית הפעמים, צריך רק למצוא את המאמר בגוגל, ולהוריד את רשומת הBibTex המתאימה - וזהו.
אם לא מוצאים בגוגל, ניתן ליצור את הרשומה באופן ידני. מבנה רשומה קל יחסית להבנה: לכל רשומה יש סוג, שם ומספר שדות (למשל - שדה המכיל את שם הכותר, שדה עבור המחברים, שדה עבור שנת הפרסום וכו'). לא כל השדות נחוצים לכל רשומה. למשל, למאמר בכנס נדרש לרשום את כותרת המאמר, המחברים, שם הכנס והשנה. לכותר המכיל (הפניה ל)אתר אינטרנט - נדרש שדה המציין את הכתובת בלבד, ולא נדרש שדה עבור המחברים וכו'.
נסביר את מבנה הרשומה. השורה הראשונה מציינת את סוג הכותר, לפי המילה לאחר סימן ה-@.
סוג כותר | משמעות |
---|---|
@article |
הכותר הוא מאמר בז'ורנל או מאמר שפורסם |
@conference |
הכותר הוא מאמר-כנס. תוצאה זהה מתקבלת על-ידי הסוג @inproceedings |
@book |
הכותר הוא ספר |
@phdthesis |
כותר מסוג תזה |
@unpublished |
מאמר שטרם פורסם, או בהליכי פרסום |
@techreport |
דו"ח טכני |
@misc |
כותר שאינו עונה על אחת ההגדרות לעיל |
החלק השני בשורה הראשונה מציין את ה"שם" שבו יוכר המאמר מבחינת קובץ הLaTeX. למשל, בדוגמא לעיל, שם הכותר הינו greenwade93. יצירת הפניה לכותר מתבצעת על ידי הפקודה \cite
. למשל, אם נרצה להפנות לכותר הנ"ל מתוך הטקסט נוכל לרשום
For more information, see~\cite{greenwade93}, or check in our web-site.
מייד לאחר סוג הכותר, ולפני השם, מופיע סוגר מסולסל "}". סוגר זה מסמל את תחילת הרשומה בבסיס הנתונים (מהסוג האמור) שהשם שלה יהיה לפי מה שמופיע מייד אחרי הסוגר. לאחר השם יש פסיק אשר מציין מעבר לשדה הבא (השדה הראשון הוא השם, והוא מיוחד. שאר השדות באים לאחר מכן). כל שדה מורכב משני חלקים: שם השדה, סימן =, ולאחריו תוכן השדה. לאחר השדה האחרון נמצא סוגר מסולסל "{" שמציין את סוף הרשומה.
בקובץ bib אין סימון מיוחד להערות, אך כל מה שלא נמצא בתוך רשומה נחשב כהערה, כלומר, BibTex מתייחס אך ורק לטקסט שבין @ ועד הסוגר המסולסל המסיים את הרשומה, ומתעלם מכל טקסט שמופיע לפני ה @ או אחרי סגירת הרשומה.
יצירת הפניות מתוך המאמר
עריכהיצירת הפניה
עריכהיצירת ההפניה בגוף המאמר נעשית על-ידי הפקודה
\cite{citation01}
כאשר citation01 הינה שם הרשומה של הכותר אליו מפנים. ניתן לבצע הפניה למספר כותרים בו זמנית,
\cite{citation01,citation02,citation03}
כמו כן, ניתן להוסיף טקסט ספציפי עבור ההפניה על-ידי הוספת הטקסט בסוגריים מרובעים לפני שם הרשומה. למשל,
\cite[page 4]{citation01}
ייצור בגוף הטקסט הפניה מהצורה "[1, page 4]"
יצירת הפניה חסרה
עריכהלעיתים רוצים להוסיף שורה בביבליוגרפיה, מבלי שקיימת אליה הפניה בגוף הטקסט. מאידך, ה-BibTex מוחק באופן אוטומטי שורות בביבליוגרפיה אליהן אין קישור במאמר. על מנת להתגבר על בעיה זו, ניתן להשתמש בפקודה
\nocite{citation01}
הכותר יתווסף לביבליוגרפיה, אך לא תיווצר הפניה אליו בטקסט המאמר.
הגדרת שימוש בקובץ .bib ובחירת סגנון
עריכהעל מנת שהביבליוגרפיה תופיע, יש להגדיר לlatex את קובץ ה-bib (בסיס הנתונים של הכותרים) בו נעשה שימוש, וכן את סגנון הביבליוגרפיה הרצוי. יש להשתמש בפקודות הבאות:
\bibliographystyle{style_name}
\bibliography{bib-file-name}
הפקודה הראשונה מגדירה את הסגנון הרצוי (ראה בהמשך), והשניה מגדירה את השם של קובץ הנתונים, כלומר, BibTex ישתמש בקובץ bib-file-name.bib בדוגמא לעיל. ניתן להשתמש במספר בסיסי נתונים שונים - למשל ניתן לשמור קובץ שונה למאמרים בעברית וקובץ שונה למאמרים באנגלית, או חלקוה לפי נושאים וכד'. שימוש במספר קבצים מתבצע על-ידי
\bibliography{dbfile1,dbfile2,...}
סגנונות קיימים
עריכהלBibTex קיימים מספר סגנונות (style) מובנים, בהם ניתן להשתמש. להלן דוגמא לעיצוב ביבליוגרפיה לפי סגנון plain, abbrv וalpha
-
סגנון plain
-
סגנון abbrv
-
סגנון alpha
על מנת לבחור את הסגנון הרצוי, משתמשים בפקודה
\bibliographystyle{style_name}
כאשר style_name הוא שם הפורמט הרצוי. ראו מספר סגנונות נוספים בקישור.
עדכון הרשימה הביבליוגרפית
עריכהעל מנת להדר מחדש את הקובץ כך שהרשימה הביבליוגרפית תתעדכן, יש ראשית להריץ latex לאחר מכן bibtex ולאחר מכן להפעיל את latex שוב, פעמיים. למשל, עבור המסמך main יש להפעיל
latex main
bibtex main
latex main
latex main
ההפעלה הראשונה מעדכנת את קובץ ה-aux ורושמת שם את כלל ההפניות הקיימות במסמך. הפעלת הbibTex מסתמכת על קובץ הaux לייצר את הרשימה הביבליוגרפית בהתאם להפניות, ולעצב אותה כנדרש. השורה השלישית גורמת לlatex לעדכן את קובץ הaux עם הקישור הייחודי של כל שורה בביבליוגרפיה, וההרצה האחרונה גורמת לכך שהמסמך יכיל את הקישור המעודכן. אם קישור מסויים לא נמצא (עקב שגיאה או שעדיין לא הורץ latex מספיק פעמים), תופיע ההפניה "[?]".
כתיבת ביבליוגרפיה בצורה ישירה
עריכהלאטך מאפשר גם כתיבת הביבליוגרפיה ישירות, ללא שימוש ב-BibTeX או בכלי אחר. אפשרות זאת מתאימה למי שכותב מסמך בודד, עם מעט מאד הפניות, ואינו רוצה לייצר בסיס-נתונים עבורם, או אם יש דרישות לא-סטנדרטיות על עיצוב הביבליוגרפיה שחייבים לבצע ידנית.
הרשימה הביבליוגרפיה מופיעה בתוך בלוק thebibliography<code\>, בדומה לדוגמא הבאה:
\begin{thebibliography}{a}
\bibitem{lamport94}
Leslie Lamport,
\emph{\LaTeX: A Document Preparation System}.
Addison Wesley, Massachusetts,
2nd Edition,
1994.
\end{thebibliography}
הפקודה הראשונה מכריזה על בלוק הביבליוגרפיה. הפרמטר השני (בדוגמא לעיל "a") מציין את הרוחב המקסימלי של תוית ההפניה. הערך של הפרמטר חסר משמעות - רק כמות התווים בו בעלת משמעות. למשל, אם התוויות הן [1] עד [9] הרוחב הוא תו יחיד, והפרמטר לעיל מספיק. אם התוית היא למשל [Gel10] אז נדרשים 5 תוים, והפקודה צריכה להראות בסגנון \begin{thebibliography}{55555}<code\>. (כאמור, התוכן "55555" חסר חשיבות, רק אורכו בא לידי ביטוי).
לאחר מכן, כל שורה בביבליוגרפיה מתחילה ב \bibitem<code\> שלאחריו שם ההפניה (עבור הפקודה \cite<code\>).
שימו לב כי תוכנת ה-BibTex מייצרת קובץ בשם .bbl המכיל את שורות ה bibitem מעוצבות לפי ההגדרות, כך שניתן להשתמש בקובץ זה כעיצוב ראשוני, ולהוסיף עליו שינויים ידניים בעת הצורך. ההמלצה היא להשתמש בbibtex בכל אופן, ולא לבצע שינויים ידנים, אלא אם ממש אין ברירה אחרת.
חבילות עזר
עריכה
עברית
עריכה
במידה והטקסט משלב עברית ואנגלית יש להתאים את הקובץ rlbabel.def של חבילת babel כך שהפקודות L\ ו- R\ לא ייתנגשו עם תוספי הביבליוגרפיה. מה שנדרש הוא להיכנס לקובץ האמור ולשנות את שמות הפקודות הנ"ל, למשל ל- LTR\ ו- RTL\
NatBib
עריכה
חבילת הרחבה עבור BibTex שמאפשרת יצירת הפנייות בסגנונות שונים. למשל, במקום הפניה [1], או [Rab80], ניתן ליצור הפניות המכילות את השם המלא של המחבר והשנה - [Rabin, 1980], או את השנה בלבד וכו'. ראה בטבלה את הפקודה הרלוונטית.
Natbib יצירת הפניה ב
פקודת ההפניה
תוצאה
\citet{goossens93}
Goossens et al. (1993)
\citep{goossens93}
(Goossens et al., 1993)
\citet*{goossens93}
Goossens, Mittlebach, and Samarin (1993)
\citep*{goossens93}
(Goossens, Mittlebach, and Samarin, 1993)
\citeauthor{goossens93}
Goossens et al.
\citeauthor*{goossens93}
Goossens, Mittlebach, and Samarin
\citeyear{goossens93}
1993
\citeyearpar{goossens93}
(1993)
\citealt{goossens93}
Goossens et al. 1993
\citealp{goossens93}
Goossens et al., 1993
על-מנת לעשות שימוש בחבילה, יש להגדיר בקובץ ה-LaTeX שמשמשים בה, על-ידי הפקודה
\usepackage{natbib}
.
החבילה מאפשרת שליטה על פרמטרים נוספים, ראה מדריך למשתמש.
BibLaTeX
עריכה
בדצמבר 2010 הוכרזה חבילת BibLaTeX שנועדה להרחיב את תוסף bibtex המקורי, ולהפכו לחלק אינטגרלי סטנדרטי של חבילת LaTeX (למשל, על-ידי הוספת package ללא צורך בהרצת תוכנה חיצונית). חבילה זו מאפשרת את כל הפונקציונליות של Natbib ומרחיבה אותה עוד יותר, כך שמתאפשרת שליטה מלאה וקלה בעיצוב הביבליוגרפיה.
ראה מדריך גרסא 1.1 שפורסמה בינואר 2011. חבילה זו חדשה מאד ועדיין קשה למצוא עליה הרבה מידע, אך היא צפויה בקרוב להפוך לסטנדרט, ולהחליף את השימוש בתוסף ה-Bibtex.
בנוסף, ניתן להגדיר בחבילה את הקידוד בו נעשה שימוש (למשל UTF-8). באופן זה ניתן לשלב טקסט עברי (או כל שפה אחרת). עדיין יש לעשות שימוש בחבילת babel (או תוסף אחר) על מנת לתקן כיווניות וכותרת. כרגע (אפריל 2011) ישנו עדיין קונפליקט בין קובץ rlbabel.def לבין BibLaTeX אשר פוגע ביכולת הרב-לשונית של BibLaTeX. הבעייה מתעוררת במסמכים המשלבים עברית עם שפות אחרות, כאשר בנוסף אחד מן הערכים הביבליורפיים עושה שימוש בשדה hyphenation. כמו-כן, שימוש בחבילת BibLaTeX במסמכים המשלבים טקסט עברי מצריך הוספת הגדרות מתאימות לקובץ csquotes.def, וזאת על-מנת למנוע הודעות שגיאה וטיפול לא נכון בפיסוק בין חלקי הערך הביבליוגרפי השונים.