참고문헌 끝에 온라인 URL 참조를 배치하기 위해 정렬 순서를 변경하는 방법은 무엇입니까?

참고문헌 끝에 온라인 URL 참조를 배치하기 위해 정렬 순서를 변경하는 방법은 무엇입니까?

내 참고문헌의 @misc 항목을 학술회의 출판 후 마지막 부분으로 이동하여 가중치를 줄이고 싶습니다. 나는 abbrvnat가 참고문헌 항목을 다르게 표시하는 방식을 좋아합니다. 나는 또한 숫자 인용과 압축을 얻기 위해 natbib을 사용하고 있습니다.

기본적으로 저자 이름을 기준으로 인용을 정렬하고(괜찮습니다), 저자 이름을 사용할 수 없는 경우 참고문헌의 정렬 필드로 다른 항목(제목?)을 사용하는 것 같습니다.

상대적 순서를 유지하면서 문서 끝에 모든 @misc 참조를 보내는 가장 쉬운 방법은 무엇입니까?

예시 문서:

\documentclass[11pt]{article}
\usepackage[hyphens]{url}
\usepackage[numbers,sort&compress]{natbib}

\begin{document}

Articles: \cite{bogus, greenwade93}

Website: \cite{example}

\bibliographystyle{abbrvnat}
\bibliography{biblio}

\end{document}

\bibliographystyle{myabbrvnat}
\bibliography{biblio}

예시 도서:

@misc{example,
  title = {{Example.org Home Page}},
  howpublished = {\url{http://example.org/}},
  note = {Accessed: June 2017.}
}

@article{bogus,
  aurhor =  {Bogus Redwade},
  title = {A Bogus Article},
  year = {1993},
}

@article{greenwade93,
  author  = {George D. Greenwade},
  title   = {The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})},
  year    = {1993},
  journal = {TUGBoat},
  volume  = {14},
  number  = {3},
  pages   = {342--351}
}

이 예에서는 웹사이트를 목록 끝으로 이동하고 싶습니다. 웹사이트가 여러 개인 경우 상대적인 순서를 유지해야 합니다.

스크린샷

답변1

참고문헌 파일을 변경하려는 경우 잘 알려진 \noopsort해결 방법을 사용할 수 있습니다(참조:https://tex.stackexchange.com/search?q=noopsort) 나머지 항목 이후에 기타 항목을 정렬합니다. 정렬은 작성자를 기준으로 수행되므로 기타 항목의 제목 필드도 작성자로 변경해야 합니다. 이 솔루션의 경우 -file을 변경할 필요가 없습니다 .bst.

예:

@PREAMBLE{ {\providecommand{\noopsort}[1]{}} }

@misc{example,
  author = {{\noopsort{zzz-example}}{Example.org Home Page}},
  howpublished = {\url{http://example.org/}},
  note = {Accessed: June 2017.}
}

결과:

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

또는 biblatex유형에 따라 별도의 참조 섹션을 인쇄하여 참고문헌 파일을 변경하지 않고도 이를 사용할 수 있습니다. 에서 적응https://tex.stackexchange.com/a/6966:

\printbibliography[nottype=misc,title={References}]
\vspace{-6mm}
\printbibliography[heading=none,type=misc]

여기서 작은 문제는 두 번째 참고문헌 섹션에 제목이 없더라도 여전히 제거해야 할 추가 공간이 있다는 것입니다(예: 음수 사용 vspace).

답변2

한 가지 방법을 찾았지만 BST 파일을 편집해야 합니다. 과잉이라고 느껴집니다. 그러나 bst 파일은 정렬을 담당하는 것 같습니다.

먼저 항목의 핵심이라고 생각했던 것을 변경해 보았습니다. 예를 @misc{foo,...}들어 로 변경했지만 @misc{z-foo,...}전혀 효과가 없었기 때문에 더 깊이 파고들었습니다.

1단계. bst 파일 편집

  1. abbrvnat.bst를 프로젝트 디렉터리에 복사합니다( $ cp /usr/share/texlive/texmf-dist/bibtex/bst/natbib/abbrvnat.bst ./myabbrtnat.bst).
  2. 파일 상단에 "동일한 저자 및 연도의 저작물은 자연적인 순서를 보존하기 위해 인용 키를 기준으로 추가로 정렬됩니다."라는 내용이 표시되어 있습니다. Abbrvnat는 먼저 저자별로 정렬합니다. 이는 아마도 tuple: 으로 정렬된다는 의미일 것입니다 (author(s), year, key).

  3. 복사된 파일을 편집합니다.

    1. 섹션 에서 ENTRY뒤에 자체 줄에 key호출되는 새 필드를 추가합니다 .sortkey
    2. Author.sort 기능이 있습니다. 작성자 필드를 재정의하기 위해 'sortkey' 필드를 처리하도록 수정했습니다.

(일부 인용 유형은 저자를 사용하여 정렬하지 않으므로(예: 편집기에서 정렬) 참고문헌에 따라 다른 위치에 이를 복제해야 할 수도 있습니다.

FUNCTION {author.sort}
{ sortkey empty$
    { author empty$
      { key empty$
          { "to sort, need author or key in " cite$ * warning$
          ""
          }
          { key sortify }
    if$
      }
      { author sort.format.names }
      if$
    }
    { sortkey sortify }
  if$
}

2단계. 수정된 BST 사용

  1. 기본 라텍스 파일에서 다음으로 변경합니다.\bibliographystyle{myabbrvnat}

  2. 순서를 변경해야 하는 각 참고문헌 항목에 대해 sortkey순서를 결정하는 데 사용해야 하는 새 값이 포함된 필드를 추가합니다.마지막으로 보내려면 항목 이름 앞에 "zz-"를 추가합니다..

텍스트에서:

...
Website: F~\cite{example-f}, E~\cite{example-e}, A~\cite{example-a}
...

그리고 도서관:

@misc{example-a,
  sortkey = {axample}, % will go before others - starts with 'a'
  title = {{Axample.org Home Page}},
  howpublished = {\url{http://example.org/}},
}

@misc{example-e,
  sortkey = {zzz-example},     % send to the back. prefix with 'zzz-'
  title = {{Example.org Home Page}},
  howpublished = {\url{http://example.org/}},
}

@misc{example-f,
  sortkey = {zzz-fxample},     % send to the back. prefix with 'zzz-'
  title = {{Fxample.org Home Page}},
  howpublished = {\url{http://example.org/}},
}

생산물:

결과

관련 정보