drop cap (initial) and indentation
With the following minimal example: \definemeasure[CAindent][12pt] % Every chapter body text starts with a drop cap: \setupinitial[n=3,m=1,-\measure{CAindent}]] \setupindenting[yes,\measure{CAindent}] \starttext \placeinitial S{\bf{\kap uppose we}} have a system for the approval of loans. \input knuth \stoptext both the initial and the bold stuff after it is indented. With hoffset I can move the initial, but not what comes after. I have been experimenting but haven’t found a way to solve this. Gerben Wierda (LinkedIn https://www.linkedin.com/in/gerbenwierda) R&A Enterprise Architecture https://ea.rna.nl/ (main site) Book: Chess and the Art of Enterprise Architecture https://ea.rna.nl/the-book/ Book: Mastering ArchiMate https://ea.rna.nl/the-book-edition-iii/ PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
On 2021-07-18, Gerben Wierda
PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
I do not have an answer to your question, but I'd like to point out that you can keep using lettrine with ConTeXt LMTX, if you wish. You just need to add the modules manually, currently: https://wiki.contextgarden.net/Modules#ConTeXt_LMTX Nicola
On 19 Jul 2021, at 09:56, Nicola
wrote: On 2021-07-18, Gerben Wierda
wrote: PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
I do not have an answer to your question, but I'd like to point out that you can keep using lettrine with ConTeXt LMTX, if you wish. You just need to add the modules manually, currently:
I’ve tried this. Installed the modules and then I get with
\definemeasure[CAindent][12pt]
\setupindenting[yes,\measure{CAindent}]
% Every chapter body text starts with a drop cap:
\usemodule[lettrine]
\setuplettrine[Lines=3,
Hang=.5,
Oversize=0,
Raise=0,
Findent=0pt,
Nindent=0em,
Slope=0em,
Ante=,
FontHook=,
TextFont=\sc,
Image=no]
\starttext
\lettrine{S}{\kap{\bf uppose we}} have a system for the approval of
loans. \input knuth
\stoptext
Result:
tex error > tex error on line 19 in file ./test.tex: Undefined control sequence
<macro> \m_syst_parameter_n ... \the \LettrineHeight ] X}}\scratchcounter = \numexpr (100*\LettrineHeight )/(\ht \Lettrinetbox /100) - 9999\relax \ifnum \scratchcounter >0 \def \tempa {1.\the \scratchcounter }\else \def \tempa {1}\fi \LettrineFontHook \!!dimena
= \tempa \Let...
<macro> \dolettrine ...\Lettrinefindent =\LettrineFindent \relax \Lettrinelines =\LettrineLines \relax \setbox \Lettrinelbox \hbox {{\ifx \LettrineImage \v!yes \doLettrineEPS {#2}\else \ifx \LettrineImage \v!true \doLettrineEPS {#2}\else \doLettrineFont
#2\fi \fi }}\...
Nicola
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
On 2021-07-21, Gerben Wierda
On 19 Jul 2021, at 09:56, Nicola
wrote: On 2021-07-18, Gerben Wierda
wrote: PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
I do not have an answer to your question, but I'd like to point out that you can keep using lettrine with ConTeXt LMTX, if you wish. You just need to add the modules manually, currently:
I’ve tried this. Installed the modules and then I get with
I was sure that I had used lettrine with MKIV in a document of mine, but after your reply I double checked that and, in fact, I was using lettrine only with MKII. On the plus side, I have recovered my settings for MKIV (which work with LMTX as well). I think that the `distance` parameter of \setupinitials does what you want. Besides, if your font provides real small capitals, you may use \definefirstline. This is how I set up things in one of my documents: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \definefontfeature[default][default][protrusion=quality,expansion=quality,onum=no,lnum=yes] % \definefirstline below requires a font that implements small capitals as % a feature (Latin Modern does not). I have used this: % \definefontfamily[mainfont][serif][Sorts Mill Goudy] [ % tf=name:Sorts Mill Goudy Regular, % it=name:Sorts Mill Goudy Italic, % ] % If you don't have the font above, try this: \setupbodyfont[heros] \setupbodyfont[mainfont,11pt] \definemeasure[CAindent][12pt] \setupindenting[yes,\measure{CAindent}] % Every chapter body text starts with a drop cap: \defineinitial[normal][ n=3, m=1, distance=18pt, %%%%%%%%% <== Add this %%%%%%%% state=start ] % Special case: drop cap starting with a quote \defineinitial[quote][ n=3, m=2, distance=13pt, hoffset=5pt, % Move drop cap a bit to the left method=none ] % Some initials may need special adjustments, depending on the font \defineinitial[Q][ voffset=2\lineheight, n=3, m=1, distance=18pt, state=start ] % Full first line in small caps \definefirstline[smallcapsfirstline][ alternative=line, style=smallcaps, ] % First n words in small caps (three in this case) \definefirstline[smallcapsfirstlinethree][ alternative=word, n=3, style=smallcaps, ] \starttext \setfirstline[smallcapsfirstlinethree] \setinitial[normal] Suppose we have a system for the approval of loans. \input knuth \blank[2*big] \setfirstline[smallcapsfirstline] \setinitial[quote] “Suppose we have a system for the approval of loans.” \input knuth \blank[2*big] \setfirstline[smallcapsfirstline] \setinitial[Q] Quo usque tandem abutere, Catilina, patientia nostra? quam diu etiam furor iste tuus nos1 eludet? quem ad finem sese effrenata iactabit audacia? \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I hope this will give you some ideas! References: https://wiki.contextgarden.net/Command/setupinitial https://wiki.contextgarden.net/Command/definefirstline https://www.fontsquirrel.com/fonts/Sorts-Mill-Goudy Nicola
On 21 Jul 2021, at 22:38, Nicola
wrote: On 2021-07-21, Gerben Wierda
mailto:gerben.wierda@rna.nl> wrote: On 19 Jul 2021, at 09:56, Nicola
wrote: On 2021-07-18, Gerben Wierda
wrote: PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
I do not have an answer to your question, but I'd like to point out that you can keep using lettrine with ConTeXt LMTX, if you wish. You just need to add the modules manually, currently:
I’ve tried this. Installed the modules and then I get with
I was sure that I had used lettrine with MKIV in a document of mine, but after your reply I double checked that and, in fact, I was using lettrine only with MKII. On the plus side, I have recovered my settings for MKIV (which work with LMTX as well).
I think that the `distance` parameter of \setupinitials does what you want. Besides, if your font provides real small capitals, you may use \definefirstline.
This is how I set up things in one of my documents:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \definefontfeature[default][default][protrusion=quality,expansion=quality,onum=no,lnum=yes]
% \definefirstline below requires a font that implements small capitals as % a feature (Latin Modern does not). I have used this: % \definefontfamily[mainfont][serif][Sorts Mill Goudy] [ % tf=name:Sorts Mill Goudy Regular, % it=name:Sorts Mill Goudy Italic, % ] % If you don't have the font above, try this: \setupbodyfont[heros]
\setupbodyfont[mainfont,11pt]
\definemeasure[CAindent][12pt] \setupindenting[yes,\measure{CAindent}]
% Every chapter body text starts with a drop cap: \defineinitial[normal][ n=3, m=1, distance=18pt, %%%%%%%%% <== Add this %%%%%%%% state=start ]
% Special case: drop cap starting with a quote \defineinitial[quote][ n=3, m=2, distance=13pt, hoffset=5pt, % Move drop cap a bit to the left method=none ]
% Some initials may need special adjustments, depending on the font \defineinitial[Q][ voffset=2\lineheight, n=3, m=1, distance=18pt, state=start ]
% Full first line in small caps \definefirstline[smallcapsfirstline][ alternative=line, style=smallcaps, ]
% First n words in small caps (three in this case) \definefirstline[smallcapsfirstlinethree][ alternative=word, n=3, style=smallcaps, ]
\starttext \setfirstline[smallcapsfirstlinethree] \setinitial[normal] Suppose we have a system for the approval of loans. \input knuth \blank[2*big]
\setfirstline[smallcapsfirstline] \setinitial[quote] “Suppose we have a system for the approval of loans.” \input knuth \blank[2*big]
\setfirstline[smallcapsfirstline] \setinitial[Q] Quo usque tandem abutere, Catilina, patientia nostra? quam diu etiam furor iste tuus nos1 eludet? quem ad finem sese effrenata iactabit audacia?
\stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I hope this will give you some ideas!
References:
https://wiki.contextgarden.net/Command/setupinitial https://wiki.contextgarden.net/Command/setupinitial https://wiki.contextgarden.net/Command/definefirstline https://wiki.contextgarden.net/Command/definefirstline https://www.fontsquirrel.com/fonts/Sorts-Mill-Goudy https://www.fontsquirrel.com/fonts/Sorts-Mill-Goudy
Nicola
Hi Nicola, Thanks. This solves the indentation of the initial itself. What remains is the indentation of the text immediately after, e.g. the 'uppose we’. Minimum example (also visible in your example): %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This combination of indenting and initial does not work properly, the text following the initial should be unindented \definemeasure[CAindent][12pt] \setupindenting[yes,\measure{CAindent}] % Every chapter body text starts with a drop cap: \defineinitial[normal][n=3,m=1,hoffset=\measure{CAindent},state=start] \starttext \setinitial[normal] S {\bf{\kap uppose we}} have a system for the approval of loans. \input knuth \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The ‘uppose we’ should not be indented more than the lines directly below. I’ve tried everything, e.g. trying some sort of noindent but so far without success. Setting indenting to ‘next', for instance, increases the indenting of that first line after the initial. I’ve found the solution, though: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \definemeasure[CAindent][12pt] \setupindenting[yes,\measure{CAindent}] \setupinitial[n=3,m=1] \starttext \setupindenting[next] \placeinitial S {\bf{\kap uppose we}} have a system for the approval of loans. \input knuth \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% What was required is an explicit \setupindenting[next] before the \placeinitial. After that, the standard setting without tweaking work. G
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
Gerben Wierda schrieb am 21.07.2021 um 12:00:
On 19 Jul 2021, at 09:56, Nicola
mailto:nvitacolonna@gmail.com> wrote: On 2021-07-18, Gerben Wierda
mailto:gerben.wierda@rna.nl> wrote: PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii
I do not have an answer to your question, but I'd like to point out that you can keep using lettrine with ConTeXt LMTX, if you wish. You just need to add the modules manually, currently:
I’ve tried this. Installed the modules and then I get with
[...]
Short version: You get an error message for the \!!dimena command which is used by the module but doesn't exist anymore. Long version: Hans started a few years ago to replace many of the old cryptic names (e.g. \@EAEA) with sometimes longer but more readable names (e.g. \doubleexpandafter). A short while ago he removed a few of these old commands (in this case a length register) in LMTX because they aren't used anymore in the core. The lettrine module is very old and never got a proper MkIV/LMTX version and the use of one of these old commands results in an error. While it's easy to fix the problem you're going to find the next problem because LMTX has a new mechanism which is related to paragraph related settings like indentation. As a result of this new mechanism \lettrine places the initial to the left of the paragraph without reserving space to indent the first few lines. Wolfgang
On 7/18/21 11:54 PM, Gerben Wierda wrote:
With the following minimal example: [...] both the initial and the bold stuff after it is indented. With hoffset I can move the initial, but not what comes after. I have been experimenting but haven’t found a way to solve this.
Hi Gerben, this might be what you need: % Every chapter body text starts with a drop cap: \setupindenting[yes, medium] \starttext \chapter{Chapter} \placeinitial So it was. \input knuth \placeinitial So it was. \input knuth \noindentation \placeinitial So it was. \input knuth \stoptext Sectioning commands never indent next paragraph by default. You have to type either \setuphead[chapter][indentnext=yes] or \setupheads[indentnext=yes] to enable it. If every chapter starts with an initial, \setuphead[chapter][after={\blank[2*big]\placeinitial}] enables this automatically (\blank[2*big] is the default command after chapter).
[...] PS. switching \kap and \bf has an interesting result, the first character of the words is not in bold. This did not happen with lettrine in mkii,
Please, avoid adding questions after a multiline signature (because the lines might be look like belonging to the signature, and not as a question to the list). This might help in LMTX: \definefontfeature[allcaps][uppercasing=yes] \starttext \startTEXpage[offset=1em] {\feature[+][allcaps]\bf uppose we} \stopTEXpage \stoptext I hope it helps, Pablo -- http://www.ousia.tk
participants (4)
-
Gerben Wierda
-
Nicola
-
Pablo Rodriguez
-
Wolfgang Schuster