저자 및 소속

개요

Quarto의 중요한 목표 중 하나는 같은 소스 문서로 여러 출력 포맷을 만들 수 있게 하는 것입니다. 이를 위해 해결해야 할 중요한 과제는, 여러 학술지를 대상으로 하는 논문이 각 학술지마다 저자와 소속 정보를 따로 손볼 필요가 없도록 일관된 저자/소속 메타데이터 표현 방식을 정의하는 것입니다.

Quarto의 해법은 두 가지입니다.

  1. 다양한 저자/소속 표현을 표준 스키마로 파싱합니다.

  2. 템플릿 작성자가 학술지에 필요한 LaTeX를 쉽게 만들 수 있도록 저자와 소속을 함께 묶은 비정규화 뷰를 제공합니다.

아래에서는 템플릿 작성자 관점에서 이 기능들을 자세히 살펴봅니다. 논문 작성자 관점의 설명은 저자 및 소속을 참고하세요.

Note

저자와 소속을 지정하는 방식은 매우 다양하지만, 특정 학술지의 template.qmd에서는 보통 선호되는 방식이 있습니다. 해당 방식을 예제로 템플릿에 미리 넣어두는 것이 좋습니다.

저자 메타데이터

Quarto는 정규화된 저자 표현으로 파싱할 수 있는 데이터를 찾기 위해 author 또는 authors 필드를 확인합니다. 이는 이름 하나 또는 이름 목록처럼 간단할 수도 있습니다.

author:   
  - Norah Jones   
  - Bill Gates

또는 저자와 소속의 다양한 속성과 특성을 표현하는 복잡한 데이터 구조일 수도 있습니다.

author:
  - name: Bill Gates
    orcid: 0000-0003-1689-0557
    email: bill@gates.com
    affiliations:
      - name: Bill & Melinda Gates Foundation
        address: 440 5th Ave N
        city: Seattle
        state: WA
        postal-code: 98109-4631

위 두 표현 모두에 대해, Quarto는 저자와 소속 데이터를 처리해 아래에 설명된 키로 정규화합니다.

author

author 메타데이터 키에는 Quarto 확장 스키마를 모르는 기존 Pandoc 템플릿에서도 올바르게 렌더링될 수 있는 단순 이름 목록이 들어갑니다.

authors

authors 메타데이터 키에는 정규화된 저자 데이터 구조가 들어갑니다. 소속은 인라인이 아니라 참조로 연결되므로, 템플릿에서 저자 데이터를 출력할 때는 일반적으로 사용하지 않습니다. 메타데이터에 나타난 저자 순서는 유지됩니다.

affiliations

affiliations 메타데이터 키에는 정규화된 소속 데이터 구조가 들어갑니다. id가 정의되지 않은 경우 자동으로 할당됩니다. 소속은 저자를 참조하지 않으므로, 템플릿에서 소속 데이터를 출력할 때는 일반적으로 사용하지 않습니다. 메타데이터에 나타난 소속 순서는 유지되며, 중복 소속은 제거됩니다.

by-author

by-author 메타데이터 키에는 저자 순서 그대로 구성된 저자 데이터의 비정규화 버전이 들어갑니다. 소속을 참조하는 대신 각 저자에 대해 affiliations 하위 키에 파싱된 전체 소속 내용을 포함하므로, 템플릿 작성자가 저자 목록을 순회하고 그 안에서 소속을 쉽게 처리할 수 있습니다. 메타데이터에 나타난 저자 순서는 유지됩니다.

by-affiliation

by-affiliation 메타데이터 키에는 소속이 나타난 순서대로 구성된 소속 데이터의 비정규화 버전이 들어갑니다. authors 하위 키에 파싱된 전체 저자 데이터가 순서대로 포함됩니다. 이는 템플릿 작성자가 소속과 해당 소속의 저자를 쉽게 순회할 수 있게 해줍니다. 메타데이터에 나타난 소속 순서는 유지됩니다.

저자 스키마

완전한 정규화 저자 스키마는 다음과 같습니다.

author:
  - id: string
    number: number
    name:
      given: string
      family: string
      literal: string
      dropping-particle: string
      non-dropping-particle: string
    url: string
    email: string
    phone: string
    fax: string
    degrees: 
      # see schema below
    orcid: string
    note: string
    acknowledgements: string
    attributes:
      corresponding: boolean
      equal-contributor: boolean
      deceased: boolean
    roles: 
      # see schema below
    metadata: object
    affiliations: 
      # see schema below

이름

대부분 사용자는 다음처럼 이름을 단일 문자열로 작성합니다.

author: Norah Jones

또는 다음처럼 작성할 수도 있습니다.

author:
  - name: Norah Jones

이는 다음과 같이 파싱됩니다.

author:
  - name:
      given: Norah
      family: Jones
      literal: Norah Jones

Quarto는 BibTeX(openjournals/inara 방식)으로 이름을 파싱하며, 쉼표 개수, 대문자 처리 등 BibTeX의 파싱 동작을 지원합니다. BibTeX로 파싱되지 않는 이름의 경우 공백 기준으로 given/family를 나눕니다(마지막 공백 뒤는 family로 간주). 다만 모호함을 줄이기 위해 given, family, particle을 각각 분리해 제공할 수도 있습니다.

name:
  given: Norah
  family: Jones
  dropping-particle: von

학위

학위 또는 학술 칭호는 degrees로 지정할 수 있으며, 다음 중 하나일 수 있습니다.

  • A single string:

    author: 
      degrees: PhD
  • An array of strings:

    author: 
      degrees:
        - PhD
        - MsSc

항상 학위 배열로 정규화됩니다.

속성

최상위에 인식 가능한 속성 키(예: corresponding)가 있으면 자동으로 attributes 아래로 정규화됩니다. 예를 들면 다음과 같습니다.

author:
  name: Norah Jones
  corresponding: true

다음과 같이 정규화됩니다.

author:
  - name:
      given: Norah
      family: Jones
      literal: Norah Jones
    attributes:
      corresponding: true

역할

저자 역할은 role 또는 roles로 지정할 수 있으며, 다음 중 하나일 수 있습니다.

  • A single string:

    author: 
      role: "Conceived and designed the study"
  • An array of strings:

    author: 
      role: 
        - conceptualization
        - methodology
  • An array of key-value pairs of the form role: contribution:

    author: 
      role: 
        - conceptualization: lead
        - methodology: supporting

역할이 CRediT 역할 또는 별칭 중 하나와 일치하면, CRediT 사양에 따라 vocab-identifier, vocab-term, vocab-term-indentifier 속성이 역할에 추가됩니다.

임의 메타데이터

정규화된 저자 스키마는 최상위에서 닫힌 스키마입니다. 저자 루트에 인식되지 않는 키가 전달되면 metadata 키 아래로 정규화됩니다. 예를 들면 다음과 같습니다.

author:
  name: Norah Jones
  corresponding: true
  custom-info: "custom value"

다음과 같이 정규화됩니다.

author:
  - name:
      given: Norah
      family: Jones
      literal: Norah Jones
    attributes:
      corresponding: true
    metadata:
      custom-info: "custom value"

metadata로 정규화된 키는 템플릿에 특화되어 있을 수 있으며, 템플릿 구현 시 항상 존재하거나 의존한다고 가정해서는 안 됩니다.

소속 스키마

완전한 정규화 소속 스키마는 다음과 같이 정의됩니다.

affiliations:
  - id: string
    number: number
    name: string
    department: string
    group: string
    address: string
    city: string
    region: string
    country: string
    postal-code: string
    url: string

파싱 참고사항

  • state 또는 region 중 하나를 지정할 수 있으며, 둘 중 어떤 것이든 region 키로 정규화됩니다.

  • 소속에 문자열만 지정하면 해당 문자열이 소속 이름으로 사용됩니다.

  • id는 생략할 수 있으며, 이 경우 id가 자동으로 생성됩니다(간단한 카운터 기반 id 사용).

  • url 필드는 저자에 있는 affiliation-url 키로도 채울 수 있으며, 이는 저자와 소속에 대한 Distill 메타데이터와의 호환성을 유지합니다.

조합 방식

위 스키마들을 조합하려면 저자와 소속을 여러 방식으로 지정할 수 있습니다. 각 방식은 위에서 설명한 표준 스키마로 정규화됩니다.

인라인 소속

소속을 단순 문자열 또는 복합 소속으로 인라인에서 작성할 수 있습니다. 예:

author:
  - name: Norah Jones
    affiliations:
      - Carnegie Mellon University
      - University of Chicago

또는

author:
  - name: Norah Jones
    affiliations:
      - name: Carnegie Mellon University
        city: Pittsburgh
        state: PA
      - name: University of Chicago
        city: Chicago
        state: IL

참조 소속

소속을 별도 키에 작성하고 저자에서는 소속을 참조만 할 수 있습니다. 예:

author:
  - name: Norah Jones
    affiliations:
      - ref: cmu
      - ref: chicago
affiliations:
  - id: cmu
    name: Carnegie Mellon University
    city: Pittsburgh
    state: PA
  - id: chicago
    name: University of Chicago
    city: Chicago
    state: IL

인라인 참조

저자 키에서 생성한 소속에 id를 부여하고, 다른 저자에서 해당 id를 참조로 사용할 수도 있습니다. 예:

author:
  - name: Norah Jones
    affiliations:
      - id: cmu
        name: Carnegie Mellon University
        city: Pittsburgh
        state: PA
      - id: chicago
        name: University of Chicago
        city: Chicago
        state: IL
  - name: John Hamm
    affiliations:
      - ref: cmu
      - name: University of California, San Diego
        city: San Diego
        state: CA