Linux.org.ua

Розширений пошук  

Новини:

Лоу оновився до SMF!

Автор Гілка: Класи LaTeX для дисертації та автореферату  (Прочитано 119581 раз)

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

Дякую за повідомлення!

Клас vakaref переозначує оточення thebibliography так, щоб у ньому використовувалася команда \part.

Оскільки в повідомленні про помилку згадано \bibsection, припускаю, що використовуєте natbib. Про несумісність vakaref і natbib говорили вище.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

physicsworks

  • Новачок
  • *
  • Відсутній Відсутній
  • дописів: 13

До речі для того щоб клас vakaref підтримував оточення bibset переніс визначення цього оточення з vakthesis.
Так, у vakaref підтримки двох списків немає, бо я не підозрював, що це комусь може знадобитися. Справді, все майже дослівно переноситься. Колись я на таке запитання був відповідав, думав, що на сторінці vakthesis писав про це. Виходить, що ні :-(
Пробував перенести означення bibset із vakthesis.cls до vakaref.cls (просто додав його у кінець перед \endinput), але при компілюванні автореферату отримую помилку, яка говорить, що такого environment не знайдено  >:(
Може хтось викласти змінений vakaref.cls, з яким можна генерувати декілька списків літератури за допомогою означення bibset?? Дякую.
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

…але при компілюванні автореферату отримую помилку, яка говорить, що такого environment не знайдено  >:(
Дивно…

Там усе майже дослівно переноситься: треба тільки в другому рядку означення оточення thebibliography замінити \chapter* на \part.

Спробуйте додати такий код у преамбулу свого автореферату і розкажіть, будь ласка, чи працює:
Код: LaTeX
  1. \def\@bibmark{}
  2. \renewenvironment{thebibliography}[1]
  3.     {\part{\bibname}%
  4.       \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
  5.       \list{\@biblabel{\@arabic\c@enumiv\@bibmark}}%
  6.            {\settowidth\labelwidth{\@biblabel{#1\@bibmark}}%
  7.             \leftmargin\labelwidth
  8.             \advance\leftmargin\labelsep
  9.             \@openbib@code
  10.             \usecounter{enumiv}%
  11.             \let\p@enumiv\@empty
  12.             \renewcommand\theenumiv{\@arabic\c@enumiv\@bibmark}}%
  13.       \sloppy
  14.       \clubpenalty4000
  15.       \@clubpenalty \clubpenalty
  16.       \widowpenalty4000%
  17.      }
  18.      {\def\@noitemerr
  19.       {\@latex@warning{Empty `thebibliography' environment}}%
  20.       \endlist}
  21. \newcounter{needbibset}
  22. \setcounter{needbibset}{1}
  23. \newcounter{currbibset}
  24. \newenvironment{bibset}[2][]
  25.  {\stepcounter{currbibset}%
  26.    \def\@temp{#1}%
  27.    \ifx\@temp\@empty
  28.      \def\@bibmark{\relax}%
  29.    \else
  30.      \def\@bibmark{\textsuperscript{#1}}%
  31.    \fi
  32.    \let\@sav@lbibitem\@lbibitem
  33.    \def\@lbibitem[##1]##2{\@sav@lbibitem[##1\@bibmark]{##2}}%
  34.    \@ifundefined{hyper@warn}
  35.     {\def\@bibitem##1{\item\if@filesw \immediate\write\@auxout
  36.        {\string\bibcite{##1}{\the\value{\@listctr}\expandafter\string\@bibmark}}%
  37.         \fi\ignorespaces}}
  38.      {\def\@bibitem##1{%
  39.       \@skiphyperreftrue\H@item\@skiphyperreffalse
  40.       \hyper@anchorstart{cite.##1}\relax\hyper@anchorend
  41.       \if@filesw {\let\protect\noexpand
  42.       \immediate\write\@auxout{%
  43.         \string\bibcite{##1}{\the\value{\@listctr}\expandafter\string\@bibmark}}}%
  44.       \fi
  45.       \ignorespaces}}%
  46.    \def\bibname{#2}%
  47.    \let\bibliography\@thisbibliography
  48.    \let\bibliographystyle\@thisbibliographystyle}
  49.   {\ifnum\thecurrbibset=\theneedbibset
  50.     \ifnum\theneedbibset=1
  51.       \immediate\write\@auxout{\string\setcounter{needbibset}{2}}%
  52.      \else
  53.        \immediate\write\@auxout{\string\setcounter{needbibset}{1}}%
  54.      \fi
  55.    \fi}
  56. \def\@thisbibliography#1{%
  57.   \if@filesw
  58.     \ifnum\thecurrbibset=\theneedbibset
  59.       \immediate\write\@auxout{\string\bibdata{#1}}%
  60.     \else
  61.       \immediate\write\@auxout{\@percentchar\string\bibdata{#1}}%
  62.     \fi
  63.   \fi
  64.   \@input@{\jobname\thecurrbibset.bbl}}
  65. \def\@thisbibliographystyle#1{%
  66.   \ifx\@begindocumenthook\@undefined\else
  67.     \expandafter\AtBeginDocument
  68.   \fi
  69.     {\if@filesw
  70.       \ifnum\thecurrbibset=\theneedbibset
  71.         \immediate\write\@auxout{\string\bibstyle{#1}}%
  72.        \else
  73.          \immediate\write\@auxout{\@percentchar\string\bibstyle{#1}}%
  74.        \fi
  75.      \fi}%
  76.   \ifthenelse
  77.   {\equal{#1}{plain}\or\equal{#1}{unsrt}\or\equal{#1}{abbrv}\or
  78.   \equal{#1}{amsplain}\or
  79.   \equal{#1}{gost71s}\or\equal{#1}{gost71u}\or
  80.   \equal{#1}{gost780s}\or\equal{#1}{gost780u}}
  81.  {\def\@biblabel##1{##1.}}
  82.  {\def\@biblabel##1{[##1]}}}
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

physicsworks

  • Новачок
  • *
  • Відсутній Відсутній
  • дописів: 13

Дивно, якщо додати у преамбулу, то все працює :D

Ось хотів спитати про ГОСТи. В останній версії пакету http://www.ctan.org/tex-archive/biblio/bibtex/contrib/gost немає ані gost71s, ані gost71u, які Ви використовуєте на 10-й сторінці vakthesis.pdf для генерування двох списків літератури. Наскільки я розумію, зараз треба використовувати gost2008. Чи правильно це, чи відповідає вимогам ВАК МОНмолодьспорту?

Тепер щодо використання цього нового gost2008. При компілюванні стандартного xampl-aref.tex із доданим у преамбулу кодом bibset та
\begin{bibset}{Список використаних джерел}
\bibliographystyle{gost2008}
\bibliography{xampl-mybib}
\end{bibset}
\begin{bibset}[a]{Список публiкацiй автора}
\bibliographystyle{gost2008}
\bibliography{xampl-thesis}
\end{bibset}
отримую помилку:
! LaTeX Error: Command \CYRIE unavailable in encoding OT1.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.62 \newblock Є
                 франц. переклад {\selectlanguageifdefined{french}
?
тобто, він не приятелює із французьким (у xampl-thesis останнє джерело французькою). У мене французької літератури не буде, тільки англійська, українська та російська, які чудово генеруються, але на всяк випадок повідомляю про проблему.

І все ж таки, gost71 чи gost2008?

Дякую!

P.S. Будь ласка, викладіть Ваш vakaref.cls із доданим bibset із vakthesis.cls, який би коректно працював. Буду сам думати в чому там у мене проблема.
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

Дивно, якщо додати у преамбулу, то все працює :D
З ідеологічних і практичних міркувань тимчасові налаштування класу якраз краще робити у преамбулі свого документа (чи окремим .sty-файлом), а не редагуючи .cls-файл безпосередньо.

Але чому так працює, а так не працює, я здогадатися не можу.

Ось хотів спитати про ГОСТи. В останній версії пакету http://www.ctan.org/tex-archive/biblio/bibtex/contrib/gost немає ані gost71s, ані gost71u, які Ви використовуєте на 10-й сторінці vakthesis.pdf для генерування двох списків літератури. Наскільки я розумію, зараз треба використовувати gost2008. Чи правильно це, чи відповідає вимогам ВАК МОНмолодьспорту?
Нещодавно допомагав колезі з оформленням дисертації. Використовували gost2003. Не скажу, чи відповідає вимогам, але пішло.

тобто, він не приятелює із французьким (у xampl-thesis останнє джерело французькою). У мене французької літератури не буде, тільки англійська, українська та російська, які чудово генеруються, але на всяк випадок повідомляю про проблему.
Підозрюю, що причина тут — не французька. Справді, помилку показує на літері Є, але французьку підключає пізніше.

Схоже, що десь перед цим «вмикається» мова, що використовує кодування шрифта OT1: \selectlanguageifdefined{english} або \selectlanguageifdefined{french}, але «не вимикається». Можливо, bibset разом з gost2008 і французькою це спричиняють, можливо, просто десь права фігурна дужка загубилася.

Бо якби у преамбулі не було
Код: LaTeX
  1. \usepackage[T2A]{fontenc}
(у Вас же є, так?), то проблеми з кириличними буквами могли виникати й в інших місцях документа, не тільки в бібліографії.

Але це тільки те, що я можу припустити, глянувши на повідомлення про помилку. Коли матиму можливість поекспериментувати, можливо, зможу сказати щось розумніше.

У будь-якому разі, дякую за повідомлення!

P.S. Будь ласка, викладіть Ваш vakaref.cls із доданим bibset із vakthesis.cls, який би коректно працював. Буду сам думати в чому там у мене проблема.
У мене немає виправленого vakaref.cls із доданим bibset. Код, що я наводив вище, вирізаний і перероблений з vakthesis.cls, а не вирізаний з vakaref.cls. (Причому вже давно я це був робив, колись запитували. Але забув зробити файл публічним.)

Якщо Вам цікаво з цим погратися, то краще виправляти vakthesis.dtx: знайти відповідне місце і забрати команди для docstrip, які змушують його генерувати певний код тільки для vakthesis.cls. Потім «розпакувати» виправлений vakthesis.dtx і отримати vakaref.cls вже з потрібними змінами.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

physicsworks

  • Новачок
  • *
  • Відсутній Відсутній
  • дописів: 13

Ось хотів спитати про ГОСТи. В останній версії пакету http://www.ctan.org/tex-archive/biblio/bibtex/contrib/gost немає ані gost71s, ані gost71u, які Ви використовуєте на 10-й сторінці vakthesis.pdf для генерування двох списків літератури. Наскільки я розумію, зараз треба використовувати gost2008. Чи правильно це, чи відповідає вимогам ВАК МОНмолодьспорту?
Нещодавно допомагав колезі з оформленням дисертації. Використовували gost2003. Не скажу, чи відповідає вимогам, але пішло.
У бюлетні ВАК 2009 року http://ite.ksu.ks.ua/system/files/bjuleten_vak_ukrajini__no_5__2009.pdf пишеться, що:
Цитата
Бібліографічний опис оформлюється згідно з ДСТУ ГОСТ 7.1:2006 "Система стандартів з інформації, бібліотечної та видавничої справи. Бібліографічний запис. Бібліографічний опис. Загальні вимоги та правила складання".
Тому, читаючи ftp://ftp.tpnet.pl/pub/CTAN/biblio/bibtex/contrib/gost/gost.pdf , не зовсім ясно, що вони розуміють під "українським" GOST 7.1 - 2003 (трійка замість шістки). Невже вони сплутали одну цифру, адже такого українського ГОСТу 2003 року не існує?
Я поки не дуже вдавався в деталі, оформлював згідно з http://ite.ksu.ks.ua/system/files/bjuleten_vak_ukrajini__no_5__2009.pdf , але хотілось би знати напевне, чи я правильно роблю та чи відповідає gost2003 цьому стандарту?
UPDATE:
Тільки написав, як одразу ж знайшов рекомендації http://web.znu.edu.ua/NIS/docs/dstu_7_1-2006.pdf в яких написано (3 стор), що
Нововведений стандарт відповідає ГОСТові 7.1-2003 і є базовим для складання бібліографічного опису всіх видів документів.Так що виходить, що треба використовувати gost2003.

UPDATE2:
Таке питання. В описі gost не знайшов прикладу як реалізувати (які поля bibtex використовувати) для статті у збірнику наукових праць, як, наприклад, тут (пункт 4, але в мене один автор): http://www.nbuv.gov.ua/portal/chem_biol/pep/2010_2/2010-2/pdf/20_aut.pdf   Хтось має уявлення як це зробити?
« Змінено: 2013-02-13 02:08:54 від physicsworks »
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

При компілюванні стандартного xampl-aref.tex із доданим у преамбулу кодом bibset та
\begin{bibset}{Список використаних джерел}
\bibliographystyle{gost2008}
\bibliography{xampl-mybib}
\end{bibset}
\begin{bibset}[a]{Список публiкацiй автора}
\bibliographystyle{gost2008}
\bibliography{xampl-thesis}
\end{bibset}
отримую помилку:
! LaTeX Error: Command \CYRIE unavailable in encoding OT1.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.62 \newblock Є
                 франц. переклад {\selectlanguageifdefined{french}
?
тобто, він не приятелює із французьким (у xampl-thesis останнє джерело французькою).
Не можу відтворити проблему. Взяв xampl-aref.tex, xampl-thesis.bib, xampl-mybib.bib з vakthesis 0.08. Додав код для bibset так, як я писав вище. Використовую оточення bibset так, як Ви пропонуєте. Компілюю строго за інструкцією в документації vakthesis. LaTeX взагалі ніяких повідомлень про помилки не видає.

До речі, в xampl-thesis.bib останнє джерело польською, а не французькою. BibTeX ігнорує джерело Sie74, бо перед назвою запису немає символа @. Але якщо його додати, то в мене все одно помилок немає.

Отже, у Вас є ще щось, що впливає на результат. Підготуйте, будь ласка, мінімальний приклад, що демонструє проблему.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280
BibTeX-опис статті в збірнику
« Відповідей #217 : 2013-02-16 23:53:34 »

Таке питання. В описі gost не знайшов прикладу як реалізувати (які поля bibtex використовувати) для статті у збірнику наукових праць, як, наприклад, тут (пункт 4, але в мене один автор): http://www.nbuv.gov.ua/portal/chem_biol/pep/2010_2/2010-2/pdf/20_aut.pdf   Хтось має уявлення як це зробити?
Чим запис типу InCollection не задовольняє? Назву статті — в поле title, назву збірника — в поле booktitle.

М.: Зауважу, що це питання вже виходить за межі цієї гілки. Тут обговорюють LaTeX-класи для дисертацій. Для інших питань краще починати окремі гілки.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

physicsworks

  • Новачок
  • *
  • Відсутній Відсутній
  • дописів: 13

Отже, у Вас є ще щось, що впливає на результат.
Так, то в мене криво був MiKTeX встановлений на роботі. Помилки немає.
Чим запис типу InCollection не задовольняє? Назву статті — в поле title, назву збірника — в поле booktitle.
Ну, то ви вже посиділи і маєте трохи досвіду роботи з gost'ом. Взагалі, я поки не бачу дуже великої переваги gost'у над простим набором за допомогою \begin{thebibliography}{}. Більше часу витрачається на те, щоб знайти необхідні в кожному окремому випадку поля bibtex'у, ніж на те, щоб це набрати вручну, вивчивши відповідні правила (не такі вони вже й складні). Все, вибачте, більше офтопити не буду.
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

Отже, у Вас є ще щось, що впливає на результат.
Так, то в мене криво був MiKTeX встановлений на роботі. Помилки немає.
Ок, тоді закриваю повідомлення про ваду. У будь-якому разі, дякую за інтерес до vakthesis!
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

Сергій

  • Гість

Використовую пакет vakthesis-0.08. В якості оформлення літератури взяв шаблон gost780s.
Маю такі проблеми: (як їх подолати?)
1) В англомовній літературі повсюди де є дефіс ставляться лапки: "-
2) Використовую Де саме потрібно відредагувати файл gost780s.bst, щоб можно було б вставляти літературу такого плану:

Мова запитів SQL [Електронний ресурс].  – Режим доступу: https://ru.wikipedia.org/wiki/SQL
Оформив наступним чином:
@MICS{SQL20,
    Title                    = {Мова запитів SQL [Електронний ресурс].  – Режим доступу: }
    howpublished             = {https://ru.wikipedia.org/wiki/SQL}
}
В результаті маю помилку:

l.42 ...ів sql [електронний ресурс]. – режим досту
                                                  пу: ".
Your command was ignored.
Type  I <command> <return>  to replace it with another command,
or  <return>  to continue without it.


! LaTeX Error: Command \cyrp unavailable in encoding OT1.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

Маю підозру, що обидві проблеми не пов’язані ні з vakthesis, ні з gost. Стилі gost використовують "--- для кириличного тире. Але це працює тільки для української мови (ну, й для інших мов, мабуть, які використовують кириличне тире).

Тому перевірте, чи є у Вашому документі рядок такого типу
Код: LaTeX
  1. \usepackage[english,russian,ukrainian]{babel}
де в квадратних дужках — перелік мов, які потрібні в документі, причому останньою має бути основна мова документа.

Звісно, в другій проблемі повідомлення про помилку звучить дивно: нібито проблема з буквою «п». Але я думаю, що це теж наслідок того, що українська мова не є основна мова документа.

Якщо не допоможе, зробіть мінімальний приклад, який демонструє проблему, будь ласка.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

Tar

  • Гість

Доброго дня! Підкажіть, будь ласка: при використанні пакету vakthesis список літератури не відображається. Помилка наступна:
 ! LaTeX Error: Environment bibset undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.26 \begin{bibset}
                   [a]{Список публікацій}
?
! Emergency stop.


Це стовідсотково мій баг.

Дякую за вашу допомогу.
Записаний

Олександр Барановський

  • Модератор дошки
  • Графоман
  • *****
  • Відсутній Відсутній
  • дописів: 280

Доброго дня! Підкажіть, будь ласка: при використанні пакету vakthesis список літератури не відображається. Помилка наступна:
 ! LaTeX Error: Environment bibset undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.26 \begin{bibset}
                   [a]{Список публікацій}
?
! Emergency stop.


Це стовідсотково мій баг.

Дякую за вашу допомогу.

Не можу відтворити помилку: не можу придумати, як це могло би виникнути. Якщо питання ще актуальне, будь ласка, зробіть мінімальний приклад, який демонструє проблему.
Записаний
Організаційною системою УПА є трійкова система.
С. Ф. Хмель, «Українська партизанка»

vlamor

  • Новачок
  • *
  • Відсутній Відсутній
  • дописів: 6

Доброго дня!
Оформлення автореферату повинно відповідати ДСТУ 3008-95. У відповідності з цим ДСТУ: "Ілюстрація позначається словом “Рисунок -”, яке разом з назвою ілюстрації розміщують після пояснювальних даних, наприклад, “Рисунок 3.1 – Схема розміщення”

Аналогично оформлюється позначення таблиці.

Я використвую пакет "caption" для настройки підписів, але якщо слово "таблиця" пишиться повністью, то підпис під рисунком - в скороченнму вигляді - "Рис."

Маю таке питання: що треба змінити, щоб отримати підпис к рисунку в такому вигляді: "Рисунок".

Дякую за допомогу.
Записаний