BST 스타일 수정 및 인용 호출

BST 스타일 수정 및 인용 호출

제가 고민하고 있는 두 가지 문제가 있습니다.

첫 번째는 내 필요에 맞게 BST 파일을 편집하는 것입니다. 나는 다음과 같은 것을 원합니다. 여기에 이미지 설명을 입력하세요

\par원본 턱받이 항목(예: )에 삽입하여 메모와 URL 사이에 줄 바꿈을 얻을 수 있었지만 note={\par blah blah blah}확실히 더 쉽고 우아한 방법이 있을까요? 또한 기사 제목 뒤에 줄바꿈을 추가하고 싶습니다. 나는 다음을 다양하게 수정했습니다.

FUNCTION {article}
{ output.bibitem
    format.title "title" output.check
  new.block
  format.authors "author" output.check
  new.block
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      emphasize
      "journal" output.check
      format.date "year" output.check
      date.block
      format.vol.num.pages output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  format.issn output
  new.block
  format.url output 
  new.block
  format.note output
  fin.entry
}

성공하지 못했습니다. 줄바꿈을 삽입하려면 위의 내용을 어디서 또는 어떻게 수정해야 합니까? 아니면 편집해야 합니다:

FUNCTION {format.title}
{ title
  duplicate$ empty$ 'skip$
    { "t" change.case$ }
  if$
  "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      bolden
    }
  if$
}

그리고

FUNCTION {format.note}
{
 note empty$
    {  "" }
    { note #1 #1 substring$
      duplicate$ "{" =
        'skip$
        { output.state mid.sentence =
          { "l" }
          { "u" }
       if$
        change.case$
        }
      if$
      note #2 global.max$ substring$ * "note" bibinfo.check
    }
  if$
} ?

또 다른 문제는 날짜이다. 나는 연도 이후에 마침표를 원하지 않고 단지 공백을 원합니다. (나는 이것이 내가 makebst에게 지시한 것이라고 맹세합니다...) 과거에는 쉼표를 마침표로 대체하기 위해 날짜 필드를 편집했지만 날짜 함수에서 마침표와 쉼표에 대한 어떤 것도 볼 수 없습니다.

FUNCTION {format.date}
{
  month "month" bibinfo.check
  duplicate$ empty$
  year  "year"  bibinfo.check duplicate$ empty$
    { swap$ 'skip$
        { "there's a month but no year in " cite$ * warning$ }
      if$
      *
    }
    { swap$ 'skip$
        {
          swap$
          " " * swap$
        }
      if$
      *
    }
  if$
  duplicate$ empty$
    'skip$
    {
      before.all 'output.state :=
    " " swap$ *
    }
  if$
}

두 번째 질문은 좀 더 대담하다. PDFLaTeX가 마치 인용 대신 .tex 파일을 입력하는 것처럼 문서 본문에서 인용(BST 파일에 정의된 대로)을 호출하기를 원합니다. 따라서 Akbarzadeh et al 2016을 표시하는 텍스트 대신 내가 정의한 대로 전체 항목을 로드합니다. 나는 참고문헌처럼 보이지만 다음과 같은 것을 원하지 않습니다.

여기에 이미지 설명을 입력하세요

이것을 달성하는 방법에 대한 아이디어가 있습니까? 나는 이것을 수행하는 패키지가 어딘가에 있기를 바랍니다.

어떤 유형의 최소한의 예가 필요한지 잘 모르겠습니다. 이 문제를 해결하는 데 도움이 필요하다고 생각하는 것이 무엇인지 알려주세요.

감사해요

답변1

BibLaTeX를 알아낼 수 없었지만(TeXWorks에서 실행되지 않는 것 같거나 패키지 등에 문제가 있는 것 같습니다...) 여기에서 해결책을 찾았습니다.https://tug.org/pracjourn/2008-1/calleecharan/

최소한의 예: 텍스트 파일

\documentclass[a4paper]{article}
\usepackage[twoside,inner=25.4mm,tmargin=25.4mm,nohead,bmargin=25.4mm,textwidth=159.2mm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{lastpage}
\usepackage{url}

\begin{document}
\nocite{begcla1}

\nocite{art2}

\nocite{endcla1}

\nocite{art1}

\nocite{endcla2}

%\nocite{Elem2}

\bibliographystyle{datastyle}
\bibliography{dataset}

\end{document}

턱받이 파일:

@CREATESECTION{begcla1,
heading={Section 1} 
}

@style1{art1,
title = { My dog eats cats},
author = {Katz, JP},
journal = { Cat cuisine},
volume = {1},
pages = {3--5},
year = {2016},
url = {\url{http://www.cateaters.com}},
note = {I found this article delicious.}
}

@ENDSECTION{endcla1
}

@CREATESECTION{begcla2,
heading={Section 2} 
}

@style1{art2,
title = { My cat eats dogs},
author = {Dags, JP},
journal = { Dog cuisine},
volume = {1},
pages = {3--5},
year = {2016},
url = {\url{http://www.dogeaters.com}},
note = {It made me gag.}
}

@ENDSECTION{endcla2
}

BST 파일:

Entry
{
title
heading
author
journal
volume
pages
year
url
note
} {} {}

FUNCTION{print}
{
    cite$ pop$
}

FUNCTION {bolden}
{ duplicate$ empty$
    { pop$ "" }
    { "{\fontfamily{lmss}\bfseries\selectfont\large " swap$ * "}" * }
  if$
}

FUNCTION {format.heading}
{ heading bolden
}

FUNCTION{createsection}
{
"\vspace{0.5cm}" write$
newline$ newline$ write$
newline$ newline$ write$
 write$ newline$ print format.heading write$ newline$  write$
newline$ newline$ write$
newline$ newline$ write$
"\vspace{0.25cm}" write$
}

FUNCTION{Style1}{
"{\fontfamily{lmss}\bfseries\selectfont " write$ print title write$ "}"     write$%
print write$ ". " write$ newline$ newline$
print write$ author write$%
print write$ ". " write$%
print "{\em " write$ print journal write$ "}" write$%
print write$ ", " write$%
print volume  write$%
print write$ ":" write$%
print pages  write$%
print write$ ", " write$%
print write$ year write$%
print write$ "." write$ newline$ newline$
print write$ url  write$ newline$ newline$
print write$ ``{\normalsize `` write$ print note write$ ``}'' write$     newline$ newline$
}

FUNCTION{fin}
{newline$
}

Read

ITERATE{call.type$}

EXECUTE{fin}

턱받이 파일 대신 BST에 서식을 포함하는 방법을 찾고 싶지만 \url방법을 찾지 못했습니다. 이것은 내가 기대했던 것만큼 우아한 해결책은 아니지만 일을 할 것입니다.

코드를 정리하는 방법에 대한 제안이 있는 사람이 있다면 대단히 감사하겠습니다. 내가 뭘 하고 있는지 잘 모르겠어요...

관련 정보