원고를 제출하려고 합니다.전산 물리학 저널엘스비어. 출판사가 최초 제출 시 참고문헌 형식 요구사항을 명시적으로 지정하지 않았지만 해당 저널에 게재된 논문의 최종 PDF에 대한 실제 참고문헌 스타일을 복제하는 데 관심이 있습니다.
요구 사항은 각 참고 문헌 항목(예: 전체 줄 항목)이 클릭 가능한 하이퍼링크가 되어야 한다는 것입니다( doi
사용 가능한 경우 필드 사용, 그렇지 않으면 파일 url
의 관련 키 필드 사용 bib
).
를 사용하고 있어서 elsarticle.cls
사용할 수 없습니다 biblatex
. 따라서 natbib/bibtex
기반 솔루션이 필요합니다.
다음은 MWE로 시작하는 것입니다.
\documentclass[number]{elsarticle}
\begin{document}
\begin{frontmatter}
\title{Dummy document \tnoteref{t1,t2}}
\tnotetext[t1]{Title footnote 1}
\tnotetext[t2]{Title footnote 2}
\author[a]{First Author\fnref{fn1}}
\ead{firstemail_id@insti_1.edu}
\author[b]{Second Author\fnref{fn2}}
\ead{secondemail_id@insti_2.edu}
\address[a]{Address of author with affiliation `a'}
\address[b]{Address of author with affiliation `b'}
\fntext[fn1]{This is a footnote.}
\fntext[fn2]{Another author footnote}
\begin{abstract}
Dummy abstract.
\end{abstract}
% Research highlights
\begin{highlights}
\item Research highlight 1
\item Research highlight 2
\end{highlights}
\begin{keyword}
Some \sep keywords
\end{keyword}
\end{frontmatter}
\section{Introduction}{\label{sec:intro}}
Intro
\section{Next}{\label{sec:blah}}
More blah
\nocite{*} % Temporary placeholder. Comment out after bib file is populated and \cite commands issued
\bibliographystyle{elsarticle-num}
\bibliography{manuscript_references.bib}
\end{document}
답변1
.bst
질문에 대한 내 의견에 썼듯이 이것이 Elsevier 저널에 제출하기 위한 최선의 아이디어라고 반드시 생각하지는 않지만 파일을 약간 수정하면 가능합니다 .
나는 이것을 달성하는 다른 방법이 있다고 확신하지만 여기에 내가 한 일이 있습니다.
elsarticle-num-names.bst
참조의 일부 부분을 URL에 대한 링크로 조판하는 방법이 이미 있으므로( 필드 @misc
가 있는 항목 의 제목 url
은 이미 URL에 직접 연결되어 있음) 이 기계를 사용하여 링크 영역을 확장할 수 있습니다. 기사를 완성하고 DOI도 고려하십시오.
DOI의 확장은 다소 간단합니다. 링크 영역을 확장하려면 매크로와 기능을 뒤섞는 작업이 필요했습니다.
elsarticle-num-names.bst
(v2.1 [2019-04-15], CTAN의 현재 버전) 과의 차이점은 다음과 같습니다.
--- elsarticle-num.bst 2019-04-05 15:29:24.000000000 +0200
+++ link-elsarticle-num.bst 2020-03-26 21:55:15.423852900 +0100
@@ -114,32 +114,51 @@
}
FUNCTION {setup.inlinelink}
-{ makeinlinelink
- { hrefform #1 = % hypertex
- { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+{
+ doi empty$
+ {
+ url empty$
+ { "" }
+ { url }
+ if$
+ }
+ { doiurl doi * }
+ if$
+ duplicate$ empty$
+ 'pop$
+ {
+ hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * swap$ * quote$ * "> }" * 'openinlinelink :=
"\special {html:</a>}" 'closeinlinelink :=
}
{ hrefform #2 = % hyperref
- { "\href{" url * "}{" * 'openinlinelink :=
+ { "\href{" swap$ * "}{" * 'openinlinelink :=
"}" 'closeinlinelink :=
}
- 'skip$
+ 'pop$
if$ % hrefform #2 =
}
if$ % hrefform #1 =
#0 'makeinlinelink :=
}
- 'skip$
- if$ % makeinlinelink
+ if$
}
-FUNCTION {add.inlinelink}
+FUNCTION {add.openinlinelink}
{ openinlinelink empty$
'skip$
- { openinlinelink swap$ * closeinlinelink *
+ { openinlinelink write$
"" 'openinlinelink :=
}
if$
}
+FUNCTION {add.closeinlinelink}
+{ closeinlinelink empty$
+ 'skip$
+ { closeinlinelink write$
+ "" 'closeinlinelink :=
+ }
+ if$
+}
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
@@ -157,7 +176,6 @@
% Write out what's currently at the top of the stack, using the
% original output.nonnull function.
s
- add.inlinelink
output.nonnull.original % invoke the original output.nonnull
}
{ % Still in brackets. Add open-bracket or (continuation) comma, add the
@@ -203,12 +221,6 @@
if$
}
-FUNCTION {fin.entry.original}
-{ add.period$
- write$
- newline$
-}
-
FUNCTION {new.block}
{ output.state before.all =
'skip$
@@ -472,7 +484,7 @@
FUNCTION {write.url}
{ url empty$
{ skip$ }
- { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
+ { "\newline\urlprefix\nolinkurl{" url * "}" * write$ newline$ }
if$
}
@@ -1032,13 +1044,11 @@
}
FUNCTION {make.href.hypertex}
{
- "\special {html:<a href=" quote$ *
- swap$ * quote$ * "> }" * swap$ *
- "\special {html:</a>}" *
+ pop$
}
FUNCTION {make.href.hyperref}
{
- "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+ pop$ "\path{" swap$ * "}" *
}
FUNCTION {make.href}
{ hrefform #2 =
@@ -1054,12 +1064,7 @@
FUNCTION {format.url}
{ inlinelinks #1 = url empty$ or
{ "" }
- { hrefform #1 =
- { % special case -- add HyperTeX specials
- urlintro "\url{" url * "}" * url make.href.hypertex * }
- { urlintro "\url{" * url * "}" * }
- if$
- }
+ { urlintro "\nolinkurl{" * url * "}" * }
if$
}
@@ -1104,14 +1109,13 @@
FUNCTION {output.bibitem}
{ outside.brackets 'bracket.state :=
output.bibitem.original
- inlinelinks url empty$ not and
- { #1 'makeinlinelink := }
- { #0 'makeinlinelink := }
- if$
+ setup.inlinelink
+ add.openinlinelink
}
FUNCTION {fin.entry}
-{ output.web.refs % urlbst
+{
+ output.web.refs % urlbst
makeinlinelink % ooops, it appears we didn't have a title for inlinelink
{ setup.inlinelink % add some artificial link text here, as a fallback
"[link]" output.nonnull }
@@ -1121,7 +1125,14 @@
{ "]" * }
'skip$
if$
- fin.entry.original
+ add.period$
+ write$
+ type$ "webpage" =
+ 'skip$
+ 'write.url
+ if$
+ add.closeinlinelink
+ newline$
}
FUNCTION {webpage}
@@ -1139,7 +1150,6 @@
}
if$
new.block
- title empty$ 'skip$ 'setup.inlinelink if$
format.title "title" output.check
inbrackets "online" output
new.block
@@ -1159,7 +1169,6 @@
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
crossref missing$
{ journal
@@ -1179,7 +1188,6 @@
'skip$
if$
fin.entry
- write.url
}
FUNCTION {book}
@@ -1194,7 +1202,6 @@
if$
}
if$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.edition output
@@ -1208,20 +1215,17 @@
if$
format.note output
fin.entry
- write.url
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished output
address output
format.note output
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {inbook}
@@ -1236,7 +1240,6 @@
if$
}
if$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{
@@ -1254,13 +1257,11 @@
format.pages "pages" output.check
format.note output
fin.entry
- write.url
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
@@ -1277,13 +1278,11 @@
format.pages "pages" output.check
format.note output
fin.entry
- write.url
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
@@ -1303,7 +1302,6 @@
format.pages "pages" output.check
format.note output
fin.entry
- write.url
}
FUNCTION {conference} { inproceedings }
@@ -1320,7 +1318,6 @@
}
{ format.authors output.nonnull }
if$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -1339,13 +1336,11 @@
format.note output
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
bbl.mthesis format.thesis.type output.nonnull
school "school" output.check
@@ -1353,26 +1348,22 @@
format.note output
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {misc}
{ output.bibitem
format.authors output
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title output
howpublished output
format.note output
format.date "year" output.check
fin.entry
- write.url
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
bbl.phdthesis format.thesis.type output.nonnull
school "school" output.check
@@ -1380,7 +1371,6 @@
format.note output
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {proceedings}
@@ -1389,7 +1379,6 @@
{ organization output }
{ format.editors output.nonnull }
if$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -1413,13 +1402,11 @@
if$
format.note output
fin.entry
- write.url
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
format.tr.number output.nonnull
institution "institution" output.check
@@ -1427,18 +1414,15 @@
format.note output
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
format.note "note" output.check
format.date "year" output.check
fin.entry
- write.url
}
FUNCTION {default.type} { misc }
@@ -1487,6 +1471,8 @@
write$ newline$
" \def\href#1#2{#2} \def\path#1{#1}\fi"
write$ newline$
+ "\providecommand*{\nolinkurl}{\url}"
+ write$ newline$
}
EXECUTE {begin.bib}
수정된 파일은 link-elsarticle-num.bst
다음에서 다운로드할 수 있습니다.https://gist.github.com/moewew/1519006f9de5500db470bcc4701edeb5(해당 페이지에는 원본과도 좋은 차이점이 있습니다).
이를 통해 link-elsarticle-num.bst
다음 MWE
\documentclass[number]{elsarticle}
\usepackage[T1]{fontenc}
\usepackage[colorlinks]{hyperref}
\begin{filecontents}{\jobname.bib}
@article{sigfridsson,
author = {Sigfridsson, Emma and Ryde, Ulf},
title = {Comparison of Methods for Deriving Atomic Charges from the
Electrostatic Potential and Moments},
journal = {Journal of Computational Chemistry},
year = 1998,
volume = 19,
number = 4,
pages = {377-395},
doi = {10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P},
}
@misc{elk,
author = {Anne Elk},
title = {A Theory on {Brontosauruses}},
year = {1971},
url = {https://example.edu/~elk/bronto.pdf},
}
@book{nussbaum,
author = {Nussbaum, Martha},
title = {{Aristotle's} {`De Motu Animalium'}},
year = 1978,
publisher = {Princeton University Press},
address = {Princeton},
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{link-elsarticle-num}
\bibliography{\jobname}
\end{document}
생산하다
URL 및 DOI의 명시적인 출력을 억제하려면 제거하십시오.
output.web.refs % urlbst
그리고
type$ "webpage" =
'skip$
'write.url
if$
읽을 수 있도록 FUNCTION {fin.entry}
in을 차단하세요. link-elsarticle-num.bst
FUNCTION {fin.entry}
{
makeinlinelink % ooops, it appears we didn't have a title for inlinelink
{ setup.inlinelink % add some artificial link text here, as a fallback
"[link]" output.nonnull }
'skip$
if$
bracket.state close.brackets = % urlbst
{ "]" * }
'skip$
if$
add.period$
write$
add.closeinlinelink
newline$
}
답변2
인용된 참고문헌을 클래스가 있는 클릭 가능한 링크로 변환하려면 elsarticle
(암시적으로 bibtex
참조 관리자를 사용함) 를 사용할 수 있습니다 \usepackage{hyperref}
. 출력의 두 번째 페이지는 다음과 같습니다.
입력 tex 파일은 다음과 같습니다.
\documentclass[number]{elsarticle}
\usepackage[hidelinks, colorlinks=true]{hyperref} %% ADDS LINKS TO REFERENCES, YOU CAN IGNORE THE OPTIONS [hidelinks, colorlinks=true] IF YOU LIKE.
\begin{document}
\begin{frontmatter}
\title{Dummy document \tnoteref{t1,t2}}
\tnotetext[t1]{Title footnote 1}
\tnotetext[t2]{Title footnote 2}
\author[a]{First Author\fnref{fn1}}
\ead{firstemail_id@insti_1.edu}
\author[b]{Second Author\fnref{fn2}}
\ead{secondemail_id@insti_2.edu}
\address[a]{Address of author with affiliation `a'}
\address[b]{Address of author with affiliation `b'}
\fntext[fn1]{This is a footnote.}
\fntext[fn2]{Another author footnote}
\begin{abstract}
Dummy abstract.
\end{abstract}
% Research highlights
\begin{highlights}
\item Research highlight 1
\item Research highlight 2
\end{highlights}
\begin{keyword}
Some \sep keywords
\end{keyword}
\end{frontmatter}
\section{Introduction}{\label{sec:intro}}
Intro
\section{Next}{\label{sec:blah}}
More blah in example of citation here \cite{Tenis_2000}. Another example of citation \cite{kilde}. Here is a third citation for a real article with doi and url \cite{Aalbersberg_2014}.
\nocite{*} % Temporary placeholder. Comment out after bib file is populated and \cite commands issued
\bibliographystyle{elsarticle-num}
\bibliography{reference} %%% DON’T ADD EXTENSION OF FILE
\end{document}
여기에 사용된 참조 파일은 다음과 같습니다. reference.bib
@Book{kilde,
author = {John Doe},
publisher = {John Wiley},
title = {Differential equations : an introduction to modern methods and applications},
year = {2020},
address = {New Jersey},
isbn = {9780471651413},
keywords = {Differential equations},
language = {In English},
}
@Article{Tenis_2000,
author = {Michael Tenis},
journal = {Jounal of Energy},
title = {New article about something},
year = {2000},
month = aug,
number = {7},
pages = {66--88},
volume = {2},
}
@Article{Aalbersberg_2014,
author = {IJsbrand Jan Aalbersberg and Sophia Atzeni and Hylke Koers and Beate Specker and Elena Zudilova-Seinstra},
journal = {{LIBER} Quarterly},
title = {Bringing Digital Science Deep Inside the Scientific Article: the Elsevier Article of the Future Project},
year = {2014},
month = {apr},
number = {4},
pages = {274},
volume = {23},
doi = {10.18352/lq.8446},
publisher = {Uopen Journals},
url = {https://doi.org/10.18352/lq.8446},
}
\usepackage{hyperref}
링크에 대한 링크를 조정하기 위해 다양한 옵션과 함께 사용할 수 있습니다 . 예를 들어 링크 색상 변경, 밑줄 또는 상자 배치 등. 이 내용은 해당 항목에서 확인할 수 있습니다.수동. 이는 참고문헌 섹션의 참고문헌에 인용을 연결하기 위한 것입니다.
참고문헌 섹션의 참조를 출판 웹사이트에 연결하려면 파일에서 url
또는 doi
필드를 모두 사용하거나 둘 다 사용해야 합니다 reference.bib
. 웹 사이트상호참조및 를 Actions>Cite
포함하여 모든 참조 정보를 거기에서 직접 파일 로 복사할 수 있으므로 많은 도움이 됩니다 .url
doi
reference.bib
명령 을 사용한 \bibliography
뒤에는 bib 파일 이름이 와야 합니다.없이확장자는 이렇게 \bibliography{reference}
.