2

This is my first post in this online community. I have looked for an answer to this question for hours. Some posts cover parts of what I need, but none that I've found cover it in detail.

I am creating a critical edition of a Greek text that has (1) a couple dozen footnotes per page and (2) two sets of footnotes. Some of the words in the main body text will have identical footnotes, and I would like only one instance of a foonote appear per page. There could be multiple references to the same footnoe on the same page, but the de-duplication process must "reset itself" for every page.

I have tried using the fixfoot package, but I cannot figure out how to make it work with the two sets of footnoes I am using.

There is a lot going on in the preamble, but here is what I am using.

[Code now an edited that strips the preamble to only show the parts necessary in illustrating the issue. For an illustration of a footnote that is a duplicate, look at the first two footnotes on the first page.]

\documentclass[12pt]{book}
\usepackage[papersize={6.5in,9.5in},margin=1in,headheight=28pt]{geometry}
\usepackage{layout} % shows you the layout composition of the pages.

\usepackage{fontspec}
\usepackage{reledmac}
\usepackage[polutonikogreek]{babel}
\usepackage{setspace}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{perpage} %the perpage package


%footnote sets arrangement
\arrangementX[A]{paragraph}
\arrangementX[B]{twocol}
\colalignX{\justifying}
\makeatletter
\bhooknoteX[A]{\setstretch {\setspace@singlespace}}
\bhookgroupX[A]{\setstretch {\setspace@singlespace}}
\makeatother
\let\footnote\footnoteA
\let\footnoteruleA=\relax
\let\footnoteruleB=\relax

\renewcommand{\thefootnoteA}{\roman{footnote}}
%\usepackage{microtype} % I guess this one is optional
\interfootnotelinepenalty=10000
\setmainfont{Palatino Linotype}
\setsansfont{Gill Sans Std}[
Scale=MatchLowercase,
]
\setmonofont{Andale Mono}[
Scale=MatchLowercase,
]


%This makes the footnote numbering restart for every page
\MakePerPage{footnoteB} %the perpage package command
\let\footnoteBlist\relax%Declare a list
\newcommand{\onlyonefootnoteB}[1]{%The command to be call instead of \footnoteB
    \ifinlist{#1}{\footnoteBlist}%
    {}%True : does nothing
    {%False : add to the list + add footnote
        \listgadd{\footnoteBlist}{#1}%
        \footnoteB{#1}%
    }%
}

\bhookgroupX[B]{%
    \global\let\footnoteBlist\relax%Declare a list
}

\begin{document}

\selectlanguage{greek}

\chapter*{ΚΑΤΑ ΙΩΑΝΝΗΝ}

\thispagestyle{empty}
1 Ἐν ἀρχῇ ἦν ὁ λόγος, καὶ ὁ λόγος ἦν πρὸς τὸν Θεόν, καὶ Θεὸς ἦν ὁ λόγος. 2 οὗτος ἦν ἐν ἀρχῇ πρὸς τὸν Θεόν. 3 πάντα διʼ αὐτοῦ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} καὶ χωρὶς αὐτοῦ ἐγένετο\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} οὐδὲ ἕν, ὃ γέγονεν.\onlyonefootnoteB{γίνομαι 3s pf act ind come to exist} 4 ἐν αὐτῷ ζωὴ ἦν, καὶ ἡ ζωὴ ἦν τὸ φῶς τῶν ἀνθρώπων, 5 καὶ τὸ φῶς ἐν τῇ σκοτίᾳ\onlyonefootnoteB{σκοτία, ας, ἡ f darkness} φαίνει, καὶ ἡ σκοτία\onlyonefootnoteB{σκοτία, ας, ἡ f darkness} αὐτὸ οὐ κατέλαβεν.\onlyonefootnoteB{καταλαμβάνω 3s 2aor act ind extinguish; perceive}

6 ἐγένετο\onlyonefootnoteB{γίνομαι 3s 2aor mid ind there was} ἄνθρωπος ἀπεσταλμένος παρὰ Θεοῦ, ὄνομα αὐτῷ Ἰωάννης· 7 οὗτος ἦλθεν\onlyonefootnoteB{ἔρχομαι 3s 2aor act ind appear} εἰς μαρτυρίαν, ἵνα μαρτυρήσῃ περὶ τοῦ φωτός, ἵνα πάντες πιστεύσωσι διʼ αὐτοῦ. 8 οὐκ ἦν ἐκεῖνος τὸ φῶς, ἀλλʼ ἵνα μαρτυρήσῃ περὶ τοῦ φωτός. 9 ἦν τὸ φῶς τὸ ἀληθινόν,\onlyonefootnoteB{ἀληθινός, ή, όν  truthful} ὃ φωτίζει\onlyonefootnoteB{φωτίζω 3s pres act ind enlighten} πάντα ἄνθρωπον ἐρχόμενον\onlyonefootnoteB{ἔρχομαι pres mid or pas part ac s m come} εἰς τὸν κόσμον. 10 ἐν τῷ κόσμῳ ἦν, καὶ ὁ κόσμος διʼ αὐτοῦ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} καὶ ὁ κόσμος αὐτὸν οὐκ ἔγνω.\onlyonefootnoteB{γινώσκω 3s 2aor act ind know} 11 εἰς τὰ ἴδια ἦλθε,\onlyonefootnoteB{ἔρχομαι 3s 2aor act ind come} καὶ οἱ ἴδιοι αὐτὸν οὐ παρέλαβον.\onlyonefootnoteB{παραλαμβάνω 3p 2aor act ind come} 12 ὅσοι δὲ ἔλαβον\onlyonefootnoteB{λαμβάνω 3p 2aor act ind receive} αὐτόν, ἔδωκεν\onlyonefootnoteB{δίδωμι 3s aor act ind give} αὐτοῖς ἐξουσίαν τέκνα Θεοῦ γενέσθαι,\onlyonefootnoteB{γίνομαι 2aor mid inf become} τοῖς πιστεύουσιν εἰς τὸ ὄνομα αὐτοῦ· 13 οἳ οὐκ ἐξ αἱμάτων, οὐδὲ ἐκ θελήματος σαρκός, οὐδὲ ἐκ θελήματος ἀνδρός, ἀλλʼ ἐκ Θεοῦ ἐγεννήθησαν. 

14 καὶ ὁ λόγος σὰρξ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind become} καὶ ἐσκήνωσεν\onlyonefootnoteB{σκηνόω 3s aor act ind take up residence; tabernacle} ἐν ἡμῖν, (καὶ ἐθεασάμεθα\onlyonefootnoteB{θεάομαι 1p aor mid ind behold} τὴν δόξαν αὐτοῦ, δόξαν ὡς μονογενοῦς\onlyonefootnoteB{μονογενής, ές  only one of its kind or class} παρὰ πατρός), πλήρης\onlyonefootnoteB{πλήρης, ες f filled, full} χάριτος καὶ ἀληθείας. 15 Ἰωάννης μαρτυρεῖ περὶ αὐτοῦ, καὶ κέκραγε\onlyonefootnoteB{κράζω 3s pf act ind cry out} λέγων, Οὗτος ἦν ὃν εἶπον,\onlyonefootnoteB{λέγω 1s 2aor act ind say} Ὁ ὀπίσω μου ἐρχόμενος\onlyonefootnoteB{ἔρχομαι pf mid or pas part nom s m come} ἔμπροσθέν μου γέγονεν·\onlyonefootnoteB{γίνομαι 3s pf act ind come} ὅτι πρῶτός μου ἦν. 16 καὶ ἐκ τοῦ πληρώματος\onlyonefootnoteB{πλήρωμα, ατος, τό n fulness} αὐτοῦ ἡμεῖς πάντες ἐλάβομεν,\onlyonefootnoteB{λαμβάνω  receive} καὶ χάριν ἀντὶ\onlyonefootnoteB{ἀντί prep in place of} χάριτος· 17 ὅτι ὁ νόμος διὰ Μωσέως ἐδόθη,\onlyonefootnoteB{δίδωμι 3s aor pas ind grant} ἡ χάρις καὶ ἡ ἀλήθεια διὰ Ἰησοῦ Χριστοῦ ἐγένετο.\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come} 18 Θεὸν οὐδεὶς ἑώρακε πώποτε·\onlyonefootnoteB{πώποτε adv ever, at any time} ὁ μονογενὴς\onlyonefootnoteB{μονογενής, ές m only one of its kind or class} υἱός, ὁ ὢν εἰς τὸν κόλπον\onlyonefootnoteB{κόλπος, ου, ὁ m bosom, breast, chest} τοῦ πατρός ἐκεῖνος ἐξηγήσατο.\onlyonefootnoteB{ἐξηγέομαι 3s aor mid ind expound} 

19 Καὶ αὕτη ἐστὶν ἡ μαρτυρία τοῦ Ἰωάννου, ὅτε ἀπέστειλαν οἱ Ἰουδαῖοι ἐξ Ἱεροσολύμων ἱερεῖς καὶ Λευΐτας,\onlyonefootnoteB{Λευΐτης m Levite} ἵνα ἐρωτήσωσιν αὐτόν, Σὺ τίς εἶ; 20 καὶ ὡμολόγησε,\onlyonefootnoteB{ὁμολογέω 3s aor act ind declare} καὶ οὐκ ἠρνήσατο·\onlyonefootnoteB{ἀρνέομαι 3s aor mid ind deny} καὶ ὡμολόγησεν,\onlyonefootnoteB{ὁμολογέω 3s aor act ind declare} ὅτι Οὐκ εἰμὶ\onlyonefootnoteB{εἰμί 1s pf act ind} ἐγὼ ὁ Χριστός. 21 καὶ ἠρώτησαν αὐτόν, Τί οὖν; Ἠλίας εἶ σύ; καὶ λέγει, Οὐκ εἰμί.\onlyonefootnoteB{εἰμί 1s pf act ind} Ὁ προφήτης εἶ σύ; καὶ ἀπεκρίθη,\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} Οὔ. 22 εἶπον οὖν αὐτῷ, Τίς εἶ; ἵνα ἀπόκρισιν\onlyonefootnoteB{ἀπόκρισις, εως, ἡ f response} δῶμεν\onlyonefootnoteB{δίδωμι 1p 2aor act sub give} τοῖς πέμψασιν ἡμᾶς τί λέγεις περὶ σεαυτοῦ; 23 \textit{ἔφη, }\onlyonefootnoteB{φημί 3s impf act ind} \textit{Ἐγὼ }\textit{φωνὴ }\textit{βοῶντος}\onlyonefootnoteB{βοάω pres actv part s gen m call, shout, cry out} \textit{ἐν }\textit{τῇ }\textit{ἐρήμῳ, }\textit{Εὐθύνατε}\onlyonefootnoteB{εὐθύνω 2p aor act straighten} \textit{τὴν }\textit{ὁδὸν }\textit{Κυρίου, }καθὼς εἶπεν Ἠσαΐας ὁ προφήτης. 24 καὶ οἱ ἀπεσταλμένοι ἦσαν ἐκ τῶν Φαρισαίων. 25 καὶ ἠρώτησαν αὐτόν, καὶ εἶπον αὐτῷ, Τί οὖν βαπτίζεις, εἰ σὺ οὐκ εἶ ὁ Χριστός, οὔτε Ἠλίας, οὔτε ὁ προφήτης; 29 Τῇ ἐπαύριον\onlyonefootnoteB{ἐπαύριον adv next day} βλέπει* \footnote{\textbf{\fontspec{Times}{1:29 }}omit ο ιωαννης Pickering, H-F, R-P}ὁ Ἰωάννης τὸν Ἰησοῦν ἐρχόμενον\onlyonefootnoteB{ἔρχομαι pres mid or pas part ac s m come} πρὸς αὐτόν, καὶ λέγει, Ἴδε ὁ ἀμνὸς\onlyonefootnoteB{ἀμνός, οῦ, ὁ m lamb} τοῦ Θεοῦ, ὁ αἴρων τὴν ἁμαρτίαν τοῦ κόσμου. 30 οὗτός ἐστι περὶ οὗ ἐγὼ εἶπον,\onlyonefootnoteB{λέγω 1s 2aor act ind say} Ὀπίσω μου ἔρχεται\onlyonefootnoteB{ἔρχομαι 3s pf mid or pas ind come} ἀνὴρ, ὃς ἔμπροσθέν μου γέγονεν,\onlyonefootnoteB{γίνομαι 3s pf act ind be} ὅτι πρῶτός μου ἦν. 31 κἀγὼ οὐκ ᾔδειν αὐτόν· ἀλλʼ ἵνα φανερωθῇ τῷ Ἰσραὴλ διὰ τοῦτο ἦλθον\onlyonefootnoteB{ἔρχομαι 1s 2aor act ind come} ἐγὼ ἐν τῷ ὕδατι βαπτίζων. 

32 καὶ ἐμαρτύρησεν Ἰωάννης, λέγων ὅτι Τεθέαμαι\onlyonefootnoteB{θεάομαι 1s pf mid or pas ind see, behold, perceive} τὸ Πνεῦμα καταβαῖνον ὡσεὶ* \footnote{\textbf{\fontspec{Times}{1:32 }}ως Patriarchal, Pickering, R-P}περιστερὰν\onlyonefootnoteB{περιστερά, ᾶς, ἡ f pigeon or dove} ἐξ οὐρανοῦ, καὶ ἔμεινεν ἐπʼ αὐτόν. 33 κἀγὼ οὐκ ᾔδειν αὐτόν· ἀλλʼ ὁ πέμψας με βαπτίζειν ἐν ὕδατι ἐκεῖνός μοι εἶπεν, Ἐφʼ ὃν ἂν ἴδῃς\onlyonefootnoteB{ὁράω 2s 2aor act sub see} τὸ Πνεῦμα καταβαῖνον καὶ μένον ἐπʼ αὐτόν, οὗτός ἐστιν ὁ βαπτίζων ἐν Πνεύματι Ἁγίῳ. 34 κἀγὼ ἑώρακα, καὶ μεμαρτύρηκα ὅτι οὗτός ἐστιν ὁ υἱὸς τοῦ Θεοῦ. 35 Τῇ ἐπαύριον\onlyonefootnoteB{ἐπαύριον adv next day} πάλιν εἱστήκει\onlyonefootnoteB{ἵστημι 3s pl act ind stand} ὁ Ἰωάννης, καὶ ἐκ τῶν μαθητῶν αὐτοῦ δύο· 36 καὶ ἐμβλέψας\onlyonefootnoteB{ἐμβλέπω aor act part s n m look at, gaze on} τῷ Ἰησοῦ περιπατοῦντι, λέγει, Ἴδε ὁ ἀμνὸς\onlyonefootnoteB{ἀμνός, οῦ, ὁ m lamb} τοῦ Θεοῦ. 37 καὶ ἤκουσαν αὐτοῦ οἱ δύο μαθηταὶ λαλοῦντος, καὶ ἠκολούθησαν τῷ Ἰησοῦ. 38 στραφεὶς\onlyonefootnoteB{στρέφω 2aor pres part n s m turn around, turn toward} δὲ ὁ Ἰησοῦς καὶ θεασάμενος\onlyonefootnoteB{θεάομαι aor mid part n s m see, look at, behold} αὐτοὺς ἀκολουθοῦντας, λέγει αὐτοῖς, Τί ζητεῖτε; οἱ δὲ εἶπον αὐτῷ, Ῥαββί (ὃ λέγεται ἑρμηνευόμενον,\onlyonefootnoteB{ἑρμηνεύω pres pas part no s n translate} Διδάσκαλε), ποῦ μένεις; 39 λέγει αὐτοῖς, Ἔρχεσθε\onlyonefootnoteB{ἔρχομαι 2p pres mid or pas imp come} καὶ ἴδετε.\onlyonefootnoteB{ὁράω 2p 2aor act imp see} ἦλθον\onlyonefootnoteB{ἔρχομαι 3p 2aor act ind come} καὶ εἶδον\onlyonefootnoteB{ὁράω 3p 2aor act ind see} ποῦ μένει· καὶ παρʼ αὐτῷ ἔμειναν τὴν ἡμέραν ἐκείνην ὥρα* \footnote{\textbf{\fontspec{Times}{1:39 }}ωρα Patriarchal, Pickering, H-F, R-P}δὲ ἦν ὡς δεκάτη.\onlyonefootnoteB{δέκατος, η, ον f tenth} 

40 ἦν Ἀνδρέας ὁ ἀδελφὸς Σίμωνος Πέτρου εἷς ἐκ τῶν δύο τῶν ἀκουσάντων παρὰ Ἰωάννου καὶ ἀκολουθησάντων αὐτῷ. 41 εὑρίσκει οὗτος πρῶτος τὸν* \footnote{\textbf{\fontspec{Times}{1:41 }}omit ὁ Patriarchal, Pickering, H-F, R-P}ἀδελφὸν τὸν ἴδιον Σίμωνα, καὶ λέγει αὐτῷ, Εὑρήκαμεν τὸν Μεσσίαν,\onlyonefootnoteB{Μεσσίας, ου, ὁ m the Messiah = the Anointed One} (ὅ ἐστι μεθερμηνευόμενον\onlyonefootnoteB{μεθερμηνεύω pres pas part no s n translate} ὁ Χριστός.) 42 καὶ ἤγαγεν\onlyonefootnoteB{ἄγω 3s 2aor act ind lead away} αὐτὸν πρὸς τὸν Ἰησοῦν. ἐμβλέψας\onlyonefootnoteB{ἐμβλέπω aor act part s n m look at, gaze on}* \footnote{\textbf{\fontspec{Times}{1:42 }}omit δε Patriarchal, Pickering, H-F, R-P}δὲ αὐτῷ ὁ Ἰησοῦς εἶπε, Σὺ εἶ Σίμων ὁ υἱὸς Ἰωνᾶ· σὺ κληθήσῃ Κηφᾶς, (ὃ ἑρμηνεύεται\onlyonefootnoteB{ἑρμηνεύω 3s pres pas ind translate} Πέτρος.) 

43 Τῇ ἐπαύριον\onlyonefootnoteB{ἐπαύριον adv next day} ἠθέλησεν* \footnote{\textbf{\fontspec{Times}{1:43 }}omit ο ιησους C-P, Pickering, H-F, R-P}ὁ Ἰησοῦς ἐξελθεῖν\onlyonefootnoteB{ἐξέρχομαι 2oar act inf go out} εἰς τὴν Γαλιλαίαν, καὶ εὑρίσκει Φίλιππον, καὶ λέγει αὐτῷ,* \footnote{\textbf{\fontspec{Times}{1:43 }}αυτω ο ιησους H-F, R-P}Ἀκολούθει μοι. 44 ἦν δὲ ὁ Φίλιππος ἀπὸ Βηθσαϊδά, ἐκ τῆς πόλεως Ἀνδρέου καὶ Πέτρου. 45 εὑρίσκει Φίλιππος τὸν Ναθαναήλ, καὶ λέγει αὐτῷ, Ὃν ἔγραψε Μωσῆς ἐν τῷ νόμῳ καὶ οἱ προφῆται εὑρήκαμεν, Ἰησοῦν τὸν υἱὸν τοῦ* \footnote{\textbf{\fontspec{Times}{1:45 }}omit του C-P, Pickering}Ἰωσὴφ τὸν ἀπὸ Ναζαρέθ. 46 καὶ εἶπεν αὐτῷ Ναθαναήλ, Ἐκ Ναζαρὲθ δύναταί τι ἀγαθὸν εἶναι; λέγει αὐτῷ Φίλιππος, Ἔρχου\onlyonefootnoteB{ἔρχομαι 2s pres mid or pas ind come} καὶ ἴδε. 47 εἶδεν\onlyonefootnoteB{ὁράω 3s 2aor act ind see} ὁ Ἰησοῦς τὸν Ναθαναὴλ ἐρχόμενον\onlyonefootnoteB{ἔρχομαι pres mid or pas part ac s m come} πρὸς αὐτὸν, καὶ λέγει περὶ αὐτοῦ, Ἴδε ἀληθῶς\onlyonefootnoteB{ἀληθῶς adv truly} Ἰσραηλίτης,\onlyonefootnoteB{Ἰσραηλίτης, ου, ὁ m Israelite} ἐν ᾧ δόλος\onlyonefootnoteB{δόλος, ου, ὁ m deceit} οὐκ ἔστι. 48 λέγει αὐτῷ Ναθαναήλ, Πόθεν με γινώσκεις; ἀπεκρίθη\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} ὁ Ἰησοῦς καὶ εἶπεν αὐτῷ, Πρὸ τοῦ σε Φίλιππον φωνῆσαι, ὄντα ὑπὸ τὴν συκῆν,\onlyonefootnoteB{συκῆ, ῆς, ἡ f fig tree.} εἶδόν\onlyonefootnoteB{ὁράω 1s 2aor act ind see} σε. 49 ἀπεκρίθη\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} Ναθαναήλ καὶ λέγει αὐτῷ, Ῥαββί, σὺ εἶ ὁ υἱὸς τοῦ Θεοῦ, σὺ εἶ ὁ βασιλεὺς τοῦ Ἰσραήλ. 50 ἀπεκρίθη\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} Ἰησοῦς καὶ εἶπεν αὐτῷ, Ὅτι εἶπόν\onlyonefootnoteB{λέγω 1s 2aor act ind say} σοι, εἶδόν\onlyonefootnoteB{ὁράω 1s 2aor act ind see} σε ὑποκάτω\onlyonefootnoteB{ὑποκάτω adv under, below} τῆς συκῆς,\onlyonefootnoteB{συκῆ, ῆς, ἡ f fig tree.} πιστεύεις; μείζω τούτων ὄψει. 51 καὶ λέγει αὐτῷ, Ἀμὴν ἀμὴν λέγω ὑμῖν, ἀπʼ ἄρτι ὄψεσθε τὸν οὐρανὸν ἀνεῳγότα,\onlyonefootnoteB{ἀνοίγω 2pf pas part ac s m open} καὶ τοὺς ἀγγέλους τοῦ Θεοῦ ἀναβαίνοντας καὶ καταβαίνοντας ἐπὶ τὸν υἱὸν τοῦ ἀνθρώπου. 


\end{document}
  • welcome to tex.se! please, can you reduce preamble in your document example only to your problem packages? and where are examples of use footnotes? – Zarko Feb 18 '18 at 21:16
  • @Zarko Okay, I have now trimmed the code as much as I can to illustrate the issue. See the first two footnotes on page 1 for an illustration of a duplicate footnote. – JMR Feb 18 '18 at 22:24
  • Sorry, I don't understand what do you mean by "Some of the words in the main body text will have identical footnotes, and I would like only one instance of a foonote appear per page.". And I can't run your example, as you use non standard fonts. – Maïeul Feb 19 '18 at 21:10
  • @Maïeul I have edited the code again to allow for standard fonts so that it can all compile. Thank you for pointing that out. Once the code is compiled, it should clarify things. Basically, there are pages that can potentially have duplicate footnotes, and I would like all duplicates removed. The fact that I have multiple sets of footnotes is complicating things for me in resolving the issue. – JMR Feb 19 '18 at 23:26
  • Now I can compile, but I still does not undertsnad what you mean with "duplicate footnote". Is it the fact that footnote of series A can have the same number as footnote of series B? In this case, you should, for example, print the footnote of series A with a roman numeral, while the footnote of series B should be in arabic numeral. If it is not that, please explain better (I don't see any "duplicate footnote" in your example) – Maïeul Feb 20 '18 at 9:31
5

Ok, now I understand that "duplicate footnotes" are "footnote with the same content". The best way to solve your problem is to store the footnotes in a list. Then, before inserting a footnote, you could test if it is already in the list.

In order to be restart at each page, you must prefix the stored value by the page number. To get it, you will use crossref mechanism of reledmac, to get the page number. Each note, typeset or not, have a unique id, stored in onlyonefootnoteB counter, increased at each footnote (typeset or not). That allow us to have automaticall cross-referencing system.

To manage list, you can use the tool provided by etoolbox package, which reledmac load.

That is

\let\footnoteBlist\relax%Declare a list
\newcounter{onlyonefootnoteB}%Declare a counter to have unique id
\newcommand{\onlyonefootnoteB}[1]{%The command to be call instead of \footnoteB
  \addtocounter{onlyonefootnoteB}{1}%Increase counter value
  \edlabel{B:\theonlyonefootnoteB}%put crossref label
  \xifinlist{\xpageref{B:\theonlyonefootnoteB}-\detokenize{#1}}{\footnoteBlist}%Make test
  {}%True : does nothing
  {%False : add to the list + add footnote
    \listxadd{\footnoteBlist}{\xpageref{B:\theonlyonefootnoteB}-\detokenize{#1}}%
    \footnoteB{#1}%
  }%
}

Note that we use \detokenize to avoid problem with font feature switching.

Finally, our final code would be:

\documentclass[12pt]{book}
\usepackage[papersize={6.5in,9.5in},margin=1in,headheight=28pt]{geometry}
\usepackage{layout} % shows you the layout composition of the pages.

\usepackage{fontspec}
\usepackage{reledmac}
\usepackage[polutonikogreek]{babel}
\usepackage{setspace}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{perpage} %the perpage package


%footnote sets arrangement
\arrangementX[A]{paragraph}
\arrangementX[B]{twocol}
\colalignX{\justifying}
\makeatletter
\bhooknoteX[A]{\setstretch {\setspace@singlespace}}
\bhookgroupX[A]{\setstretch {\setspace@singlespace}}
\makeatother
\let\footnote\footnoteA
\let\footnoteruleA=\relax
\let\footnoteruleB=\relax
\renewcommand{\thefootnoteA}{\roman{footnote}}
%\usepackage{microtype} % I guess this one is optional
\interfootnotelinepenalty=10000
\setmainfont{Palatino Linotype}
\setsansfont{Gill Sans Std}[
Scale=MatchLowercase,
]
\setmonofont{Andale Mono}[
Scale=MatchLowercase,
]

%This makes the footnote numbering restart for every page
\MakePerPage{footnoteB} %the perpage package command
\let\footnoteBlist\relax%Declare a list
\newcounter{onlyonefootnoteB}%Declare a counter to have unique id
\newcommand{\onlyonefootnoteB}[1]{%The command to be call instead of \footnoteB
  \addtocounter{onlyonefootnoteB}{1}%Increase counter value
  \edlabel{B:\theonlyonefootnoteB}%put crossref label
  \xifinlist{\xpageref{B:\theonlyonefootnoteB}-\detokenize{#1}}{\footnoteBlist}%Make test
  {}%True : does nothing
  {%False : add to the list + add footnote
    \listxadd{\footnoteBlist}{\xpageref{B:\theonlyonefootnoteB}-\detokenize{#1}}%
    \footnoteB{#1}%
  }%
}


\begin{document}
    \selectlanguage{greek}

    \chapter*{ΚΑΤΑ ΙΩΑΝΝΗΝ}

    \thispagestyle{empty}

    1 Ἐν\onlyonefootnoteB{A} ἀρχῇ ἦν\onlyonefootnoteB{A} ὁ λόγος, καὶ ὁ λόγος ἦν πρὸς τὸν θεόν, καὶ θεὸς ἦν ὁ λόγος. 2 Οὗτος ἦν ἐν ἀρχῇ πρὸς τὸν θεόν. 3 Πάντα δι’ αὐτοῦ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} καὶ χωρὶς αὐτοῦ ἐγένετο\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} οὐδὲ ἓν ὃ γέγονεν.\onlyonefootnoteB{γίνομαι 3s pf act ind come to exist} 4 Ἐν αὐτῷ ζωὴ ἦν, καὶ ἡ ζωὴ ἦν τὸ φῶς τῶν ἀνθρώπων, 55αὶ τὸ φῶς ἐν τῇ σκοτίᾳ\onlyonefootnoteB{σκοτία, ας, ἡ f darkness; fig. evil world} φαίνει, καὶ ἡ σκοτία\onlyonefootnoteB{σκοτία, ας, ἡ f darkness; fig. evil world} αὐτὸ οὐ κατέλαβεν. 6 Ἐγένετο ἄνθρωπος ἀπεσταλμένος παρὰ θεοῦ, ὄνομα αὐτῷ Ἰωάννης. 7 Οὗτος ἦλθεν\onlyonefootnoteB{ἔρχομαι 3s 2aor act ind. appear} εἰς μαρτυρίαν, ἵνα μαρτυρήσῃ περὶ τοῦ φωτός, ἵνα πάντες πιστεύσωσιν δι’ αὐτοῦ. 8 Οὐκ ἦν ἐκεῖνος τὸ φῶς, ἀλλ’ ἵνα μαρτυρήσῃ περὶ τοῦ φωτός. 9 Ἦν τὸ φῶς τὸ ἀληθινόν,\onlyonefootnoteB{ἀληθινός, ή, όν genuine, authentic, real} ὃ φωτίζει\onlyonefootnoteB{φωτίζω 3s pres act ind enlighten} πάντα ἄνθρωπον ἐρχόμενον\onlyonefootnoteB{ἔρχομαι pres mid or pas part ac s m come} εἰς τὸν κόσμον. 10 Ἐν τῷ κόσμῳ ἦν, καὶ ὁ κόσμος δι’ αὐτοῦ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} καὶ ὁ κόσμος αὐτὸν οὐκ ἔγνω. 11 Εἰς τὰ ἴδια ἦλθεν,\onlyonefootnoteB{ἔρχομαι 3s 2aor act ind. come} καὶ οἱ ἴδιοι αὐτὸν οὐ παρέλαβον. 12 Ὅσοι δὲ ἔλαβον αὐτόν, ἔδωκεν αὐτοῖς ἐξουσίαν τέκνα θεοῦ γενέσθαι,\onlyonefootnoteB{γίνομαι 2aor mid inf become} τοῖς πιστεύουσιν εἰς τὸ ὄνομα αὐτοῦ· 13 οἳ οὐκ ἐξ αἱμάτων, οὐδὲ ἐκ θελήματος σαρκός, οὐδὲ ἐκ θελήματος ἀνδρός, ἀλλ’ ἐκ θεοῦ ἐγεννήθησαν.\onlyonefootnoteB{γεννάω 3p aor pas ind beget} 14 Καὶ ὁ λόγος σὰρξ ἐγένετο,\onlyonefootnoteB{γίνομαι 3s 2aor mid ind become} καὶ ἐσκήνωσεν ἐν ἡμῖν καὶ ἐθεασάμεθα\onlyonefootnoteB{θεάομαι 1p aor mid ind behold} τὴν δόξαν αὐτοῦ, δόξαν ὡς μονογενοῦς\onlyonefootnoteB{μονογενής, ές unique, only; only begotten} παρὰ πατρός πλήρης\onlyonefootnoteB{πλήρης, ες filled, full} χάριτος καὶ ἀληθείας. 15 Ἰωάννης μαρτυρεῖ περὶ αὐτοῦ, καὶ κέκραγεν\onlyonefootnoteB{κράζω 3s pf act ind come} λέγων, Οὗτος ἦν ὃν εἶπον, Ὁ ὀπίσω μου ἐρχόμενος\onlyonefootnoteB{ἔρχομαι pf mid or pas part nom s m come} ἔμπροσθέν μου γέγονεν·\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come to exist} ὅτι πρῶτός μου ἦν. 16 Καὶ ἐκ τοῦ πληρώματος\onlyonefootnoteB{πλήρωμα, ατος, τό n sum total, fullness} αὐτοῦ ἡμεῖς πάντες ἐλάβομεν,\onlyonefootnoteB{receive} καὶ χάριν ἀντὶ\onlyonefootnoteB{ἀντί prep in place of} χάριτος. 17 Ὅτι ὁ νόμος διὰ Μωσέως ἐδόθη,\onlyonefootnoteB{δίδωμι 3s aor pas ind grant} ἡ χάρις καὶ ἡ ἀλήθεια διὰ Ἰησοῦ χριστοῦ ἐγένετο.\onlyonefootnoteB{γίνομαι 3s 2aor mid ind come} 18 Θεὸν οὐδεὶς ἑώρακεν πώποτε·\onlyonefootnoteB{πώποτε adv ever, at any time} ὁ μονογενὴς\onlyonefootnoteB{μονογενής, ές unique, only; only begotten} υἱός, ὁ ὢν εἰς τὸν κόλπον\onlyonefootnoteB{κόλπος, ου, ὁ m bosom, breast, chest} τοῦ πατρός, ἐκεῖνος ἐξηγήσατο.\onlyonefootnoteB{ἐξηγέομαι 3s aor mid ind expound}

    19 Καὶ αὕτη ἐστὶν ἡ μαρτυρία τοῦ Ἰωάννου, ὅτε ἀπέστειλαν οἱ Ἰουδαῖοι ἐξ Ἱεροσολύμων ἱερεῖς καὶ Λευΐτας\onlyonefootnoteB{Λευΐτης m Levite} ἵνα ἐρωτήσωσιν αὐτόν, Σὺ τίς εἶ; 20 αὶ ὡμολόγησεν,\onlyonefootnoteB{ὁμολογέω 3s aor act ind declare} καὶ οὐκ ἠρνήσατο·\onlyonefootnoteB{ἀρνέομαι 3s aor mid ind deny} καὶ ὡμολόγησεν\onlyonefootnoteB{ὁμολογέω 3s aor act ind declare} ὅτι Οὐκ εἰμὶ ἐγὼ ὁ χριστός. 21 Καὶ ἠρώτησαν αὐτόν, Τί οὖν; Ἠλίας εἶ σύ; Καὶ λέγει, Οὐκ εἰμί. Ὁ προφήτης εἶ σύ; Καὶ ἀπεκρίθη,\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} Οὔ. 22 Εἶπον οὖν αὐτῷ, Τίς εἶ; Ἵνα ἀπόκρισιν\onlyonefootnoteB{ἀπόκρισις, εως, ἡ f answer} δῶμεν\onlyonefootnoteB{δίδωμι  give} τοῖς πέμψασιν ἡμᾶς. Τί λέγεις περὶ σεαυτοῦ; 23 Ἔφη, Ἐγὼ φωνὴ βοῶντος\onlyonefootnoteB{βοάω pres actv part s gen m call, shout, cry out} ἐν τῇ ἐρήμῳ, Εὐθύνατε\onlyonefootnoteB{εὐθύνω 2p aor act straighten, make straight} τὴν ὁδὸν κυρίου, καθὼς εἶπεν Ἠσαΐας ὁ προφήτης. 24 Καὶ οἱ ἀπεσταλμένοι ἦσαν ἐκ τῶν Φαρισαίων. 25 Καὶ ἠρώτησαν αὐτόν, καὶ εἶπον αὐτῷ, Τί οὖν βαπτίζεις, εἰ σὺ οὐκ εἶ ὁ χριστός, οὔτε Ἠλίας, οὔτε ὁ προφήτης; 26 Ἀπεκρίθη\onlyonefootnoteB{ἀποκρίνομαι 3s aor mid ind answer, reply} αὐτοῖς ὁ Ἰωάννης λέγων, Ἐγὼ βαπτίζω ἐν ὕδατι· μέσος δὲ ὑμῶν ἕστηκεν ὃν ὑμεῖς οὐκ οἴδατε.\onlyonefootnoteB{A}
    \newpage
    \begin{itemize}
      \renewcommand*{\do}[1]{\item #1}%
        \dolistloop{\footnoteBlist}%
    \end{itemize}
\end{document}

The code after the final newpage show us the list of footnote typeset.

Note that because we use crossref tools, you will need multiple run. Use latexmkor similar tools to be sur to get the good number of runs. In this MWE; it was 3, but I could be more for real case use.

  • brilliant! worked like a charm. Much thanks! – JMR Feb 20 '18 at 16:05
  • ps : don't forget also to upvote, and not only validate – Maïeul Feb 20 '18 at 17:22
  • I have edited my post to show an example where the problem still exists, and I attached a annotated picture to point out the exact problem. I noticed that solution works if there are no paragraph breaks. I'm not sure if that helps diagnose the problem. I would appreciate any additional help you can give. FYI I tried upvoting your answer several times, but it looks like I need to have a reputation of over 15 in order for it to register. – JMR Mar 18 '18 at 9:57
  • One last question if I may... How do I add text and font formatting to the footnote text for the new \onlyonefootnoteB footnotes? Meaning, if I wanted to make part of the \onlyonefootnoteB footnote be Times and Italic, how would I do that? – JMR Mar 18 '18 at 10:02
  • we need to use \detokenize. See the new version of the answer. – Maïeul Mar 18 '18 at 20:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.