
하나 있나요? ( 7 n.\,1
페이지에 메모가 2개 이상 있을 경우 색인 형식을 만들고 싶기 때문에 이것을 원합니다 7\,n
.
추신. 요청에 따라 더 명확하게 설명하자면, \fnnonthispage
현재 페이지의 각주 수를 반환하는 매크로를 정의할 수 있습니까 ? 어떻게 더 명확하게 말해야 할지 모르겠습니다.
PS II. 매크로를 사용하는 방법은 다음과 같습니다. 첫 번째 페이지에는 두 개의 메모가 있으므로 항목에 번호를 지정해야 합니다. 하지만 p. 2, 하나만 있으므로 숫자를 지정해서는 안됩니다. 페이지에 부분적인 각주가 포함되어 있으면 그것도 하나로 계산됩니다.
%compile with: pdflatex file; makeindex file; pdflatex file
\documentclass{article}
\usepackage{imakeidx}
\usepackage{hyperref}
\usepackage{letltxmacro}
\makeindex
% \see{} inserts a see in the next entry, after the pp.
\def\seeentry{}
% must be global to work within footnote
\def\see#1{\gdef\seeentry{#1}}
\def\seesep{;\space}
\def\seetext{see\space}
% \index{<entry>|fn} marks the ref. as to a note
\def\fn#1#2{% insert see if \seeentry is not empty
\hyperpage{#2} n.\,#1\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
% ----- here is how the desired macro could be used:
%\hyperpage{#2}%
%\ifnum\fnnonthispage>1
%\space n.\,#1\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
%\else
%\,n.\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
%\fi
}%
% Redefining \index to mark reff. to notes as such.
\LetLtxMacro{\oldindex}{\index}
\renewcommand{\index}[1]{%
\if@noftnote%
\oldindex{#1}%
\else%
\oldindex{#1|fn{\number\value{footnote}}}
\fi%
}
\begin{document}
Cheese.\footnote{\index{cake}cake.}
Whether it be cheese or not.\footnote{What?}
\newpage
Oranges are called Chinese apples in German.\footnote{And in
Danish, of course.\index{Danish}}
\printindex
\end{document}
답변1
여기에 해결책이 있습니다. 매크로가 \mtfnexiste<pagenumber>
정의되지 않은 경우 모든 출력 페이지에 각주가 두 개 이상 있는지 확인합니다 .
메모위의 John Kormylo의 의견은 중요하지만 여기서는 요점을 처리하지 않았습니다. 알려줘요.
\documentclass{article}
\usepackage{imakeidx}
\usepackage{hyperref}
\usepackage{letltxmacro}
\makeindex
% \see{} inserts a see in the next entry, after the pp.
\def\seeentry{}
% must be global to work within footnote
\def\see#1{\gdef\seeentry{#1}}
\def\seesep{;\space}
\def\seetext{see\space}
% \index{<entry>|fn} marks the ref. as to a note
\newcounter{mtfn}
\setcounter{mtfn}{1}
\makeatletter
\patchcmd\@outputpage{\stepcounter{page}}{%
\ifnum\value{mtfn}<\value{footnote}
\expandafter\gdef\csname mtfnexiste\thepage\endcsname{x}\fi
\setcounter{mtfn}{\value{footnote}}\stepcounter{mtfn}%
\stepcounter{page}}{}{\errmessage{no}}
\def\fn#1#2{% insert see if \seeentry is not empty
\hyperpage{#2}%
\expandafter\ifx\csname mtfnexiste\@secondoftwo#2\endcsname\relax
\,n.\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
\else
\space n.\,#1\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
\fi
}%
\makeatother
% Redefining \index to mark reff. to notes as such.
\LetLtxMacro{\oldindex}{\index}
\renewcommand{\index}[1]{%
\if@noftnote%
\oldindex{#1}%
\else%
\oldindex{#1|fn{\number\value{footnote}}}
\fi%
}
\begin{document}
Cheese.\footnote{\index{cake}cake.}
Whether it be cheese or not.\footnote{What?}
\newpage
Oranges are called Chinese apples in German.\footnote{And in
Danish, of course.\index{Danish}}
\printindex
\end{document}
업데이트긴 각주의 예는 첫 번째 페이지의 두 번째 각주인데 색인 단어가 두 번째 페이지에 있고 각주가 하나만 있으므로 문제가 됩니다!
\documentclass{article}
\usepackage{imakeidx}
\usepackage{hyperref}
\usepackage{letltxmacro}
\usepackage{lipsum}
\makeindex
% \see{} inserts a see in the next entry, after the pp.
\def\seeentry{}
% must be global to work within footnote
\def\see#1{\gdef\seeentry{#1}}
\def\seesep{;\space}
\def\seetext{see\space}
% \index{<entry>|fn} marks the ref. as to a note
\newcounter{mtfn}
\setcounter{mtfn}{1}
\makeatletter
\patchcmd\@outputpage{\stepcounter{page}}{%
\ifnum\value{mtfn}<\value{footnote}
\expandafter\gdef\csname mtfnexiste\thepage\endcsname{x}\fi
\setcounter{mtfn}{\value{footnote}}\stepcounter{mtfn}%
\stepcounter{page}}{}{\errmessage{no}}
\def\fn#1#2{% insert see if \seeentry is not empty
\hyperpage{#2}%
\expandafter\ifx\csname mtfnexiste\@secondoftwo#2\endcsname\relax
\,n.\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
\else
\space n.\,#1\ifx\seeentry\empty\else\seesep\seetext\seeentry\def\seeentry{}\fi%
\fi
}%
\makeatother
% Redefining \index to mark reff. to notes as such.
\LetLtxMacro{\oldindex}{\index}
\renewcommand{\index}[1]{%
\if@noftnote%
\oldindex{#1}%
\else%
\oldindex{#1|fn{\number\value{footnote}}}
\fi%
}
\begin{document}
\lipsum[1-2]
\footnote{bla bla}
\lipsum[1-2]
\footnote{very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
very very long long footnote very very long long footnote
cake\index{cake}}
\lipsum[1-2]
\footnote{last bla bla}
\printindex
\end{document}