diff options
43 files changed, 1122 insertions, 166 deletions
diff --git a/doc/context/documents/general/manuals/mkiv-publications.pdf b/doc/context/documents/general/manuals/mkiv-publications.pdf Binary files differindex 1f1d7fcd5..35381d8db 100644 --- a/doc/context/documents/general/manuals/mkiv-publications.pdf +++ b/doc/context/documents/general/manuals/mkiv-publications.pdf diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf Binary files differindex f651dfc56..85219d097 100644 --- a/doc/context/documents/general/qrcs/setup-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf Binary files differindex 74ba7f599..6aed02b46 100644 --- a/doc/context/documents/general/qrcs/setup-de.pdf +++ b/doc/context/documents/general/qrcs/setup-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf Binary files differindex 456f9e620..802270a96 100644 --- a/doc/context/documents/general/qrcs/setup-en.pdf +++ b/doc/context/documents/general/qrcs/setup-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf Binary files differindex 53c9c655b..c48324585 100644 --- a/doc/context/documents/general/qrcs/setup-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf Binary files differindex cafe55d31..7ab21c1e4 100644 --- a/doc/context/documents/general/qrcs/setup-it.pdf +++ b/doc/context/documents/general/qrcs/setup-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf Binary files differindex ff9ead339..41f5c5221 100644 --- a/doc/context/documents/general/qrcs/setup-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf Binary files differindex 132ce0d41..2768bea19 100644 --- a/doc/context/documents/general/qrcs/setup-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-ro.pdf diff --git a/doc/context/sources/general/manuals/publications/122176.pdf b/doc/context/sources/general/manuals/publications/122176.pdf Binary files differnew file mode 100644 index 000000000..f8db03c1c --- /dev/null +++ b/doc/context/sources/general/manuals/publications/122176.pdf diff --git a/doc/context/sources/general/manuals/publications/124484.mol b/doc/context/sources/general/manuals/publications/124484.mol new file mode 100644 index 000000000..24800c395 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/124484.mol @@ -0,0 +1,62 @@ +141125 + Marvin 01010811133D + + 13 13 0 0 0 0 999 V2000 + -0.1283 -2.5422 -0.0043 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.1658 -0.6138 0.0065 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.1195 -1.3196 -0.0021 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0475 0.8443 -0.0012 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.2986 -0.6295 -0.0041 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.1554 1.4497 -0.0042 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.3072 0.7176 -0.0039 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.7474 -0.9159 -0.8684 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.7236 -0.9042 0.9004 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8754 1.3949 -0.0035 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.1653 -1.1196 -0.0049 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.2061 2.4425 -0.0066 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.1794 1.1959 -0.0037 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 3 2 0 0 0 0 + 2 3 1 0 0 0 0 + 2 4 1 0 0 0 0 + 2 8 1 0 0 0 0 + 2 9 1 0 0 0 0 + 3 5 1 0 0 0 0 + 4 6 2 0 0 0 0 + 4 10 1 0 0 0 0 + 5 7 2 0 0 0 0 + 5 11 1 0 0 0 0 + 6 7 1 0 0 0 0 + 6 12 1 0 0 0 0 + 7 13 1 0 0 0 0 +M END + +> <PUBCHEM_BONDANNOTATIONS> +2 3 8 +2 4 8 +3 5 8 +4 6 8 +5 7 8 +6 7 8 + +> <StdInChI> +InChI=1S/C6H6O/c7-6-4-2-1-3-5-6/h1-4H,5H2 + +> <StdInChIKey> +WQPDQJCBHQPNCZ-UHFFFAOYSA-N + +> <AuxInfo> +1/0/N:6,7,4,5,2,3,1/rA:13nOCCCCCCHHHHHH/rB:;d1s2;s2;s3;d4;d5s6;s2;s2;s4;s5;s6;s7;/rC:-.1283,-2.5422,-.0043;1.1658,-.6138,.0065;-.1195,-1.3196,-.0021;1.0475,.8443,-.0012;-1.2986,-.6295,-.0041;-.1554,1.4497,-.0042;-1.3072,.7176,-.0039;1.7474,-.9159,-.8684;1.7236,-.9042,.9004;1.8754,1.3949,-.0035;-2.1653,-1.1196,-.0049;-.2061,2.4425,-.0066;-2.1794,1.1959,-.0037; + +> <Formula> +C6 H6 O + +> <Mw> +94.11124 + +> <SMILES> +O=C1C([H])=C([H])C([H])=C([H])C1([H])[H] + +> <CSID> +124484 + +$$$$ diff --git a/doc/context/sources/general/manuals/publications/124484.pdf b/doc/context/sources/general/manuals/publications/124484.pdf Binary files differnew file mode 100644 index 000000000..227a35b29 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/124484.pdf diff --git a/doc/context/sources/general/manuals/publications/4953942.mol b/doc/context/sources/general/manuals/publications/4953942.mol new file mode 100644 index 000000000..9addc2281 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/4953942.mol @@ -0,0 +1,54 @@ +6451477 + Marvin 12300719113D + + 13 13 0 0 0 0 999 V2000 + 0.0758 1.5048 0.6075 O 0 0 0 0 0 0 0 0 0 0 0 0 + -0.7275 -1.1065 -0.4102 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.6148 -1.1430 -0.4871 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.5117 -0.0902 0.0316 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.4983 -0.1720 -0.1409 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.0967 1.1007 0.4952 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.2041 1.0381 0.3634 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.2084 -1.9253 -0.7143 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0128 -1.9857 -0.8416 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.4964 -0.2417 0.0106 H 0 0 0 0 0 0 0 0 0 0 0 0 + 2.4645 -0.3767 -0.2737 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.7903 1.7498 0.7873 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.9607 1.6477 0.5723 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 6 1 0 0 0 0 + 1 7 1 0 0 0 0 + 2 3 2 0 0 0 0 + 2 4 1 0 0 0 0 + 2 8 1 0 0 0 0 + 3 5 1 0 0 0 0 + 3 9 1 0 0 0 0 + 4 6 2 0 0 0 0 + 4 10 1 0 0 0 0 + 5 7 2 0 0 0 0 + 5 11 1 0 0 0 0 + 6 12 1 0 0 0 0 + 7 13 1 0 0 0 0 +M END + +> <StdInChI> +InChI=1S/C6H6O/c1-2-4-6-7-5-3-1/h1-6H + +> <StdInChIKey> +ATYBXHSAIOKLMG-UHFFFAOYSA-N + +> <AuxInfo> +1/0/N:2,3,4,5,6,7,1/E:(1,2)(3,4)(5,6)/rA:13nOCCCCCCHHHHHH/rB:;d2;s2;s3;s1d4;s1d5;s2;s3;s4;s5;s6;s7;/rC:.0758,1.5048,.6075;-.7275,-1.1065,-.4102;.6148,-1.143,-.4871;-1.5117,-.0902,.0316;1.4983,-.172,-.1409;-1.0967,1.1007,.4952;1.2041,1.0381,.3634;-1.2084,-1.9253,-.7143;1.0128,-1.9857,-.8416;-2.4964,-.2417,.0106;2.4645,-.3767,-.2737;-1.7903,1.7498,.7873;1.9607,1.6477,.5723; + +> <Formula> +C6 H6 O + +> <Mw> +94.11124 + +> <SMILES> +O1C([H])=C([H])C([H])=C([H])C([H])=C1[H] + +> <CSID> +4953942 + +$$$$ diff --git a/doc/context/sources/general/manuals/publications/4953942.pdf b/doc/context/sources/general/manuals/publications/4953942.pdf Binary files differnew file mode 100644 index 000000000..02c6cc22a --- /dev/null +++ b/doc/context/sources/general/manuals/publications/4953942.pdf diff --git a/doc/context/sources/general/manuals/publications/971.mol b/doc/context/sources/general/manuals/publications/971.mol new file mode 100644 index 000000000..d27a673ba --- /dev/null +++ b/doc/context/sources/general/manuals/publications/971.mol @@ -0,0 +1,62 @@ +996 + Marvin 12300703363D + + 13 13 0 0 0 0 999 V2000 + -1.1709 -2.1086 -0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5317 -1.0277 -0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.8788 -1.0328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.2264 0.1986 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.5888 0.1839 -0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5163 1.4138 -0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.8912 1.4069 -0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.3960 -1.9155 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.2490 0.2143 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + 2.6112 0.1810 -0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.0246 2.3005 -0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.4055 2.2902 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.0526 -2.1045 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 0 0 0 + 1 13 1 0 0 0 0 + 2 3 2 0 0 0 0 + 2 4 1 0 0 0 0 + 3 5 1 0 0 0 0 + 3 8 1 0 0 0 0 + 4 6 2 0 0 0 0 + 4 9 1 0 0 0 0 + 5 7 2 0 0 0 0 + 5 10 1 0 0 0 0 + 6 7 1 0 0 0 0 + 6 11 1 0 0 0 0 + 7 12 1 0 0 0 0 +M END + +> <PUBCHEM_BONDANNOTATIONS> +2 3 8 +2 4 8 +3 5 8 +4 6 8 +5 7 8 +6 7 8 + +> <StdInChI> +InChI=1S/C6H6O/c7-6-4-2-1-3-5-6/h1-5,7H + +> <StdInChIKey> +ISWSIDIOOBJBQZ-UHFFFAOYSA-N + +> <AuxInfo> +1/0/N:7,5,6,3,4,2,1/E:(2,3)(4,5)/rA:13nOCCCCCCHHHHHH/rB:s1;d2;s2;s3;d4;d5s6;s3;s4;s5;s6;s7;s1;/rC:-1.1709,-2.1086,0;-.5317,-1.0277,0;.8788,-1.0328,0;-1.2264,.1986,0;1.5888,.1839,0;-.5163,1.4138,0;.8912,1.4069,0;1.396,-1.9155,0;-2.249,.2143,0;2.6112,.181,0;-1.0246,2.3005,0;1.4055,2.2902,0;-2.0526,-2.1045,0; + +> <Formula> +C6 H6 O + +> <Mw> +94.11124 + +> <SMILES> +O([H])C1C([H])=C([H])C([H])=C([H])C=1[H] + +> <CSID> +971 + +$$$$ diff --git a/doc/context/sources/general/manuals/publications/971.pdf b/doc/context/sources/general/manuals/publications/971.pdf Binary files differnew file mode 100644 index 000000000..a2fbc32c7 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/971.pdf diff --git a/doc/context/sources/general/manuals/publications/C6H6O.bib b/doc/context/sources/general/manuals/publications/C6H6O.bib new file mode 100644 index 000000000..4e37e3d19 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/C6H6O.bib @@ -0,0 +1,105 @@ +@chemical{108-95-2, + cas = {108-95-2}, + formula = {C_6H_6O}, + chemspider = {971}, + pubchem = {996}, + mw = {94.113}, + mass = {94.042}, + IUPAC = {phenol}, + name = {phenol}, + name:en = {phenol}, + name:nl = {fenol}, + name:pl = {fenol}, + name:it = {fenolo}, + name:fr = {phénol}, + name:de = {phenole}, + synonyms = {carbolic acid; hydroxybenzene; monohydroxybenzene; phenic acid; + phenyl alcohol; benzophenol; carbolicum acidum; phenic alcohol; + phenyl hydroxide; phenylic acid; carbolic oil; carbolsaeure;}, + molarvolume = {87.9 cm³}, + mp = {42°C}, + bp = {181°C}, + density = {1.071 g/ml}, + ionization = {8.5 eV}, + vaporpressure = {0.4 mmHg}, + refractiveindex = {1.553}, + surfacetension = {41.0 dyne/cm}, + appearance = {Colorless to light-pink, crystalline solid with a sweet, acrid odor}, + chemical = {SIX,ROT,B,EB135,+SR1,RZ1=OH}, + InChI={1S/C6H6O/c7-6-4-2-1-3-5-6/h1-5,7H}, + SMILES={C1=CC=C(C=C1)O}, + jmol = {971.mol}, + rendered = {971.pdf}, +} + +@chemical{24599-57-3, + cas = {24599-57-3}, + formula = {C_6H_6O}, + chemspider = {124484}, + pubchem = {141125}, + mw = {94.113}, + mass = {94.042}, + IUPAC = {cyclohexa-2,4-dien-1-one}, + name = {cyclohexadienone}, + name:en = {2,4-cyclohexadien-1-one}, + name:fr = {2,4-cyclohexadién-1-one}, + name:de = {2,4-cyclohexadien-1-on}, + density = {1.1 g/ml}, + bp = {182.4°C}, + refractiveindex = {1.515}, + surfacetension = {37.2 dyne/cm}, + molarvolume = {89.5 cm³}, + chemical = {SIX,ROT,B,EB35,+DR1,RZ1=O}, + InChI={1S/C6H6O/c7-6-4-2-1-3-5-6/h1-4H,5H2}, + SMILES = {C1C=CC=CC1=O}, + jmol = {124484.mol}, + rendered = {124484.pdf}, +} + +@chemical{566-33-5, + cas = {566-33-5}, + formula = {C_6H_6O}, + pubchem = {138558}, + chemspider = {122176}, + mw = {94.113}, + mass = {94.042}, + IUPAC = {cyclohexa-2,5-dien-1-one}, + name = {2,5-cyclohexadienone}, + name:en = {2,5-cyclohexadien-1-one}, + name:fr = {2,5-cyclohexadién-1-one}, + name:de = {2,5-cyclohexadien-1-on}, + density = {1.1 g/ml}, + bp = {173°C}, + refractiveindex = {1.515}, + surfacetension = {37.2 dyne/cm}, + molarvolume = {89.5 cm³}, + chemical = {SIX,ROT,B,EB25,+DR1,RZ1=O}, + InChI = {1S/C6H6O/c7-6-4-2-1-3-5-6/h2-5H,1H2}, + SMILES = {C1C=CC(=O)C=C1}, + jmol = {122176.mol}, + rendered = {122176.pdf}, +} + +@chemical{291-70-3, + cas = {291-70-3}, + chemspider = {4953942}, + pubchem = {6451477}, + formula = {C_6H_6O}, + mw = {94.113}, + mass = {94.042}, + IUPAC = {oxepine}, + name = {oxepin}, + name:en = {Oxacycloheptatriene}, + name:fr = {oxépine}, + name:de = {oxepin}, + density = {1.0 g/ml}, + bp = {183.1°C}, + refractiveindex = {1.502}, + surfacetension = {39.9 dyne/cm}, + molarvolume = {95.1 cm³}, + chemical = {SEVEN,ROT,+SB7,-SB1,B2..6,EB246,Z1=O}, + InChI={1S/C6H6O/c1-2-4-6-7-5-3-1/h1-6H}, + SMILES = {C1=CC=COC=C1}, + jmol = {4953942.mol}, + rendered = {4953942.pdf}, +} diff --git a/doc/context/sources/general/manuals/publications/mkiv-publications.tex b/doc/context/sources/general/manuals/publications/mkiv-publications.tex index e5d41fe2f..9612221ac 100644 --- a/doc/context/sources/general/manuals/publications/mkiv-publications.tex +++ b/doc/context/sources/general/manuals/publications/mkiv-publications.tex @@ -3,7 +3,7 @@ % todo : index key in chapters % \enabletrackers[publications*] -% \enabletrackers[publications.cite.match] +% \enabletrackers[publications.match] % \enabletrackers[publications.setups] % \enabletrackers[publications.authorhash] diff --git a/doc/context/sources/general/manuals/publications/publications-citations.tex b/doc/context/sources/general/manuals/publications/publications-citations.tex index fca48b313..aabdd5328 100644 --- a/doc/context/sources/general/manuals/publications/publications-citations.tex +++ b/doc/context/sources/general/manuals/publications/publications-citations.tex @@ -179,6 +179,9 @@ can choose whatever fits you best. \cindex {nocitation} \showsetup[nocitation] +\cindex {usecitation} +\showsetup[usecitation] + The purpose and utility of these commands (and their synonyms) is not only to draw a citation from the dataset for inclusion in the bibliography, but also to mark the place in the text where the citation is relevant. Normally, one might @@ -325,9 +328,6 @@ best illustrated though an example: \getbuffer -% To Hans: We need to suppress the closing period before the combining semi-colon. -% To Alan: Can't we use \removepunctuation ? - Combined entries are joined using a separator that can be specified, as in: \startbuffer @@ -403,6 +403,14 @@ The following examples further illustrate the syntax: \typeTEXbuffer \getbuffer \startbuffer +\cite[alternative=authoryears,righttext={ p.\nbsp xx}][article] + +\cite[alternative=authornum,righttext={ p.\nbsp xx}][article] +\stopbuffer + +\typeTEXbuffer \getbuffer + +\startbuffer \cite[alternative=num,righttext={{ p.\nbsp xx},{ p.\nbsp yy}}] [article,book,booklet] \stopbuffer @@ -428,12 +436,6 @@ The following examples further illustrate the syntax: \typeTEXbuffer \getbuffer -% To Hans: the text should probably NOT get the title's style (italics). -% To Alan: is this still an issue? I fixed the 'and'. - -Notice that the text is typeset using the \TEXcode {style} of the \TEXcode -{title}. - \startbuffer \cite[righttext={{ p.\nbsp xx},}][article,book] \stopbuffer @@ -444,6 +446,9 @@ Because \CONTEXT\ does not allow mixing key|-|value pair lists with single value keys, the keyword \TEXcode {alternative=} must be used, if needed, as shown in the examples above. +Note that a double curly|-|bracket (\TEXcode {{{}}}) also needs to be used when +the text is to contain a comma. + \stopsubsubject \startsubsubject [title=Additional text in a list entry] @@ -697,7 +702,7 @@ String lookups are partial and case insensitive. \typeTEXbuffer -so one must take care in formulating cite queries as both lookups above will +so one must take care in formulating cite queries as both lookups above will get all five entries: \inlinebuffer, whereas \startbuffer @@ -710,10 +715,19 @@ get all five entries: \inlinebuffer, whereas \typeTEXbuffer -only finds \inlinebuffer. +finds \inlinebuffer. As the match compares the entire author string, and not +just each author, it also finds [Hag]en & Br[aslau] as well as [Ho]ekwater[ & +Hagen]. % To Hans: It is curious that match(author:e*r) finds [Hag]en and Br[aslau]. % To Alan: We match the whole (original) string. +% +% Response: Yes, but this is not what one might naively expect. +% It would be useful to match author by author, rather than the entire author +% string, at least that is how one might want to use it. Oh well... +% the mechanism is predictable and the above example explicitly explains this +% point. Would it be easy to add match(lastname:h*), for example? I suppose that +% this would have to yield hits in ALL author-type fields (author, editor, ...). Note also that the order of the match criteria is not significant. @@ -757,7 +771,7 @@ select several different matching works when that is the desired result. \stopsection -\startsection[title=Page index and interaction,reference=sec:index] +\startsection[title={Page index, interaction, and registers},reference=sec:index] Each citation in the text not only marks the dataset entry for inclusion in the bibliography list but also records the page number on which the citation occurs. @@ -782,9 +796,6 @@ numbered bibliography entries will also contain \Index {hyperlink}s back to the first occurrence in the text where the entry is cited (which is the same as the first page indexed). -% to Hans: Hyperlinks on the list num or APA authoryear is no longer working! -% to Alan: Still? - Some styles, such as \index {style+APA}\TEXcode {apa}, will have other \Index {hyperlink}s. The author list including the year will be active just like the numbers above (an \TEXcode {authoryear} list is usually not numbered). diff --git a/doc/context/sources/general/manuals/publications/publications-database.tex b/doc/context/sources/general/manuals/publications/publications-database.tex index 675a28286..ec47e3c32 100644 --- a/doc/context/sources/general/manuals/publications/publications-database.tex +++ b/doc/context/sources/general/manuals/publications/publications-database.tex @@ -36,14 +36,14 @@ reference can be used for linking purposes. The list can be processed and sorted using the \Tindex {bibtex} program that converts the database into something more \TEX\ friendly (a \Tindex {.bbl} file). -In \CONTEXT\ we no longer use the (external) \goto {\Tindex{bibtex} program} +In \CONTEXT\ we no longer use the (external) \goto {\Tindex {bibtex} program} [url(https://www.ctan.org/pkg/bibtex)] at all: we simply parse the database files -and deal with the necessary manipulations directly in \CONTEXT. One or more such -databases can be used and combined with additional entries defined within the -document. We can have several such datasets active at the same time. +in \LUA\ and deal with the necessary manipulations directly in \CONTEXT. One or +more such databases can be used and combined with additional entries defined +within the document. We can have several such datasets active at the same time. \startaside -\emphasis {On the name \Tindex{btx}:} many of the \CONTEXT\ commands that will be +\emphasis {On the name \Tindex {btx}:} many of the \CONTEXT\ commands that will be used in the following contain the label \TEXcode {btx} in their name. This identifier was retained despite the fact that \CONTEXT\ \MKIV\ is now completely independent of \BIBTEX; it reflects the role still played by \BIBTEX\ data as a @@ -113,7 +113,7 @@ which is quite robust. The use of commands in the database file will be describe in \in {section} [sec:Commands]. The \Tindex {author} (and \Tindex {editor}) fields are parsed separating multiple -authors identified by the conjunction \quote{and}. Each name is assumed to be in +authors identified by the conjunction \quote {and}. Each name is assumed to be in the form: \definetyping @@ -131,7 +131,7 @@ where \type {Lastname} is a single word but may include an optional (nobility) {de}, \quotation {de la}, etc.) \emphasis {unless} specifically in the two- or three|-|token form: -\index{suffix} +\index {suffix} \startNameSyntax Lastname(s), Firstname(s) @@ -149,8 +149,8 @@ cases. \BIBTEX\ also (obscurely) supports the syntax: -\seeindex{juniors}{suffix} -\index{suffix} +\seeindex {juniors}{suffix} +\index {suffix} \startNameSyntax Firstname(s) \{Lastname(s), Suffix(es)\} @@ -161,7 +161,7 @@ we may (or may not) support this in the future, so don't use this! We extend \BIBTEX\ by optionally parsing each name in terms of four or five tokens: -\index{particle} \index{suffix} \index{initial} +\index {particle} \index {suffix} \index {initial} \startNameSyntax Particule(s), Lastname(s), Suffix(es), Firstname(s) @@ -174,7 +174,7 @@ thus avoiding the need to resort to any sort of \TEX\ trickery \cite [num] whose meaning is presently reserved for future directives describing how the name is to be interpreted: -\index{particle} \index{suffix} \index{initial} +\index {particle} \index {suffix} \index {initial} \startNameSyntax Particule(s), Lastname(s), Suffix(es), Firstname(s), Initial(s), directives @@ -201,7 +201,7 @@ combinations, endash, quotations, etc.). Note that the bibliography rendering style (see below) might specify a capitalization of the title (using the \CONTEXT\ commands \TEXcode {\Word} or \TEXcode {\Words}, for example). Capitalized Names and acronyms are respected removing a need for the \BIBTEX\ -practice of \quote{protecting} such words or letters with surrounding curly +practice of \quote {protecting} such words or letters with surrounding curly brackets (which here are simply stripped off). (Furthermore, since \CONTEXT\ uses \UTF, it does not suffer from all of the complicated \Index {sorting} issues that plague \BIBTEX|/|\LATEX.) As some styles might not specify the capitalization of @@ -218,7 +218,7 @@ through enclosing curly brackets that would have been a necessary consequence. Thus, some cleaning of these database files might be needed. Furthermore, we attempt to use all the power of \CONTEXT\ and \LUA, thus making unnecessary much (most?) of the \TEX-like encoding of the data. We encourage users to clean|-|up -their \Tindex{.bib} database files as much as possible so that they contain only +their \Tindex {.bib} database files as much as possible so that they contain only the necessary data, with a minimum of explicit formatting directives. \stopaside @@ -242,7 +242,7 @@ that some \BIBTEX\ practice allows for the concatenation of duplicate name \inde \BTXcode {and}, but (silently) ignores duplicate other fields. We choose to have a consistant behavior and disallow duplicate field occurrences. \stopfootnote though duplicate \index {duplicate+entries}\emphasis {entries} (having the same -\index{duplicate+tags}tag) are retained, but the subsequent identical \Index +\index {duplicate+tags}tag) are retained, but the subsequent identical \Index {tag}s will be modified by adding a suffix $-n$ for the $n$\high {th} duplicate. The presence of duplicate \index {duplicate+fields}fields or \index {duplicate+tags}tags will be flagged as such with warnings in the log file. @@ -275,7 +275,7 @@ particular, one might need to redefine those that are too \LATEX|-|centric.) However, in most cases, they are just abbreviations or font switches and these are often well known. Therefore, \CONTEXT\ will try to resolve them before reporting an issue. The log file will announce the commands that have been seen -in the loaded databases. For instance, loading \Tindex{tugboat.bib} (distributed +in the loaded databases. For instance, loading \Tindex {tugboat.bib} (distributed with \TEXLIVE) gives a long list of commands of which we show a small set of the five most frequently encountered ones here: @@ -295,11 +295,11 @@ publications > tugboat TeX 856 known \stoptyping Some are flagged as known and others as unknown. You can define unknown commands, -or overload existing definitions in the standard way (\emphasis{e.g.} \TEXcode +or overload existing definitions in the standard way (\emphasis {e.g.} \TEXcode {\def\Dash{—}}), the \CONTEXT\ way (\TEXcode {\define\Dash{—}}) or, alternatively, in the following way: -\cindex{definebtxcommand} +\cindex {definebtxcommand} \startTEX \definebtxcommand\TUB {TUGboat} @@ -323,13 +323,13 @@ out for proofreading. You can access the commands using \index commands like \btxcommand{MySpecialCommand} are handled in an indirect way \stopbuffer -\cindex{btxcommand} +\cindex {btxcommand} \typeTEXbuffer As this is an undefined command we get: \quotation {\inlinebuffer}. -Often, these embedded \TEX\ commands are present in \Tindex{.bib} files in order +Often, these embedded \TEX\ commands are present in \Tindex {.bib} files in order to trick \BIBTEX\ into certain behavior. Since this will generally not be necessary here, we strongly encourage users to clean|-|up such unnecessary extras. Indeed, the idea is to keep the data clean, using styles and parameter @@ -341,7 +341,7 @@ setup, consistent databases. Finally, the \BIBTEX\ entry \tindex {@string}\BTXcode {@String{}} is preprocessed as expected. -\tindex{@string} +\tindex {@string} \startTEX @String{j-TUGboat = "TUGboat"} @@ -368,8 +368,8 @@ prepared in a way that suits the processing of the \BIBTEX\ generated entries; The next variant reflects the \CONTEXT\ recoding of the old \BIBTEX\ output. For this reason, some users refer to this as \Tindex {.bbl} format. -\cindex{startpublication} -\cindex{stoppublication} +\cindex {startpublication} +\cindex {stoppublication} \startTEX \startpublication[k=Hagen:Second,t=article,a={Hans Hagen},y=2013,s=HH01] @@ -392,8 +392,8 @@ the previous use of \BIBTEX. In the new setup we support these variants: -\cindex{startpublication} -\cindex{stoppublication} +\cindex {startpublication} +\cindex {stoppublication} \startTEX \startpublication[k=Hagen:Third,t=article] @@ -405,8 +405,8 @@ In the new setup we support these variants: as well as -\cindex{startpublication} -\cindex{stoppublication} +\cindex {startpublication} +\cindex {stoppublication} \startTEX \startpublication[tag=Hagen:Third,category=article] @@ -418,8 +418,8 @@ as well as and -\cindex{startpublication} -\cindex{stoppublication} +\cindex {startpublication} +\cindex {stoppublication} \startTEX \startpublication @@ -517,8 +517,8 @@ just to name a few (amongst many more). Filters can be easily written in \LUA\ t read these and other bibliography data formats, although no such filters are provided. This is because the user has a choice of a certain number of bibliography database management programs that can easily convert from these to -the \BIBTEX\ format. (Notable, open source examples are \index{jabref} \goto -{jabref} [url(http://jabref.sourceforge.net)] and \index{zotero} \goto {zotero} +the \BIBTEX\ format. (Notable, open source examples are \index {jabref} \goto +{jabref} [url(http://jabref.sourceforge.net)] and \index {zotero} \goto {zotero} [url(http://www.zotero.org)].) Indeed, it is not the vocation of the present \CONTEXT\ bibliography subsystem to fully manage the bibliography data sources, only to be able to use such data in the production of documents. @@ -531,38 +531,6 @@ that these programs are not standards and many of them may introduce invalid extensions that might not even be handled correctly by \BIBTEX\ itself. \stopaside -Here is an example of a loader. Each loader takes two arguments, a dataset -identifier and a filename. The \LUA\ loader takes an extra optional argument: a -function that returns a \LUA\ table. Here we use one of the loaders present in -\CONTEXT: - -\starttyping -\startluacode - function publications.loaders.json(dataset,filename) - publications.loaders.lua(dataset,filename,utilities.json.load) - end -\stopluacode -\stoptyping - -Here is an easy way to debug your own functions: - -\starttyping -\startluacode - local function myloader(filename) - inspect(filename) -- shows the full filename used - local result = { - -- loaded entries - } - inspect(result) -- shows the loaded data - return result - end - - function publications.loaders.json(dataset,filename) - return publications.loaders.lua(dataset,filename,myloader) - end -\stopluacode -\stoptyping - \stopsection \stopchapter diff --git a/doc/context/sources/general/manuals/publications/publications-datasets.tex b/doc/context/sources/general/manuals/publications/publications-datasets.tex index eb0f4f91b..d612b72e0 100644 --- a/doc/context/sources/general/manuals/publications/publications-datasets.tex +++ b/doc/context/sources/general/manuals/publications/publications-datasets.tex @@ -17,7 +17,7 @@ non|-|bibliographic information. A dataset is initiated with the \Cindex {definebtxdataset} command. -\cindex{definebtxdataset} +\cindex {definebtxdataset} \startTEX \definebtxdataset[default] @@ -31,10 +31,10 @@ it explicitly because in the future we may provide more options. Like other commands in \CONTEXT, the dataset options can be setup using the command \Cindex {setupbtxdataset}. -\cindex{definebtxdataset} +\cindex {definebtxdataset} \showsetup[definebtxdataset] -\cindex{setupbtxdataset} +\cindex {setupbtxdataset} \showsetup[setupbtxdataset] A dataset is loaded from some source through the use of the @@ -42,11 +42,11 @@ A dataset is loaded from some source through the use of the Here are some examples: -\cindex{usebtxdataset} -\tindex{.bib} -\tindex{.xml} -\tindex{.lua} -\tindex{.bbl} +\cindex {usebtxdataset} +\tindex {.bib} +\tindex {.xml} +\tindex {.lua} +\tindex {.bbl} \startTEX \usebtxdataset[tugboat][tugboat.bib] @@ -56,7 +56,7 @@ Here are some examples: \usebtxdataset[default][named.buffer] \stopTEX -\cindex{usebtxdataset} +\cindex {usebtxdataset} \showsetup[usebtxdataset] The four suffixes illustrated in the example above are understood by the loader. @@ -85,8 +85,8 @@ be discouraged as being potentially error|-|prone. \stopfootnote \usebtxdataset[example][mkiv-publications.bib] \stopbuffer -\cindex{definebtxdataset} -\cindex{usebtxdataset} +\cindex {definebtxdataset} +\cindex {usebtxdataset} \typeTEXbuffer @@ -98,17 +98,6 @@ contains one entry of each standard type or category, with the \Index {tag} set to the entry type name. This entry shown here illustrates many features that will be explained elsewhere in the text. -\startplacetable - [reference=tab:mkiv-publications.bib, - title={mkiv-publications.bib\\ - This test file was constructed to illustrate various features of the - \BIBTEX\ format and contains some fields that might at first glance - appear somewhat curious.}] - \typeBTXfile - [range={@Comment{Start example},@Comment{Stop example}},before=,after=] - {mkiv-publications.bib} -\stopplacetable - \startsection[title=Dataset coverage] You can load much more data than you actually need. Usually only those entries @@ -131,7 +120,7 @@ The current active dataset to be used by default can be set with \setupbtx[dataset=example] \stopbuffer -\cindex{setupbtx} +\cindex {setupbtx} \typeTEXbuffer @@ -173,9 +162,9 @@ An alternative set of specifications can be selected using, for example \usebtxdefinitions[apa] \stopbuffer -\cindex{usebtxdefinitions} -\index{style+APA} -\seeindex{specification}{style} +\cindex {usebtxdefinitions} +\index {style+APA} +\seeindex {specification}{style} \typeTEXbuffer @@ -183,9 +172,9 @@ An alternative set of specifications can be selected using, for example Alternately, the set of specifications can be loaded and (later) activated using -\cindex{loadbtxdefinitionfile} -\cindex{setupbtx} -\index{style+APA} +\cindex {loadbtxdefinitionfile} +\cindex {setupbtx} +\index {style+APA} \startTEX \loadbtxdefinitionfile[apa] @@ -239,7 +228,7 @@ You can ask for an overview of entries present in a dataset with: \showbtxdatasetfields[example] \stopbuffer -\cindex{showbtxdatasetfields} +\cindex {showbtxdatasetfields} \typeTEXbuffer @@ -259,7 +248,7 @@ detail is the following: \showbtxdatasetcompleteness[example] \stopbuffer -\cindex{showbtxdatasetcompleteness} +\cindex {showbtxdatasetcompleteness} \typeTEXbuffer @@ -293,7 +282,7 @@ handling bibliographic data of all sorts. You can see all (currently known) \index {category}categories and \index {field}fields with: -\cindex{showbtxfields} +\cindex {showbtxfields} \startTEX \showbtxfields[rotation=...] @@ -301,19 +290,6 @@ You can see all (currently known) \index {category}categories and \index The result is shown \in {table} [tab:fields], below. -\startplacetable - [reference=tab:fields, - list={\TEXcode {\showbtxfields[rotation=90]}}, - title={\cindex {showbtxfields}\TEXcode {\showbtxfields[rotation=90]} The entry - \Index {category} and \Index {field} names (and how they are used) are - defined by both the rendering style as well as by the contents of the - dataset. \index {field+required}\quote {Required} fields are indicated - in green. All unmarked fields are normally \index - {field+ignored}ignored in the rendering.}] - \small - \showbtxfields[rotation=90] -\stopplacetable - \cindex {showbtxfields} \showsetup[showbtxfields] \showsetup[showbtxfields:argument] @@ -330,4 +306,32 @@ rendering of bibliography lists. \stopsection +\startplacetable + [reference=tab:mkiv-publications.bib, + title={mkiv-publications.bib\\ + This test file was constructed to illustrate various features of the + \BIBTEX\ format and contains some fields that might at first glance + appear somewhat curious.}]. + \typeBTXfile + [range={@Comment{Start example},@Comment{Stop example}}] + {mkiv-publications.bib} +\stopplacetable + +\startplacetable + [reference=tab:fields, + list={\TEXcode {\showbtxfields[rotation=90]}}, + title={\cindex {showbtxfields}\TEXcode {\showbtxfields[rotation=90]} The entry + \Index {category} and \Index {field} names (and how they are used) are + defined by both the rendering style as well as by the contents of the + dataset. \index {field+required}\quote {Required} fields are indicated + in green. All unmarked fields are normally \index + {field+ignored}ignored in the rendering.}] + \small + \showbtxfields[rotation=90] +\stopplacetable + +\placefloats + +\stopchapter + \stopcomponent diff --git a/doc/context/sources/general/manuals/publications/publications-lua.tex b/doc/context/sources/general/manuals/publications/publications-lua.tex index 4bbc73a2f..3a148dca4 100644 --- a/doc/context/sources/general/manuals/publications/publications-lua.tex +++ b/doc/context/sources/general/manuals/publications/publications-lua.tex @@ -182,8 +182,8 @@ We can now simply typeset the entries with: \cindex{placebtxrendering} \startbuffer -\definebtxrendering[drumming][dataset=drumming,method=dataset] -\placebtxrendering[drumming] +\definebtxrendering[drumming][group=examples,dataset=drumming] +\placebtxrendering[drumming][method=dataset] \stopbuffer \typeTEXbuffer \getbuffer diff --git a/doc/context/sources/general/manuals/publications/publications-otheruse.tex b/doc/context/sources/general/manuals/publications/publications-otheruse.tex index 8f42f65eb..43b21d9a5 100644 --- a/doc/context/sources/general/manuals/publications/publications-otheruse.tex +++ b/doc/context/sources/general/manuals/publications/publications-otheruse.tex @@ -7,8 +7,13 @@ title=Other use of datasets] Because a bibliography is just a kind of database, you can use the publications -mechanism for other purposes as well. During the re|-|implementation \name -{Miklavec}{M.}Mojca came up with the following definitions: +mechanism for other purposes as well. + +\startsection + [title=Images] + +During the re|-|implementation \name {Miklavec}{M.}Mojca came up with the +following definitions: \startbuffer \startbuffer[duane] @@ -71,6 +76,7 @@ the buffer and sets up a rendering. \definebtxrendering [duane] [specification=duane, + group=duane, % so not: group=default, dataset=duane, method=dataset, numbering=no, @@ -163,6 +169,160 @@ We only get the second rendering because we specified \TEXcode {criterium} as \TEXcode {all}. Future version of \CONTEXT\ will probably provide \Index{sorting} options and ways to plug in additional functionality. +\stopsection + +\startsection + [title=Chemistry] + +To give further ideas on how the \quote {publications} database system can be +effectively used in a document, consider any object such as an image (as seen +above), an equation, a chemical compound, or other entity having various +properties and that might be used repeatedly. Here we will give an almost +realistic example of a dataset containing various chemical compounds. + +Like above, we shall define a named dataset and load it with definitions having +nothing to do with publications, rather a number of chemical compounds of +formula \chemical {C_6H_6O} (there are some 57 such molecules). + +\startbuffer +\definebtxdataset + [chemistry] + +\usebtxdataset + [chemistry] + [C6H6O.bib] +\stopbuffer + +\cindex{definebtxdataset} +\cindex{usebtxdataset} +\typebuffer [option=TEX] +\getbuffer + +We can visualize the contents of the dataset using, for example: + +\startbuffer +\showbtxdatasetcompleteness + [dataset=chemistry, + specification=chemistry] +\stopbuffer + +\cindex{showbtxdatasetcompleteness} +\typebuffer [option=TEX] + +Note that the specification \quote {chemistry} is undefined (as yet) so the log file shows: + +\starttyping +publications > no data definition file 'publ-imp-chemistry.lua' for 'chemistry' +\stoptyping + +This is harmless as a missing (lua) definition file makes \emphasis {all} data categories and fields +\quote {optional}, allowing their access and use. + +The dataset (containing just 4 of the 57 entries) is: + +\startparagraph [style=small] +\getbuffer +\stopparagraph + +The next step is to activate the specification and dataset and to define a list rendering, as +follows: + +\startbuffer +\setupbtx + [specification=chemistry, + dataset=chemistry] + +\definebtxrendering + [chemistry] + [specification=chemistry, + group=chemistry, + dataset=chemistry] +\stopbuffer + +\cindex{setupbtx} +\cindex{definebtxrendering} +\typebuffer [option=TEX] +\getbuffer + +This list rendering can then be placed, but first one needs to create a setup +describing how to handle the entry (or category) \type {@chemical{}} contained +in the file \type {C6H6O.bib}. As in the earlier example, we shall use a table +structure for the list text: + +\startbuffer +\startsetups btx:chemistry:list:chemical + \startframed [frame=off,location=middle] + \bTABLE [frame=off] + \bTR + \bTD [width=.2\textwidth,ny=2] + \goto + {\startchemical [scale=small] + \chemical [\btxflush{chemical}] + \stopchemical} [program(\btxflush{rendered})] + \eTD + \bTD [width=.2\textwidth] \chemical{\btxflush{formula}} \eTD + \bTD [width=.4\textwidth] \btxflush{iupac} \eTD + \eTR + \bTR + \bTD \btxflush{mw}~g/mole \eTD + \bTD \btxflush{cas} \eTD + \eTR + \eTABLE + \stopframed +\stopsetups + +\placebtxrendering [method=dataset] +\stopbuffer + +\cindex{startsetups} +\cindex{stopsetups} +\typebuffer [option=TEX] + +Note that not all fields of the dataset are used. + +\getbuffer + +The real usefulness of the dataset is the possibility of referring to entries +and the ability to extract data fields. Setups can be defined for those fields +requiring any formatting beyond a simple flushing, for example those requiring +the \Cindex {chemical} command. + +\startbuffer +\startsetups btx:chemistry:cite:formula + \chemical {\currentbtxfirst} +\stopsetups + +\startsetups btx:chemistry:cite:chemical + \startchemical [scale=600] + \chemical [\currentbtxfirst] + \stopchemical +\stopsetups + +\cite [name] [108-95-2] |<|or|>| +\cite [formula] [108-95-2] |<|or|>| +\cite [chemical] [108-95-2] |<|or|>| +\cite [molarvolume] [108-95-2] +\stopbuffer + +\cindex{startsetups} +\cindex{stopsetups} +\cindex{cite} +\typebuffer [option=TEX] +\getbuffer + +\startbuffer +\cite [name] [566-33-5] |<|or|>| +\cite [formula] [566-33-5] |<|or|>| +\cite [chemical] [566-33-5] |<|or|>| +\cite [molarvolume] [566-33-5] +\stopbuffer + +\cindex{cite} +\typebuffer [option=TEX] +\getbuffer + +\stopsection + \stopchapter \stopcomponent diff --git a/doc/context/sources/general/manuals/publications/publications-overviews.tex b/doc/context/sources/general/manuals/publications/publications-overviews.tex index 17b98cc3c..27ec420db 100644 --- a/doc/context/sources/general/manuals/publications/publications-overviews.tex +++ b/doc/context/sources/general/manuals/publications/publications-overviews.tex @@ -4,6 +4,9 @@ \startchapter[title=Bibliography,reference=ch:biblio] +\setupbtx + [interaction=all] + \setupbtxrendering [default] [pagestate=start, diff --git a/doc/context/sources/general/manuals/publications/publications-rendering.tex b/doc/context/sources/general/manuals/publications/publications-rendering.tex index 546dc2f20..caa1f61d7 100644 --- a/doc/context/sources/general/manuals/publications/publications-rendering.tex +++ b/doc/context/sources/general/manuals/publications/publications-rendering.tex @@ -73,15 +73,6 @@ defined and setup using the commands: \showsetup{setupbtxrendering} -\startbuffer - \showrootvalues[btxrendering] - \showinstancevalues[btxrendering][default] - \usebtxdefinitions[apa] % needed for: - \showinstancevalues[btxrendering][apa] -\stopbuffer - -\typebuffer \getbuffer - A rendering is then placed using \Cindex {placebtxrendering}, a \CONTEXT\ command that accepts the same arguments as for its setup. Using \TEXcode {method=dataset}, as above, one renders the entire contents of the dataset. @@ -201,13 +192,13 @@ the rendering that we named \TEXcode {example} above. Let's try a new example (using a file taken from the \index {TUG bibliography archive}\goto {TUG bibliography archive} [url(http://ftp.math.utah.edu/pub/tex/bib/index.html)]): \startfootnote \index -{template.bib} The file \TEXcode {template2.bib} is simply a copy of \TEXcode +{template.bib} The file \TEXcode {template-clean.bib} is simply a copy of \TEXcode {template.bib} that has been cleaned|-|up to remove the empty entries. \stopfootnote \startbuffer \definebtxdataset[template] -\usebtxdataset [template][template2.bib] +\usebtxdataset [template][template-clean.bib] \loadbtxdefinitionfile[aps] \definebtxrendering @@ -254,9 +245,8 @@ manual uses: \stopTEX thus setting the numbering of the group \TEXcode {examples} apart from the -numbering of the dataset \TEXcode {default} and its named rendering that contains -this manual's own bibliography (that will be placed later, on \at {page} -[ch:biblio]). +numbering of the dataset \TEXcode {default} and its named rendering (which contains +this manual's own bibliography, to be placed later, on \at {page} [ch:biblio]). \stopsection @@ -268,10 +258,12 @@ The default rendering style implemented in the \MKII\ module was loosely based o the \index {style+APA}APA standard. In contrast, we made a design choice in the present \MKIV\ system to provide a very minimal \TEXcode {default} style, and one should not expect much from this default: in fact, it only recognizes \type -{article} and \type {book} entries. A user requiring a more complete rendering -will want to explicitly load another style file. One such complete specification, +{article} and \type {book} entries (see the bibliography on \at {page} +[ch:biblio]). A user requiring a more complete rendering will want to explicitly +load and activate another style file. One such complete specification, illustrated above and appropriately named \index {style+APA}\TEXcode {apa}, is -described in the \cite [title] [default::APA2010] \cite [num] [default::APA2010]. +described in the \cite [title] [default::APA2010]. \cite [num] +[default::APA2010] \startaside \emphasis {A note on the \index {style+APA}APA style:} We get the strong @@ -429,6 +421,9 @@ within a unique section, as in: The language setting also influences the sorting of \UTF\ strings, in particular authors and titles. +\cindex {setupdelimitedtext} +\showsetup[setupdelimitedtext] + \startplacetable [title={\cindex{setupdelimitedtext}\TEXcode{\setupdelimitedtext[language=…]}}] \starttabulate [|Tl|p(.7\textwidth)|] \NC language= \NC \NC \NR @@ -444,9 +439,6 @@ authors and titles. \stoptabulate \stopplacetable -\cindex {setupdelimitedtext} -\showsetup[setupdelimitedtext] - \startsubsubject[title=Translated titles] Going beyond this handling of punctuation, labels and sorting, we have also @@ -495,8 +487,8 @@ complicated situation such as this is not very common. \startbuffer \usebtxdataset [leibniz][leibniz.buffer] -\definebtxrendering[leibniz][apa][dataset=leibniz] -\placebtxrendering [leibniz][group=examples,method=dataset] +\definebtxrendering[leibniz][apa][group=examples,dataset=leibniz] +\placebtxrendering [leibniz][method=dataset] \stopbuffer with diff --git a/doc/context/sources/general/manuals/publications/publications-style.tex b/doc/context/sources/general/manuals/publications/publications-style.tex index f8457dddc..2e0937887 100644 --- a/doc/context/sources/general/manuals/publications/publications-style.tex +++ b/doc/context/sources/general/manuals/publications/publications-style.tex @@ -97,6 +97,8 @@ \definetype [LUAcode] [option=,color=fore:two] \definetype [MPcode] [option=,color=fore:two] + \definetyping[BTX] [option=,color=fore:two] + \setuptyping [BTX] [option=,color=fore:one] \setuptyping [XML] [option=,color=fore:one] \setuptyping [TEX] [option=,color=fore:one] diff --git a/doc/context/sources/general/manuals/publications/publications-tracing.tex b/doc/context/sources/general/manuals/publications/publications-tracing.tex index e48e5d655..1c97c715d 100644 --- a/doc/context/sources/general/manuals/publications/publications-tracing.tex +++ b/doc/context/sources/general/manuals/publications/publications-tracing.tex @@ -25,6 +25,7 @@ publications.cite.references publications.detail publications.duplicates publications.match +publications.setups publications.sorters publications.suffixes \stopTEX diff --git a/doc/context/sources/general/manuals/publications/template-clean.bib b/doc/context/sources/general/manuals/publications/template-clean.bib new file mode 100644 index 000000000..7537362e6 --- /dev/null +++ b/doc/context/sources/general/manuals/publications/template-clean.bib @@ -0,0 +1,419 @@ +%%% ==================================================================== +%%% BibTeX-file{ +%%% author = "BibNet", +%%% version = "1.01", +%%% date = "06 April 1995", +%%% time = "10:40:31 MST", +%%% filename = "template.bib", +%%% address = "Center for Scientific Computing +%%% Department of Mathematics +%%% University of Utah +%%% Salt Lake City, UT 84112 +%%% USA +%%% and +%%% Utah Supercomputing Institute +%%% University of Utah +%%% Salt Lake City, UT 84112 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% checksum = "50833 419 1409 11712", +%%% email = "bibnet at math.utah.edu (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "BibTeX, template", +%%% supported = "yes", +%%% docstring = "This file contains empty sample BibTeX entry +%%% templates, and one filled-in example of each. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + +% @Article{, +% author = "", +% title = "", +% journal = "", +% year = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTpages = "", +% OPTmonth = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:53:42 1994", +% } +% +% @Booklet{, +% title = "", +% OPTauthor = "", +% OPThowpublished = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTyear = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:53:33 1994", +% } +% +% @Book{, +% author = "", +% title = "", +% publisher = "", +% year = "", +% ISBN = "", +% LCCN = "", +% OPTeditor = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTseries = "", +% OPTaddress = "", +% OPTedition = "", +% OPTmonth = "", +% OPTnote = "", +% OPTpages = "", +% OPTprice = "", +% OPTacknowledgement = "", +% bibdate = "Thu Feb 10 16:53:36 1994", +% } +% +% @InBook{, +% author = "", +% title = "", +% chapter = "", +% publisher = "", +% year = "", +% ISBN = "", +% LCCN = "", +% OPTeditor = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTseries = "", +% OPTaddress = "", +% OPTedition = "", +% OPTmonth = "", +% OPTtype = "", +% OPTnote = "", +% OPTpages = "", +% OPTprice = "", +% OPTacknowledgement = "", +% bibdate = "Thu Feb 10 16:52:57 1994", +% } +% +% @InCollection{, +% author = "", +% title = "", +% booktitle = "", +% publisher = "", +% year = "", +% ISBN = "", +% LCCN = "", +% OPTeditor = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTseries = "", +% OPTtype = "", +% OPTchapter = "", +% OPTaddress = "", +% OPTedition = "", +% OPTmonth = "", +% OPTnote = "", +% OPTpages = "", +% OPTprice = "", +% OPTacknowledgement = "", +% bibdate = "Thu Feb 10 16:52:36 1994", +% } +% +% @InProceedings{, +% author = "", +% title = "", +% booktitle = "", +% year = "", +% ISBN = "", +% ISBN = "", +% OPTeditor = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTseries = "", +% OPTorganization = "", +% OPTpublisher = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTnote = "", +% OPTpages = "", +% OPTprice = "", +% bibdate = "Thu Feb 10 16:53:46 1994", +% } +% +% @Manual{, +% title = "", +% OPTauthor = "", +% OPTorganization = "", +% OPTaddress = "", +% OPTedition = "", +% OPTyear = "", +% OPTmonth = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:53:17 1994", +% } +% +% @MastersThesis{, +% author = "", +% title = "", +% school = "", +% year = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTnote = "", +% OPTtype = "", +% bibdate = "Thu Feb 10 16:53:30 1994", +% } +% +% @Misc{, +% OPTauthor = "", +% OPTtitle = "", +% OPThowpublished = "", +% OPTyear = "", +% OPTmonth = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:52:31 1994", +% } +% +% @Periodical{, +% key = "", +% title = "", +% OPTeditor = "", +% OPTorganization = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTpages = "", +% OPTmonth = "", +% OPTyear = "", +% OPTISSN = "", +% OPTpublisher = "", +% OPTaddress = "", +% OPThowpublished = "", +% OPTnote = "", +% OPTkeywords = "", +% bibdate = "Thu Feb 10 16:52:20 1994", +% } +% +% @PhdThesis{, +% author = "", +% title = "", +% school = "", +% year = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTtype = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:53:28 1994", +% } +% +% @Proceedings{, +% title = "", +% year = "", +% ISBN = "", +% OPTeditor = "", +% OPTvolume = "", +% OPTnumber = "", +% OPTseries = "", +% OPTpublisher = "", +% OPTorganization = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTnote = "", +% OPTpages = "", +% OPTacknowledgement = "", +% bibdate = "Thu Feb 10 16:53:13 1994", +% } +% +% @TechReport{, +% author = "", +% title = "", +% institution = "", +% year = "", +% OPTtype = "", +% OPTnumber = "", +% OPTaddress = "", +% OPTmonth = "", +% OPTnote = "", +% bibdate = "Thu Feb 10 16:53:24 1994", +% } +% +% @Unpublished{, +% author = "", +% title = "", +% note = "", +% OPTyear = "", +% OPTmonth = "", +% bibdate = "Thu Feb 10 16:52:27 1994", +% } + +%%====================================================================== +@String{inst-mit = "Massachusetts Institute of Technology"} + +@String{j-SPE = "Soft{\-}ware\emdash Prac{\-}tice and Experience"} + +@String{pub-ADOBE = "{Adobe Systems Incorporated}"} +@String{pub-ADOBE:adr = "1585 Charleston Road, P.~O. Box 7900, Mountain + View, CA 94039-7900, USA, Tel: (415) 961-4400"} +@String{pub-CUP = "Cambridge University Press"} +@String{pub-CUP:adr = "New York"} +@String{pub-CURSCI = "Current Science"} +@String{pub-CURSCI:adr = "34--42 Cleveland Street, London, UK"} + +@String{pub-PH = "Pren{\-}tice-Hall"} +@String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"} + +@Article{Chen:1988:IPP, + author = "Pehong Chen and Michael A. Harrison", + title = "Index Preparation and Processing", + journal = j-SPE, + year = "1988", + volume = "19", + number = "9", + pages = "897--915", + month = sep, + note = "The {\LaTeX} text of this paper is included in the + {\tt makeindex} software distribution.", +} + +@Book{Kahaner:1989:NMS, + author = "David Kahaner and Cleve Moler and Stephen Nash", + title = "Numerical Methods and Software", + publisher = pub-PH, + address = pub-PH:adr, + year = "1989", + ISBN = "0-13-627258-4", + LCCN = "TA345 .K341 1989", + pages = "xii + 495", + bibdate = "Wed Dec 15 10:35:43 1993", +} + +@InBook{Fletcher:1987:PMO, + author = "R. Fletcher", + title = "Practical Methods of Optimization", + chapter = "8.7~: {P}olynomial time algorithms", + pages = "183--188", + publisher = "John Wiley~\&~Sons", + address = "New York", + edition = "second", + year = "1987", +} + +@InCollection{Johnson:1987:LDT, + author = "Steven C. Johnson and Michael E. Lesk", + title = "Language Development Tools", + booktitle = "{UNIX} System Readings and Applications", + publisher = pub-PH, + address = pub-PH:adr, + year = "1987", + pages = "245--265", + note = "Reprinted from {T}he {B}ell {S}ystem {T}echnical + {J}ournal, 1978", +} + +@InProceedings{Gray:1988:GLA, + author = "Robert W. Gray", + title = "$\gamma$-{GLA}\emdash A Generator for Lexical + Analyzers that Programmers Can Use", + booktitle = "Summer USENIX '88", + year = "1988", + pages = "147--160", + month = jun # " 20--24", +} + +@Manual{Adobe:1990:ATF, + author = pub-ADOBE, + title = "Adobe Type 1 Font Format", + organization = pub-ADOBE, + address = pub-ADOBE:adr, + year = "1990", + month = mar, + partnumber = "LPS0064", +} + +@Mastersthesis{Adams:1986:DFL, + title = "A Dialogue of Forms: Letters and Digital Font Design", + author = "Debra Anne Adams", + year = "1986", + month = sep, + school = inst-mit, + address = "MIT Microreproduction Lab, 77 Massachusetts Avenue, + room 014-0551, Cambridge, MA 02139. \$46.35", + comments = "Deriving other characters from the control characters + in a typeface. Her work continues at Xerox.", +} + +@Misc{Abraxas:1987:P, + author = "{Abraxas Software, Inc.}", + title = "{PCYACC} 2.0", + note = "7033 SW Macadam Ave., Portland, OR 97219.", + year = "1987", +} + +@Periodical{CurSci:1987:A, + key = "C01AIDS", + title = "{AIDS}", + year = "1987--date{}", + publisher = pub-CURSCI, + address = pub-CURSCI:adr, + acknowledgement = ack-ga-gt, + note = "Current Science publishes more than 80 medical + periodicals using an in-house markup language for + which {\TeX} is the back-end typesetting system. All + submitted articles (whether on paper or on magnetic + media) are rekeyed by clerical staff into the markup + system.", +} + +@Phdthesis{Naiman:1991:UGI, + author = "Avi Naiman", + title = "The Use of Grayscale for Improved Character + Presentation", + school = "University of Toronto", + year = "1991", + address = "ATTN: Technical Reports, + Computer Systems Research Institute, + University of Toronto, + 6 King's College Road, + Toronto, Ontario M5S 1A1, + CANADA, + Tel: (416) 978-8751. + The cost is CDN\$16 if inside Canada, US\$16 if outside. + Avi's e-mail address is \path|avi@cvs.rochester.edu|.", + note = "Technical report CSRI-253", + acknowledgement = ack-kb, +} + +@Proceedings{Andre:1989:RID, + title = "Raster Imaging and Digital Topography", + year = "1989", + editor = "Jacques Andr{\'e} and Roger Hersch", + publisher = pub-CUP, + ISBN = "0-521-37490-1", +} + +@TechReport{Chen:1987:AIP, + author = "Pehong Chen and Michael A. Harrison", + title = "Automating Index Preparation", + institution = "Computer Science Division, University of California", + year = "1987", + type = "Technical Report", + number = "87/347", + address = "Berkeley, CA, USA", + month = mar, + note = "This is an expanded version of + \cite{Chen:SPE-19-9-897}.", +} + +@Unpublished{English:1987:UMO, + title = "Using {METAFONT} for Original Font Design", + author = "Paul M. English", + month = aug, + year = "1987", + institution = "University of Massachusetts at Boston", +} diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 57b49b8a1..f4d801b6d 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2017.10.02 10:34} +\newcontextversion{2017.10.05 16:25} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 56884db5e..c9dfd1494 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2017.10.02 10:34} +\edef\contextversion{2017.10.05 16:25} %D For those who want to use this: diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 79b80846a..9441154c3 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2017.10.02 10:34} +\newcontextversion{2017.10.05 16:25} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 2a8d1ab60..5a6eabb3f 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -41,7 +41,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2017.10.02 10:34} +\edef\contextversion{2017.10.05 16:25} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/font-oto.lua b/tex/context/base/mkiv/font-oto.lua index 8faad27e1..4b986bd3b 100644 --- a/tex/context/base/mkiv/font-oto.lua +++ b/tex/context/base/mkiv/font-oto.lua @@ -404,7 +404,7 @@ local function initializehashes(tfmdata) -- already done end -local function checkmathreplacements(tfmdata,fullname) +local function checkmathreplacements(tfmdata,fullname,fixitalics) if tfmdata.mathparameters then local characters = tfmdata.characters local changed = tfmdata.changed @@ -418,6 +418,16 @@ local function checkmathreplacements(tfmdata,fullname) local n = u.next local v = u.vert_variants local h = u.horiz_variants + if fixitalics then + -- quite some warnings on stix ... + local ui = u.italic + if ui and not r.italic then + if trace_preparing then + report_prepare("using %i units of italic correction from %C for %U",ui,unicode,replacement) + end + r.italic = ui -- print(ui,ri) + end + end if n and not r.next then if trace_preparing then report_prepare("forcing %s for %C substituted by %U","incremental step",unicode,replacement) @@ -498,7 +508,7 @@ local function featuresinitializer(tfmdata,value) end -- if substitutionsdone then - checkmathreplacements(tfmdata,fullname) + checkmathreplacements(tfmdata,fullname,features.fixitalics) end -- registerbasehash(tfmdata) diff --git a/tex/context/base/mkiv/math-act.lua b/tex/context/base/mkiv/math-act.lua index 826669a3d..5d33031cf 100644 --- a/tex/context/base/mkiv/math-act.lua +++ b/tex/context/base/mkiv/math-act.lua @@ -177,9 +177,9 @@ local function applytweaks(when,target,original) local goodie = goodies[i] local mathematics = goodie.mathematics local tweaks = mathematics and mathematics.tweaks - if tweaks then + if type(tweaks) == "table" then tweaks = tweaks[when] - if tweaks then + if type(tweaks) == "table" then if trace_defining then report_math("tweaking math of %a @ %p (%s)",target.properties.fullname,target.parameters.size,when) end diff --git a/tex/context/base/mkiv/publ-imp-default.lua b/tex/context/base/mkiv/publ-imp-default.lua index 28f5bb316..f77121c16 100644 --- a/tex/context/base/mkiv/publ-imp-default.lua +++ b/tex/context/base/mkiv/publ-imp-default.lua @@ -101,6 +101,7 @@ return { "title", "keywords", "journal", "volume", "number", "pages", + "note", }, }, book = { @@ -118,6 +119,7 @@ return { "keywords", "publisher", "address", "editionset", + "note", }, }, }, diff --git a/tex/context/base/mkiv/publ-imp-default.mkvi b/tex/context/base/mkiv/publ-imp-default.mkvi index 564bfcf4e..22638c900 100644 --- a/tex/context/base/mkiv/publ-imp-default.mkvi +++ b/tex/context/base/mkiv/publ-imp-default.mkvi @@ -46,7 +46,7 @@ [\s!default:\s!cite] [\s!default] [\c!alternative=num, - [\c!compress=\v!yes, + \c!compress=\v!yes, \c!sorttype=normal, \c!authorconversion=\v!name] diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex f25ca8f25..02750e284 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 8dcafa533..e9d4ff0e2 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi index a28193415..d69a75af0 100644 --- a/tex/context/base/mkiv/strc-itm.mkvi +++ b/tex/context/base/mkiv/strc-itm.mkvi @@ -410,8 +410,14 @@ \settrue\c_strc_itemgroups_pack \fi} +\def\strc_itemgroups_process_set_option_unpack + {\ifcase\c_strc_itemgroups_nesting\else + \setfalse\c_strc_itemgroups_pack + \fi} + \setvalue{\??itemgroupkeyword\!!zerocount }{} % ignore 0 \setvalue{\??itemgroupkeyword\v!packed }{\strc_itemgroups_process_set_option_pack} +\setvalue{\??itemgroupkeyword\v!unpacked }{\strc_itemgroups_process_set_option_unpack} \setvalue{\??itemgroupkeyword\v!intro }{\settrue\c_strc_itemgroups_intro} % here? not set to false \setvalue{\??itemgroupkeyword\v!autointro }{\settrue\c_strc_itemgroups_auto_intro} \setvalue{\??itemgroupkeyword\v!broad }{\ifx\itemgroupfirst\empty diff --git a/tex/context/base/mkiv/tabl-tbl.mkiv b/tex/context/base/mkiv/tabl-tbl.mkiv index 401e82fec..28baf7f5d 100644 --- a/tex/context/base/mkiv/tabl-tbl.mkiv +++ b/tex/context/base/mkiv/tabl-tbl.mkiv @@ -168,6 +168,7 @@ \newcount \c_tabl_tabulate_plines_min \newcount \c_tabl_tabulate_plines_max \newcount \c_tabl_tabulate_max_colorcolumn +\newcount \c_tabl_tabulate_max_vrulecolumn \newcount \c_tabl_tabulate_repeathead \newcount \c_tabl_tabulate_noflines \newcount \c_tabl_tabulate_totalnoflines @@ -244,6 +245,7 @@ \installcorenamespace{tabulateheader} \installcorenamespace{tabulatealigning} \installcorenamespace{tabulatepreamble} +\installcorenamespace{tabulatevrule} \installcorenamespace{tabulatehead} \installcorenamespace{tabulatefoot} @@ -1428,10 +1430,22 @@ % normal columns: +% \def\tabl_tabulate_column_normal#1#2% +% {\unskip +% \aligntab +% \ifconditional\c_tabl_tabulate_equal\tabulateequalpos\else\tabulatenormalpos\fi +% \aligntab +% \global\c_tabl_tabulate_kind#1% +% \global\c_tabl_tabulate_type#2% +% \aligntab} + \def\tabl_tabulate_column_normal#1#2% {\unskip \aligntab \ifconditional\c_tabl_tabulate_equal\tabulateequalpos\else\tabulatenormalpos\fi + \ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_vrulecolumn\else + \tabl_tabulate_column_vrule_setup + \fi \aligntab \global\c_tabl_tabulate_kind#1% \global\c_tabl_tabulate_type#2% @@ -1450,6 +1464,10 @@ % ruled columns +\def\tabl_tabulate_column_vruled_preset + {\global\let\m_tabl_tabulate_vrule_color_local\m_tabl_tabulate_vrule_color_default + \global\d_tabl_tabulate_vrulethickness_local\d_tabl_tabulate_vrulethickness_default} + \def\tabl_tabulate_column_vruled#1#2% {\unskip % 0-n %\ifnum\c_tabl_tabulate_column=\plusone @@ -1457,12 +1475,17 @@ %\else\ifnum\c_tabl_tabulate_column=\c_tabl_tabulate_nofcolumns % \global\c_tabl_tabulate_has_rule_spec_last\plusone %\fi\fi - \global\let\m_tabl_tabulate_vrule_color_local\m_tabl_tabulate_vrule_color_default - \global\d_tabl_tabulate_vrulethickness_local\d_tabl_tabulate_vrulethickness_default + \ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_vrulecolumn + \global\c_tabl_tabulate_max_vrulecolumn\c_tabl_tabulate_column + \fi \doifelsefastoptionalcheck{\tabl_tabulate_column_vruled_yes#1#2}{\tabl_tabulate_column_vruled_nop#1#2}} +\def\tabl_tabulate_column_vrule_setup + {\begincsname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname} + \def\tabl_tabulate_column_vruled_nop - {\tabl_tabulate_column_normal} + {\expandafter\glet\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname\tabl_tabulate_column_vruled_preset + \tabl_tabulate_column_normal} \def\tabl_tabulate_column_vruled_step#1% {\doifelsenumber{#1} @@ -1470,9 +1493,36 @@ {\xdef\m_tabl_tabulate_vrule_color_local{#1}}} \def\tabl_tabulate_column_vruled_yes#1#2[#3]% - {\rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step + {\expandafter\gdef\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname + {\tabl_tabulate_column_vruled_preset + \rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step}% \tabl_tabulate_column_normal#1#2} +\def\tabl_tabulate_vrule_reset + {\ifcase\c_tabl_tabulate_max_vrulecolumn\else + \tabl_tabulate_vrule_reset_indeed + \fi} + +\def\tabl_tabulate_vrule_reset_indeed + {\dofastloopcs\c_tabl_tabulate_max_vrulecolumn\tabl_tabulate_vrule_reset_step + \global\c_tabl_tabulate_max_vrulecolumn\zerocount} + +\def\tabl_tabulate_vrule_reset_step % undefined or relax + {\global\expandafter\let\csname\??tabulatevrule\the\fastloopindex\endcsname\undefined} + +\appendtoks + \tabl_tabulate_vrule_reset +\to \t_tabl_tabulate_every_after_row + +% sometimes more efficient: +% +% \def\tabl_tabulate_column_vruled_yes#1#2[#3]% +% {\rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step +% \expandafter\xdef\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname +% {\global\d_tabl_tabulate_vrulethickness_local\the\d_tabl_tabulate_vrulethickness_default +% \noexpand\xdef\noexpand\m_tabl_tabulate_vrule_color_local{\m_tabl_tabulate_vrule_color_local}}% +% \tabl_tabulate_column_normal#1#2} + \def\tabl_tabulate_column_vruled_normal {\vrule\s!width\d_tabl_tabulate_vrulethickness\relax} @@ -1636,7 +1686,7 @@ \ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_colorcolumn \global\c_tabl_tabulate_max_colorcolumn\c_tabl_tabulate_column \fi - \setxvalue{\??tabulatecolor\the\c_tabl_tabulate_column}{#1}% + \global\expandafter\xdef\csname\??tabulatecolor\the\c_tabl_tabulate_column\endcsname{#1}% \hbox \thealignbackgroundcolorattr{#1}{}% pack ? \endgroup} diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg index ded97f92e..7652796a9 100644 --- a/tex/context/fonts/mkiv/stix-two-math.lfg +++ b/tex/context/fonts/mkiv/stix-two-math.lfg @@ -1,3 +1,32 @@ +-- Bah, I really hate these patches especially because one needs to make +-- sure that they are still valid when the font gets updated. So, let's +-- do it runtime (not in the cached copy) and issue a warning every run. +-- As we cannot rely on version numbers (if we have more patches) we +-- check for values instead. +-- +-- This font also has inconsistent italics in smalelr sizes which we can +-- fix in a more general way but I'm not sure if we want that. + +local function fix_italic(target,original,name,value,factor) + local m = target.parameters.mathsize + local u = original.resources.unicodes[name] + if m and u then + local c = target.characters[u] + if c then + local i = c.italic + if i then + local d = original.descriptions[u] + if d and d.math.italic == value then + if m then + logs.report("patching font","fixing italic correction of %U at math size %i by %0.3f",u,m,factor) + c.italic = factor * i + end + end + end + end + end +end + return { name = "stix-two-math", version = "1.00", @@ -21,6 +50,13 @@ return { -- todo = { feature = 'ss14', value = 1, comment = "" }, circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" }, }, + tweaks = { + aftercopying = { + function(target,original) + fix_italic(target,original,"uni222B.updsp",80,3) + end, + }, + }, }, } diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex 456f9e620..802270a96 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 2af2fc801..c9cc4fc32 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 7cd7b442b..f84adbf43 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 10/02/17 10:34:56 +-- merge date : 10/05/17 16:25:14 do -- begin closure to overcome local limits and interference @@ -20803,7 +20803,7 @@ local function preparepositionings(tfmdata,feature,value,validlookups,lookuplist end local function initializehashes(tfmdata) end -local function checkmathreplacements(tfmdata,fullname) +local function checkmathreplacements(tfmdata,fullname,fixitalics) if tfmdata.mathparameters then local characters=tfmdata.characters local changed=tfmdata.changed @@ -20817,6 +20817,15 @@ local function checkmathreplacements(tfmdata,fullname) local n=u.next local v=u.vert_variants local h=u.horiz_variants + if fixitalics then + local ui=u.italic + if ui and not r.italic then + if trace_preparing then + report_prepare("using %i units of italic correction from %C for %U",ui,unicode,replacement) + end + r.italic=ui + end + end if n and not r.next then if trace_preparing then report_prepare("forcing %s for %C substituted by %U","incremental step",unicode,replacement) @@ -20893,7 +20902,7 @@ local function featuresinitializer(tfmdata,value) end end if substitutionsdone then - checkmathreplacements(tfmdata,fullname) + checkmathreplacements(tfmdata,fullname,features.fixitalics) end registerbasehash(tfmdata) end |