Longtable로 만든 용어집 내부의 각주에 대한 각주 백참조 링크가 끊어졌습니다.

Longtable로 만든 용어집 내부의 각주에 대한 각주 백참조 링크가 끊어졌습니다.

(기존 스타일을 기반으로) 용어집 스타일을 만들었습니다. 이전 접근 방식보다 각주에 더 심각한 문제가 있는 것은 아닙니다. 그럼에도 불구하고 각주와 관련된 한 가지 문제가 지속됩니다.

  • 다음으로 만든 링크footnotebackref문서의 시작 부분에 대한 링크입니다. 예상되는 동작은 각주를 사용하여 용어집 항목에 다시 연결하는 것입니다.

: 이 링크를 수정하는 방법은 무엇입니까?

각주에서 페이지 하단으로 연결되는 링크와 같은 기타 링크는 올바르게 작동합니다.

새로운 용어집 스타일은 예를 들어 또는 스타일 longtable보다 각주를 더 잘 처리하는 를 기반으로 합니다 . 각주 텍스트와 표시 자체는 다음으로 구분됩니다.tabularalttreehypergroupsepfootnotes, 각주 텍스트는 전문에 표시되고 - .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?}
}

명확한 주석이 포함된 출력

명확한 주석이 포함된 MWE 출력

관련 정보