
(기존 스타일을 기반으로) 용어집 스타일을 만들었습니다. 이전 접근 방식보다 각주에 더 심각한 문제가 있는 것은 아닙니다. 그럼에도 불구하고 각주와 관련된 한 가지 문제가 지속됩니다.
- 다음으로 만든 링크
footnotebackref
문서의 시작 부분에 대한 링크입니다. 예상되는 동작은 각주를 사용하여 용어집 항목에 다시 연결하는 것입니다.
큐: 이 링크를 수정하는 방법은 무엇입니까?
각주에서 페이지 하단으로 연결되는 링크와 같은 기타 링크는 올바르게 작동합니다.
새로운 용어집 스타일은 예를 들어 또는 스타일 longtable
보다 각주를 더 잘 처리하는 를 기반으로 합니다 . 각주 텍스트와 표시 자체는 다음으로 구분됩니다.tabular
alttreehypergroup
sepfootnotes
, 각주 텍스트는 전문에 표시되고 - .bib
파일 의 각주는 bib2gls
.
최소한의 작업 예제를 참조하세요. 스타일 자체도 단순화되었습니다.
\documentclass[12pt]{book}
\usepackage{tocloft} % for cftdotfill
\usepackage{array} % m-type column in longtable
\usepackage{longtable} % longtable for glossary
%\usepackage[symbol*, multiple]{footmisc} % (In real document, used primarily for changing footnote style)
\usepackage[global]{sepfootnotes} % for separation of footnotemark and text but toward still using hyperlinks
\usepackage[hypertexnames=false]{hyperref}
\usepackage{footnotebackref}
\usepackage[a4paper,showframe]{geometry} % testing for boundaries
\newgeometry{margin=2.5cm}
%% Footnotetexts %%
\sepfootnotecontent{A}{long fake name's footnote}
\sepfootnotecontent{B}{short fake name's footnote}
\sepfootnotecontent{C}{subentry fake name's footnote}
\sepfootnotecontent{D}{different fake name's footnote}
%%%%% FOR GLOSSSARY (Begins below) %%%%%
\usepackage[record, stylemods={default}]{glossaries-extra} % main glossary package
\GlsXtrLoadResources[src={entriesTest}, break-at={none}] % loading glossary file entriesTest.bib (for bib2gls)
\usepackage{glossary-longbooktabs} % glossary longtable styles, commands etc
% Some basic formatting of glossary %
\def\myglsdefaultnamefmt#1{\textbf{#1}}
\def\myglsnavigationfmt#1{\myglsdefaultnamefmt{#1}}
\def\myglsnavigationfmtSpecial#1{{\hspace{5em}\Large\myglsdefaultnamefmt{#1}}}
\newcommand\mySpaceInGlsSub{2em}
%%
% Dots in glossary %
\renewcommand{\cftchapleader}{\cftdotfill{\cftsecdotsep}}
\renewcommand*\glspostdescription{\cftdotfill{\cftsecdotsep}}
%%
%% Actual glossary style definition is here %%
\makeatletter
\ifcsdef{@glsstyle@longragged3col}
{%
\renewglossarystyle{longragged3col}{%
\renewenvironment{theglossary}%
{\renewcommand*{\arraystretch}{1.4}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}m{5cm}>{\raggedright}m{\dimexpr\textwidth-5cm-2\tabcolsep}@{}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{%
\par
\def\@gls@prevlevel{-1}%
\hangindent0pt\relax
\parindent0pt\relax
\myglsnavigationfmt{\makebox[0pt]{\hspace{0.98\textwidth}\glsnavigation}}
\glsgroupskip
\glsgroupskip
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\myglsnavigationfmtSpecial{\glsnavhypertarget{##1}{\glsxtr@grptitle\,\MakeLowercase{\glsxtr@grptitle}}}%
\def\@gls@prevlevel{-1}%
\hangindent0pt\relax
\parindent0pt\relax
\glsgroupskip
}%
\renewcommand{\glossentry}[2]{%
\glsentryitem{##1}{\glossentryname{##1}} & \glossentrydesc{##1} \glspostdescription\ ##2\tabularnewline
}%
\renewcommand{\subglossentry}[3]{%
\hspace{\mySpaceInGlsSub}\hangindent\mySpaceInGlsSub\glssubentryitem{##2}{\glossentryname{##2}} &
\hspace{\mySpaceInGlsSub}\hangindent\mySpaceInGlsSub{\glossentrydesc{##2}}\glspostdescription\ ##3\tabularnewline
}%
\ifglsnogroupskip
\renewcommand*{\glsgroupskip}{}%
\else
\renewcommand*{\glsgroupskip}{&\tabularnewline}%
\fi
}
}
\makeatother
%%%%
%%%%% FOR GLOSSSARY (Ends above) %%%%%
\begin{document}
Lala.\footnote{test} \newpage
\gls*{test-entry}
\gls*{test-entryII}
\gls*{test-entryIII}
\gls*{test-entryIV}
\gls*{test-entryV}
\gls*{test-entryVI}
\newcommand{\TitleOfGlossary}{Title of Glossary}
\setcounter{footnote}{0}
{\footnotesize\printunsrtglossary[type=main,style={longragged3col},title={\protect\Large\centering\TitleOfGlossary\pagestyle{empty}},toctitle=\TitleOfGlossary]}
\end{document}
보조자entriesTest.bib
@entry{test-entry,
name={fake name\sepfootnote{A}, but with a longish text to make sure there is some text wrapping},
text={},
description={fictional description}
}
@entry{test-entryII,
name={fake name\sepfootnote{B}},
text={},
description={fictional description B}
}
@entry{test-entryIII,
parent={test-entryII},
name={fake subname that also spans multiple lines\sepfootnote{C}},
text={},
description={fictional description C}
}
@entry{test-entryIV,
name={different fake name},
text={},
description={fictional description D\sepfootnote{D}}
}
@entry{test-entryV,
name={f' yet another fake name with longer text indeed},
text={},
description={Am I indented properly?}
}
@entry{test-entryVI,
parent={test-entryV},
name={f' yet another fake subname with long text yes},
text={},
description={But am I indented properly? Especially when I am also line broken? What about my vertical spacing?}
}
명확한 주석이 포함된 출력