Стислий вміст гілки
Автор: basilio
« : 2016-07-04 18:15:06 »
basilio або хто інший підкажіть як саме вирішити цю проблему. Де знаходиться це "the offending code"? Команда \providecommand*{\BibDash}{} у мене також не працює. Звісно, що той offending code (отой квот) знаходиться у стильовому файлі. Сам стильовий файл правити - не дуже вдала ідея - при оновленні системи все зникне. Краще зробити локальну копію, але там, де система буде її бачити. І використовувати змінений стиль. На жаль, буде втрачено сумісність для компіляції на різних системах. Але це шлях найменших втрат, як на мене. Ось патч, з нього ідея має бути зрозумілою, змін не багато, можна й руками вбити: --- /usr/share/texlive/texmf-dist/bibtex/bst/gost/gost2003.bst 2012-09-11 02:02:52.000000000 +0300 +++ /home/my-home-dir/texmf/bibtex/bst/gost2003m.bst 2015-11-07 01:39:13.287229021 +0200 @@ -107,7 +107,7 @@ { ", " * write$ } { output.state after.block = { add.period$ write$ - " " quote$ "--- " * * write$ + "--- " write$ newline$ "\newblock " write$ } @@ -838,7 +838,7 @@ } { month empty$ 'year - { year ". " quote$ "--- " month * * * * } + { year ".--- " month * * } if$ } if$
PS Маємо надію, що невдовзі будуть дозволені й інші стилі оформлення бібліографії, а отже можна буде перейти або на ГОСТ-2008 (де цієї проблеми нема), або на АРА, або на кому що більше подобається...
Автор: Олександр Барановський
« : 2016-04-09 12:51:50 »
Мої експерименти показали, що проблема не специфічна для vakthesis, BibTeX-стилів gost, певного кодування чи шрифтів PSCyr. Такий результат буде завжди, якщо використовувати кириличне тире в англомовному середовищі (а не в україномовному). Наприклад, все працює у такій ситуації: \begin{document} Example --- English emdash. Example "--- Cyrillic emdash. \end{document}
Але достатньо змінити порядок мов у виклику babel — і отримуємо гібрид «лапки-тире» ("—) замість кириличного тире. Можна використовувати різні класи і різні кодування; у мене працює однаково. Також видно, що тут немає залежності від BibTeX-стилів. І PSCyr у моїй системі не встановлено. Зазвичай немає жодних проблем, бо ніхто не використовує кириличне тире в англомовному тексті. Аж поки не виникає потреба зробити багатомовний список літератури з BibTeX-стилями gost. Навіть якщо у .bib-файлі всі записи мають правильні значення у полях language, той спосіб, який використовує gost для перемикання мов, схоже, не перемикає скорописи ( \languageshorthands у babel). Тому якщо основна мова документа — не українська, LaTeX не розуміє українських скорописів (зокрема "---) у списку літератури. Отже, проблема мала би вирішитися просто встановленням ukrainian як основної мови документа (тобто вона має бути останньою у виклику babel). Але я сумніваюся, що так багато людей натрапили на цю проблему і таку просту річ не зробили. Мабуть, є щось таке, чого я не помітив. І, звісно, цей простий рецепт не допоможе, якщо з певних причин англійська має бути основною мовою документа, але в списку літератури є джерела українською. Я спробую ще щось порадити для обходу проблеми, але треба більше інформації ( мінімальний приклад, що демонструє проблему, дуже допоміг би). Якщо це питання ще актуальне для учасників дискусії, звісно. Ще зауважу, що команду \BibDash пропонують тільки стилі *gost2008*.bst. А в *gost2003*.bst жорстко прописано "--- на тих самих місцях. \BibDash на вигляд дає такий самий результат, що й "---. Але \BibDash працює і з українською, і з англійською, а "--- не працює з англійською. Чому розробники так зробили, я не зрозумів; але так є. Як наслідок, хто хоче використовувати \BibDash разом зі стилем типу gost2003, має (як рекомендували вище) або внести відповідні зміни у файл стилю, або після генерування .bbl-файла вручну міняти в ньому "--- на \BibDash (чи на інший зручний варіант).
Автор: Василь Черлінка
« : 2016-03-03 14:24:54 »
Не знаю, в мене їх немає, причому зникли саме після описаних маніпуляцій в попередньому пості. Я вже мав намір глибше копати, а тепер і причини ніби як і немає, все й так добре. Для вирішення цієї проблеми, треба ще подлубатися в коді. Ще одне, що могло би бути, це, як варіант, кодування. Я мав цю проблему з лапками, і база тоді могла бути в UTF-8. На якомусь етапі я базу перекодував в 1251, але чи це було до встановлення PSCyr чи опісля точно не скажу. Але вже після PSCyr, я примітив, що лишніх лапок немає, тому пов'язав їх з PSCyr. Може й пов'язано з некоректною роботою з кирилицею в GOST2003 при кодуванні UTF-8.
P.S. Оце перевів все щойно в UTF-8, зачіпило... Повитирав з преамбули все про титульну сторінку, бо в цьому кодуванні не компілюється через неї , викидає з помилками. Так от, все одно без лапок в мене результат. Містика?
P.P.S. Прогнав оригінальні файли п.Барановського, щоправда з одним списком. Все гаразд, лапок немає. До речі, щоб ВІДОБРАЖАЛАСЬ кількість сторінок у книжок (@Book), необхідно додати ще одне поле до бази даних - pagetotal, інакше вони не відображаються ну ніяк. Що порадити, вже й не знаю... Відпишіться, якщо щось вийде.
Автор: Novachok
« : 2016-03-03 13:37:01 »
У мене не вийшло. Пробував підключати PSCyr із \renewcommand{\rmdefault}{ftm} і без нього - результат однаковий - лапки залишаються, але в мене і тире не зникає. Працюю на XP+MikTex2.9+TexMaker. Пробувати TeX Live вже часу не має.
Автор: Василь Черлінка
« : 2016-02-29 12:31:28 »
По перше, хочу подякувати п.Олександру за його роботу над класами та відповіді. Тепер по суті останніх питань щодо списку літератури, де у джерелах латиницею у роздільнику ставить перед тире лапки. Це мене теж турбувало. Рекомендація використовувати \providecommand*{\BibDash}{} призвела до того, що зникли і оті злощасні лапки і одночасно всі тире в списку літератури. Вже було змирився з напівручним видаленням цього за bbl-файлу згідно попереднього повідомлення. Одночасно я хвилювався з приводу наявності шрифту подібного до Times New Roman, оскільки в класах п.Барановського рідний шрифт таки відрізняється від TNR: він "худіший" і розрідженіший. Математикам простіше, в них так не зациклюються над цими питаннями. Отож, я пішов шляхом використання PSCyr, а не XeLaTex. Налаштування здійснював під Віндоуз 7 та TeXLive 2015. Це виявилося досить нетривіальним завданням, інструкцій обмаль в інтернетах саме для цієї комбінації програмних засобів, але таки знайшов - http://www.tune-it.ru/web/korg/home/-/blogs/latex-%D0%BF%D0%BE%D0%BB%D0%BE%D0%BD-%D1%83%D1%82%D0%B5%D1%85-%D0%B8%D0%BB%D0%B8-pscyr-%D0%BD%D0%B0-windows-%D0%B4%D0%BB%D1%8F-tex-live?p_p_auth=UdYu3JqR, цю інформацію продублював і в себе в блозі, про всяк випадок. Наголошу, що в преамбулі для використовуваних нами класів потрібно прописати лише \usepackage{pscyr}, але Б Е З \renewcommand{\rmdefault}{ftm} як часто рекомендують, оскільки останнє ламає багато чого у форматуванні п.Олександра. Після компіляції все виглядає "класично" і дуже подібно до MS Word, відрізнити, що це не документ MS Word пересічному користувачу важко. ТЕПЕР саме цікаве: коли використовується PSCyr, оті лапки перед тире у джерелах латиницею зникають. Я далеко не фахівець, щоб це пояснити (хіба що можу припустити, що у автора The GOST bundle: gost2003.bst Ігоря Котельникова стоїть PSCyr, і ця проблема з лапками в нього відсутня), але факт залишається фактом - лапок немає. А тому використання стилю gost2003 для оформлення робіт залишається найбільш обґрунтованим. Водночас помітив невелику помилку саме в стилі gost2003. Коли набираємо один з типів джерел, а саме Techreport, то коли описуємо український звіт, отримуємо замість Керівн. - Рук., а при багатьох виконавцях - "виконавець" без скорочення, хоча російською все гаразд - "исполн.". Хто може порадити, як це лікується? P.S. Пройшло трохи часу, чистою логікою, і навіть без гугління  , знайшов вирішення проблеми. Описую тут, а потім і авторам запропоную виправити в дистрибутиві. А вся проблема від незнання ними української мови/неуважності. Отож, потрібно поправити кілька файлів gost*.bst, підозрюю, що може й усі (якщо ця помилка є всюди, але я не досліджував, за браком часу). Оскільки я використовую наразі лише 2 стилі gost2003 та gost2003s, і мені їх поки вистачає, то покажу все на їх прикладі. А почну з ugost2003 та ugost2003s. Весь цей набір знаходимо (нагадую, це описано для Віндоуз 7 та TeXLive 2015, накоченого оновленням на 2014) по такому шляху c:\texlive\2014\texmf-dist\bibtex\bst\gost\ Беремо Notepad++ (1000 зручностей в роботі + нумерує рядки - не розцінюйте за рекламу) і в ньому редагуємо: в UTF-файлах ugost2003.bst і ugost2003s.bst замінюємо рук. на кер. у рядках 695 та 705 відповідно. У цих же файлах замінюємо виконавець на викон. у рядках 707 та 717 відповідно. Трохи складніше, але не надто, процедура виглядає для кодування windows-1251. Тут назви записано кодами, але ми не ликом шиті, отож: в файлах gost2003.bst і gost2003s.bst замінюємо \cyrr\cyru\cyrk. на \cyrk\cyre\cyrr. у рядках 699 та 709 відповідно. У цих же файлах замінюємо \cyr\cyrv\cyri\cyrk\cyro\cyrn\cyra\cyrv\cyre\cyrc\cyrsftsn на \cyr\cyrv\cyri\cyrk\cyro\cyrn. у рядках 711 та 721 відповідно. При компіляції, все тоді стає таким як потрібно. Успіхів! P.S.S. Таки глянув на всі гостовські файли. І у всіх та сама помилка/фіча. Лікується, певна річ, аналогічно. Дивно, що стільки років ніхто не помічав/не звертав уваги на це.
Автор: Novachok
« : 2016-02-23 10:25:05 »
Деякий вихід знайшов. У сгенерованому LaTex файлі "xampl-thesis.bbl" зробити заміну ["---] на [---] для всіх елементів. Потім в Tex-редакторі виконати "швидке збирання" (без повторної генерації списку літератури) і отримаємо бажаний результат. Але такий спосіб хоч і працює і не викликає проблем, та все ж, на мою думку, не ідеальний. Хотілося б відредагувати саме стильовий файл gost2003.bst і щоб він самостійно коректно генерував список англомовних джерел як це було зроблено для усунення коми після прізвищ на початку і видалення слова "[Текст]".
Тому якщо хтось знає як відредагувати стильовий файл gost2003.bst для вимог ВАК або знає інший стильовий файл який відповідає вимогам ВАК напишіть будь ласка.
Автор: Novachok
« : 2016-02-18 10:04:05 »
Справа в тому, що згідно вимогам ВАК джерело повинно бути сформоване наступним чином:
Валеев К. Г. О метрической теории алгоритма / К. Г. Валеев, Е. Д. Злебов. // Укр. мат. журн. – 1975. – №27. – С. 64–69.
Стиль gost2003 саме так його і формує, а ось використання стилю gost2008 дає результат:
Валеев К. Г., Злебов Е. Д. О метрической теории алгоритма // Укр. мат. журн. – 1975. – №27. – С. 64–69.
Тобто стиль gost2008 формує список авторів не так як вимагає ВАК. Усе інше однакове.
Автор: Novachok
« : 2016-02-17 13:58:57 »
Добрий день. Пишу дисертацію і потребую використання стилю gost2003, бо саме він відповідає вимогам ВАК. Завдяки цьому форуму, відредактувавши файл gost2003.bst, вдалося прибрати кому після Прізвищ на початку, а також видалити "[Текст]". А ось лапки в англомовних джерелах перед тире прибрати не виходить. basilio або хто інший підкажіть як саме вирішити цю проблему. Де знаходиться це "the offending code"? Команда \providecommand*{\BibDash}{} у мене також не працює.
Автор: Олександр Барановський
« : 2016-01-06 11:42:04 »
Залишок гілки відрізано, тепер він тут.
Автор: basilio
« : 2015-11-09 22:46:00 »
Вирішив для себе проблему ручним випилюванням the offending code безпосередньо зі стильового файлу. Питання закрите.
Автор: basilio
« : 2015-11-05 17:38:48 »
Цв яирішується використанням стилю gost2008 (ugost2008 для unicode).
Все це так, але для оформлення дисертацій має використовуватись ДСТУ 2006, який відповідає ГОСТу 2003. А отже, це рішення в даному випадку не працює, на превеликий жаль. Отже, питання залишається актуальним. Втім, дякую, що знайшли хвилинку.
Автор: astrsk
« : 2015-11-04 22:33:07 »
Просте, ніби на перший погляд питання. Є список літератури. Є джерела англійською. І от в них усіх у роздільнику ставить перед тире лапки. Приблизно так це виглядає:
Willer, H. The World of Organic Agriculture. Statistics and Emerging Trends [Text] / H. Willer, L. Kilcher. ”— Bonn, Frick : IFOAM & FiBL, 2011.
Офіційна документація стилю ГОСТ пише, що це автори навмисне так зробили (щоправда, не можу зрозуміти навіщо) і пропонують тим, хто не може обходитись лише кирилічними джерелами робити так:
\providecommand*{\BibDash}{} перед тим, як викликати:
\bibliography{mybibfile} Зробив. Але це, на жаль, не спрацювало. Ті лапки нікуди не ділись. Може в когось вже була подібна проблема? Cтиль gost2003, unicode. Кирилицею, до речі, все прекрасно. Цв яирішується використанням стилю gost2008 (ugost2008 для unicode). Ймовірно, в стилі gost2003 ця ситуація не була коректно відпрацьована. Команда "--- в латех дає якесь особливе "кирилічне тире", але вона не парсилася латехом при подачі після обробки бібліографії в документ, якщо джерело не помічалося як кирилічне. Програмування стилю gost2008 вже відпрацьовує такі варіанти коректно. До того ж, там коректно працює і запропонована команда \providecommand*{\BibDash}{}[/code] (якщо треба усунути тире взагалі).
Автор: basilio
« : 2015-11-01 21:29:15 »
Просте, ніби на перший погляд питання. Є список літератури. Є джерела англійською. І от в них усіх у роздільнику ставить перед тире лапки. Приблизно так це виглядає: Willer, H. The World of Organic Agriculture. Statistics and Emerging Trends [Text] / H. Willer, L. Kilcher. ”— Bonn, Frick : IFOAM & FiBL, 2011.
Офіційна документація стилю ГОСТ пише, що це автори навмисне так зробили (щоправда, не можу зрозуміти навіщо) і пропонують тим, хто не може обходитись лише кирилічними джерелами робити так: \providecommand*{\BibDash}{} перед тим, як викликати: \bibliography{mybibfile} Зробив. Але це, на жаль, не спрацювало. Ті лапки нікуди не ділись. Може в когось вже була подібна проблема? Cтиль gost2003, unicode. Кирилицею, до речі, все прекрасно. Отак от я потрапив на гачок до ксенофобів. Допоможіть зіскочити. Заздалегідь дякую. М.: Ця частина обговорення стосується певних BibTeX-стилів і особливостей їхньої взаємодії з LaTeX, але не спеціальних класів LaTeX для дисертації та автореферату. Тому виділив її в окрему гілку.
|