책의 하위 그룹 관리, 예를 들어 “장르”¶
일부 사용자는 하위 폴더와 유사하게 라이브러리의 책을 하위 그룹으로 구성하고 싶어합니다. 가장 흔히 제시되는 이유는 장르 계층 구조를 만드는 것이지만, 다른 이유도 많습니다. 한 사용자는 교과서를 과목과 강좌 번호로 정리하는 방법을 요청했습니다. 다른 사용자는 선물을 주제와 수신자별로 추적하고 싶어했습니다. 이 튜토리얼에서는 이 글의 나머지 부분에서 장르 예시를 사용합니다.
계속하기 전에, 하드 디스크의 폴더에 대해 이야기하는 것이 아님을 유의하세요. 하위 그룹은 파일 폴더가 아닙니다. 책이 어디로 복사되는 것은 아닙니다. 캘리버의 라이브러리 파일 구조에 영향을 주지 않습니다. 대신, 캘리버 라이브러리 내에서 책의 하위 그룹을 구성하고 표시하는 방법을 제시합니다.
장르와 같은 하위 그룹에 대해 일반적으로 제시되는 요구 사항은 다음과 같습니다:
하위 그룹(예: 장르)은 책의 범주가 아닌 책을 포함(가리켜야) 해야 합니다. 이는 하위 그룹을 캘리버 사용자 범주와 구별하는 것입니다.
하나의 책이 여러 하위 그룹(장르)에 속할 수 있습니다. 이는 하위 그룹을 물리적 파일 폴더와 구별하는 것입니다.
하위 그룹(장르)은 계층 구조를 형성해야 합니다. 하위 그룹은 하위 그룹을 포함할 수 있습니다.
태그는 처음 두 가지를 제공합니다. 책에 장르를 태그하면 태그 브라우저(또는 검색)를 사용하여 해당 장르의 책을 찾을 수 있으므로 첫 번째를 충족합니다. 많은 책이 같은 태그를 가질 수 있으므로 두 번째를 충족합니다. 문제는 태그가 세 번째 요구 사항을 충족하지 못한다는 것입니다. 계층 구조를 제공하지 않습니다.
캘리버의 계층 기능은 세 번째를 제공합니다 – 장르를 ‘트리’로 볼 수 있는 능력과 장르 또는 하위 장르에서 책을 쉽게 검색할 수 있는 능력입니다. 예를 들어, 장르 구조가 다음과 유사하다고 가정해 보겠습니다:
Genre
. History
.. Japanese
.. Military
.. Roman
. Mysteries
.. English
.. Vampire
. Science Fiction
.. Alternate History
.. Military
.. Space Opera
. Thrillers
.. Crime
.. Horror
etc.
계층 기능을 사용하면 스크린샷과 같이 태그 브라우저에서 이러한 장르를 트리 형태로 볼 수 있습니다. 이 예에서 가장 바깥쪽 수준(장르)은 장르를 포함하는 사용자 정의 열입니다. 하위 장르를 포함하는 장르 옆에는 작은 삼각형이 나타납니다. 해당 삼각형을 클릭하면 항목이 열리고 역사와 공상 과학에서 볼 수 있듯이 하위 장르가 표시됩니다.
장르를 클릭하면 해당 장르 또는 해당 장르의 하위 항목이 있는 모든 책을 검색할 수 있습니다. 예를 들어, 공상 과학을 클릭하면 대체 역사, 군사, 스페이스 오페라 세 가지 하위 장르를 모두 표시합니다. 대체 역사를 클릭하면 군사와 스페이스 오페라에 있는 책은 무시하고 해당 장르의 책만 표시합니다. 물론 하나의 책이 여러 장르를 가질 수 있습니다. 책에 스페이스 오페라와 군사 장르가 모두 있으면 두 장르 중 어느 것을 클릭하든 해당 책이 표시됩니다. 검색에 대해서는 아래에서 자세히 설명합니다.
이미지에서 볼 수 있는 또 다른 것은 군사 장르가 역사 아래 한 번, 공상 과학 아래 한 번, 두 번 나타난다는 것입니다. 장르가 계층 구조에 있으므로 이들은 서로 다른 두 개의 별도 장르입니다. 책은 하나 또는 다른 하나에 속하거나 (이 경우에는 의심스럽지만) 둘 다 속할 수 있습니다. 예를 들어, 윈스턴 처칠의 “제2차 세계 대전” 책은 “역사.군사”에 있을 수 있습니다. 데이비드 위버의 해링턴 시리즈는 “공상 과학.군사”에 있을 수 있고, 마찬가지로 “공상 과학.스페이스 오페라”에도 있을 수 있습니다.
장르가 존재하면, 즉 최소 한 권의 책이 해당 장르를 가지고 있으면, 라이브러리 보기에서 책을 원하는 장르로 끌어다 놓아 쉽게 다른 책에 적용할 수 있습니다. 메타데이터 편집기에서도 장르를 적용할 수 있습니다. 이에 대해서는 아래에서 자세히 설명합니다.
설정¶
이제 “이 모든 것이 어떻게 설정되었나요?”라는 질문이 있을 수 있습니다. 세 단계가 있습니다: 1) 사용자 정의 열 만들기, 2) 새 열을 계층으로 취급하도록 캘리버에 알리기, 3) 장르 추가하기.
환경설정 -> 사용자 정의 열 추가를 사용하여 일반적인 방법으로 사용자 정의 열을 만듭니다. 이 예에서는 조회 이름으로 “#genre”를 사용하고 열 머리글로 “장르”를 사용합니다. 열 유형이 :guilabel:`태그와 같은 쉼표로 구분된 텍스트, 태그 브라우저에 표시`로 설정되어 있어야 합니다.
그런 다음 캘리버를 다시 시작한 후 해당 열을 계층으로 취급하도록 캘리버에 알려야 합니다. :guilabel:`환경설정 -> 모양 및 느낌 -> 태그 브라우저 -> 계층 및 검색`으로 이동하여 새 장르 열이 계층적 항목을 포함하도록 선택하세요.
이 시점에서는 열에 장르가 없습니다. 마지막 단계가 남아 있습니다: 책에 장르를 적용하는 방법. 장르는 최소 한 권의 책에 나타날 때까지 캘리버에 존재하지 않습니다. 처음으로 장르를 적용하는 방법을 배우려면 책의 메타데이터에서 장르가 어떻게 보이는지 자세히 알아봐야 합니다.
‘항목’의 계층 구조는 마침표로 구분된 구문으로 구성된 항목을 만들어 구성합니다. 장르 예시를 계속하면, 이러한 항목은 “역사.군사”, “미스터리.뱀파이어”, “공상 과학.스페이스 오페라” 등이 됩니다. 따라서 새 장르를 만들려면 해당 장르를 가져야 하는 책을 선택하고 메타데이터를 편집한 다음 만든 열에 새 장르를 입력합니다. 예시를 계속하여, 책에 새 장르 “만화”와 하위 장르 “슈퍼히어로”를 할당하려면 해당 (만화) 책의 ‘메타데이터 편집’을 선택하고 사용자 정의 메타데이터 탭을 선택한 다음 다음 그림과 같이 “만화.슈퍼히어로”를 입력하세요(다른 사용자 정의 열은 무시하세요):
위를 수행한 후 태그 브라우저에서 다음을 볼 수 있습니다:
이제부터 이 새 장르를 책(아마도 만화책)에 적용하려면, 책을 해당 장르로 끌어다 놓거나 위와 동일한 방법으로 메타데이터 편집을 사용하여 책에 추가할 수 있습니다.
참고
계층적 표시는 태그 브라우저가 이름순으로 항목을 정렬하도록 설정된 경우에만 작동합니다. 이것이 기본값이며 태그 브라우저 하단의 구성 버튼을 클릭하여 확인할 수 있습니다.
검색¶
장르를 검색하는 가장 쉬운 방법은 태그 브라우저를 사용하여 보고 싶은 장르를 클릭하는 것입니다. 하위 항목이 있는 장르를 클릭하면 해당 장르와 모든 하위 장르가 있는 책이 표시됩니다. 그러나 여기서 질문이 생길 수 있습니다. 장르에 하위 항목이 있다고 해서 자체적으로 장르가 아닌 것은 아닙니다. 예를 들어, 책이 “역사” 장르를 가질 수 있지만 “역사.군사”는 아닐 수 있습니다. “역사”만 있는 책을 어떻게 검색하나요?
태그 브라우저 검색 메커니즘은 항목에 하위 항목이 있는지 알고 있습니다. 하위 항목이 있으면 항목을 클릭하면 일반적인 세 가지 대신 다섯 가지 검색을 순환합니다. 첫 번째는 일반적인 녹색 더하기로, 해당 장르만 있는 책을 표시합니다(예: 역사). 두 번째는 이중 더하기(위에 표시됨)로, 해당 장르와 모든 하위 장르가 있는 책을 표시합니다(예: 역사 및 역사.군사). 세 번째는 일반적인 빨간색 빼기로, 해당 정확한 장르가 없는 책을 표시합니다. 네 번째는 이중 빼기로, 해당 장르나 하위 장르가 없는 책을 표시합니다. 다섯 번째는 처음으로 돌아가며, 표시가 없음을 의미합니다.
제한¶
장르를 검색한 다음 저장된 검색을 만들면 ‘제한’ 상자를 사용하여 해당 장르의 책으로 구성된 가상 라이브러리를 만들 수 있습니다. 이는 해당 장르 내에서 다른 검색을 수행하거나 해당 장르의 책에 대한 메타데이터를 관리/업데이트하려는 경우 유용합니다. 예시를 계속하여, 먼저 태그 브라우저에서 일본 장르를 클릭하여 검색 필드에 검색을 입력하고, 저장된 검색 필드에 역사를 입력한 다음, “검색 저장” 버튼(오른쪽에 있는 흰색 더하기가 있는 녹색 상자)을 눌러 ‘역사.일본’이라는 저장된 검색을 만들 수 있습니다.
저장된 검색을 만든 후 제한으로 사용할 수 있습니다.
유용한 템플릿 함수¶
디스크에 저장하거나 기기로 보내기와 같은 템플릿에서 장르 정보를 사용하고 싶을 수 있습니다. 그러면 “가장 바깥쪽 장르 이름을 어떻게 가져오나요?”라는 질문이 있을 수 있습니다. 이를 더 쉽게 수행하기 위해 캘리버 템플릿 함수인 subitems가 제공됩니다.
예를 들어, 디스크에 저장하기 템플릿에 가장 바깥쪽 장르 수준을 추가하여 “역사/The Gathering Storm - Churchill, Winston”과 같이 장르 폴더를 만들고 싶다고 가정해 보겠습니다. 이렇게 하려면 계층의 첫 번째 수준을 추출하고 폴더를 만들어야 함을 나타내는 슬래시와 함께 앞에 추가해야 합니다. 아래 템플릿이 이를 수행합니다:
{#genre:subitems(0,1)||/}{title} - {authors}
템플릿과 subitems() 함수에 대한 자세한 내용은 :ref:`템플릿 언어 <templatelangcalibre>`를 참조하세요.
