
Несмотря на отсутствие навыков LaTeX, с помощью форума я добился значительного прогресса в разработке обновленного класса SAE для написания статей SAE с помощью LaTeX. Далее: правильное форматирование "Интернет-ссылок" в библиографии.
Я использую biblatex/biber, и хотя кажется очевидным, что в использовании этой комбинации для библиографий есть много возможностей, мне неочевидно, как манипулировать форматированием. Поэтому я снова прошу помощи в этой области.
Давайте в качестве примера возьмем следующую запись в биб-записях:
@Online{Dowanol2012,
Title = {DOWANOL (TM) TPM Technical Data Sheet},
Url = {http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc},
Note = {Accessed 9/8/2015},
Organization = {The DOW Chemical Company},
Urldate = {2015-09-08},
Year = {2012},
}
В результате моей нынешней попытки в моей библиографии появилась следующая запись:
Технический паспорт DOWANOL (TM) TPM, дата обращения 08.09.2015. Компания DOW Chemical Company, 2012,http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc, дата обращения 09/08/2015.
Мне нужно, чтобы это выглядело следующим образом:
Компания DOW Chemical, «Технический паспорт DOWANOL (TM) TPM»,http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc, доступ получен в сентябре 2015 г.
Поле urldate
, возможно, не самое подходящее для использования Sep. 2015
вместо 09/08/2015
, я не уверен. Может быть, я могу получить доступ к месяцу/году из urldate?
Кроме того, я удалил курсив из заголовка, используя следующее:
\DeclareFieldFormat[online]{title}{#1}
Но после этого я не уверен, как все переупорядочить, избавиться от двойной печати даты URL и выполнить все форматирование (т. е. заключить заголовок в кавычки и т. д.)
Вот текущий MWE:
\documentclass[letterpaper]{article}
% This package allows for detailed control of urls within the document and in the bibliography.
\usepackage{filecontents}
\usepackage{url}
\usepackage{color}
\usepackage{xcolor}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp, maxbibnames=4, minbibnames=3, sorting=none,firstinits=true, url=false, doi=true, backend=biber]{biblatex}
% Change the font size of the references list
\renewcommand*{\bibfont}{\small}
% Fix the way URLs are displayed.
\DeclareFieldFormat{url}{\url{#1}}
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\renewbibmacro*{url+urldate}{%
\usebibmacro{url}%
\iffieldundef{urlyear}
{}
{\setunit*{\addcomma\space}%
\usebibmacro{urldate}}}
% Print an access date on URLs.
\DefineBibliographyStrings{american}{urlseen = {accessed}}
% Typesets the URL (and DOI) in the same font as the document
\urlstyle{same}
% Print an access date on URLs.
\DefineBibliographyStrings{american}{urlseen = {accessed}}
% Remove the italics on the title (how do I get quotes around it)?
\DeclareFieldFormat[online]{title}{#1}
% This line defines which file(s) bibtex will look for your bib entries (i.e. the name of your *.bib file without the extension).
\bibliography{test}
\usepackage{hyperref}
\hypersetup{
pdfencoding = {auto},
pdfauthor = {Dr. Who},
pdftitle = {Title},
urlcolor = blue,
pdffitwindow=true,
pdfkeywords={LLFC}, % Keywords
pdfnewwindow=true, % links in new window
colorlinks=true, % false: boxed links; true: colored links
linkcolor=red, % Color of internal links (change box color with linkbordercolor)
linkbordercolor=red,
citecolor=green,
filecolor=magenta,
urlcolor=blue
}
\begin{filecontents}{test.bib}
@Online{Dowanol2012,
Title = {DOWANOL (TM) TPM Technical Data Sheet},
Url = {http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc},
Note = {Accessed 9/8/2015},
Organization = {The DOW Chemical Company},
Urldate = {2015-09-08},
Year = {2012},
}
\end{filecontents}
\begin{document}
This is a test document with one citation \cite{Dowanol2012}.
\renewcommand\refname{References}
\printbibliography
\end{document}
О, и технически гиперссылка должна быть подчеркнута и синей... Я могу сделать ее синей, но у меня возникли проблемы с подчеркиванием. Особенно только для URL, которые являются частью типа "@online". URL для DOI журнальных статей должны быть подчеркнуты, но не синими (я могу рассмотреть это позже в отдельной теме, просто пытаюсь дать контекст для странного форматирования, которое я пытаюсь реализовать, чтобы соответствовать рекомендациям SAE).
решение1
В этом ответе я буду предполагать, что ваш документ использует код изРеализовал ли кто-нибудь библиографии в стиле Общества инженеров-автомобилестроителей (SAE) с помощью решения biblatex/biber?, поэтому нам не придется иметь дело с подробностями, которые там были рассмотрены.
Большую часть работы можно уже сделать, изменив .bib
запись. «The DOW Chemical Company» вполне может быть author
и не organization
(см. такжеИспользование «корпоративного автора» в поле «автор» библиографической записи (с указанием имени полностью),biblatex
документацияесть короткое слово об этом в §2.3.3Корпоративные авторы и редакторы, стр. 31). note
Поле также кажется ненужным, поскольку информация уже есть в urldate
поле. Поэтому я бы выбрал
@Online{Dowanol2012,
Title = {DOWANOL (TM) TPM Technical Data Sheet},
Url = {http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc},
author = {{The DOW Chemical Company}},
Urldate = {2015-09-08},
Year = {2012},
}
Тогда единственное, что нужно изменить, это urldate
выход, просто выберите urldate=long
, а затем вы можете удалить день, используя
\DefineBibliographyExtras{english}{
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#2}
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\stripzeros{\thefield{#1}}}}}
МВЭ
\documentclass[letterpaper]{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp, maxbibnames=4, minbibnames=3, sorting=none,firstinits=true, url=false, doi=true, backend=biber, urldate=long]{biblatex}
\renewcommand*{\bibfont}{\small}
\DeclareFieldFormat{url}{\url{#1}}
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\renewbibmacro*{url+urldate}{%
\usebibmacro{url}%
\iffieldundef{urlyear}
{}
{\setunit*{\addcomma\space}%
\usebibmacro{urldate}}}
\DefineBibliographyStrings{american}{urlseen = {accessed}}
\urlstyle{same}
\DeclareFieldFormat[online]{title}{\mkbibquote{#1\isdot}}
\renewcommand*{\newunitpunct}{\addcomma\space}
\DefineBibliographyExtras{english}{
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#2}
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\stripzeros{\thefield{#1}}}}}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Online{Dowanol2012,
Title = {DOWANOL (TM) TPM Technical Data Sheet},
Url = {http://msdssearch.dow.com/PublishedLiteratureDOWCOM/dh_08ad/0901b803808ad68e.pdf?filepath=oxysolvents/pdfs/noreg/110-00619.pdf&fromPage=GetDoc},
author = {{The DOW Chemical Company}},
Urldate = {2015-09-08},
Year = {2012},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is a test document with one citation \cite{Dowanol2012}.
\printbibliography
\end{document}