block with different formatting per line?
Hi, is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal. Is this possible? And how? Kind regards, Ingo
On Feb 1, 2013, at 6:16 PM, Ingo Hohmann
Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how?
If you mean input lines, then yes. But if you mean output lines, then I don't know. It seems a well-defined task, but a hard task judging by how the line-breaking algorithm is described by Knuth. I'll leave that question to experts. Here's a way to process the input lines. If there's a counter that counts the line number, there would be another way; but I couldn't find out that there was a counter. There may be better ways anyway. \define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} \definelines[doMyLines][command=\myLine] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines} \starttext \startMyLines First line in caps, Second in bold, Others normal. Others normal. Others normal. \stopMyLines And again: \startMyLines First line in caps, Second in bold, Others normal. Others normal. Others normal. \stopMyLines \stoptext Michael ________________________________ This e-mail message (including any attachments) is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message (including any attachments) is strictly prohibited. If you have received this message in error, please contact the sender by reply e-mail message and destroy all copies of the original message (including attachments).
On 02/03/2013 04:56 AM, Rogers, Michael K wrote:
On Feb 1, 2013, at 6:16 PM, Ingo Hohmann
wrote: Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how? If you mean input lines, then yes. But if you mean output lines, then I don't know. It seems a well-defined task, but a hard task judging by how the line-breaking algorithm is described by Knuth. I'll leave that question to experts.
Here's a way to process the input lines. If there's a counter that counts the line number, there would be another way; but I couldn't find out that there was a counter. There may be better ways anyway.
\define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} \definelines[doMyLines][command=\myLine] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines}
Yes, that's exactly what I meant, and you even answered my next question, too. Thank you! Ingo
On Feb 1, 2013, at 6:16 PM, Ingo Hohmann
wrote: Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how? If you mean input lines, then yes. But if you mean output lines, then I don't know. It seems a well-defined task, but a hard task judging by how the line-breaking algorithm is described by Knuth. I'll leave that question to experts.
Here's a way to process the input lines. If there's a counter that counts the line number, there would be another way; but I couldn't find out that there was a counter. There may be better ways anyway.
\define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} \definelines[doMyLines][command=\myLine] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines} As I said that works, but while trying to understand this, I found that
On 02/03/2013 04:56 AM, Rogers, Michael K wrote: the documentation for \definelines doesn't mention the "command=" option. On the other hand it does mention "align=" and this doesn't work. Neither does \setuplines. I always get "undefined control sequence". \definelines[doFirstBoldRight][command=\myLine] \setupdoFirstBoldRight[align=flushleft] OR \definelines[doFirstBoldRight][align=flushleft,command=\myLine] gives the same error. Do you have any idea what I am doing wrong? Thank you in advance, Ingo
Am 06.02.2013 um 07:04 schrieb Ingo Hohmann
On 02/03/2013 04:56 AM, Rogers, Michael K wrote:
On Feb 1, 2013, at 6:16 PM, Ingo Hohmann
wrote: Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how? If you mean input lines, then yes. But if you mean output lines, then I don't know. It seems a well-defined task, but a hard task judging by how the line-breaking algorithm is described by Knuth. I'll leave that question to experts.
Here's a way to process the input lines. If there's a counter that counts the line number, there would be another way; but I couldn't find out that there was a counter. There may be better ways anyway.
\define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} \definelines[doMyLines][command=\myLine] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines} As I said that works, but while trying to understand this, I found that the documentation for \definelines doesn't mention the "command=" option. On the other hand it does mention "align=" and this doesn't work. Neither does \setuplines.
I always get "undefined control sequence".
\definelines[doFirstBoldRight][command=\myLine] \setupdoFirstBoldRight[align=flushleft]
\setuplines[doFirstBoldRight][…]
OR
\definelines[doFirstBoldRight][align=flushleft,command=\myLine]
gives the same error.
Do you have any idea what I am doing wrong?
Make a complete example. BTW: I suggest to use my Lua example from the other thread. Wolfgang
On 02/06/2013 02:29 PM, Wolfgang Schuster wrote:
Am 06.02.2013 um 07:04 schrieb Ingo Hohmann
mailto:context@ingohohmann.de>: On Feb 1, 2013, at 6:16 PM, Ingo Hohmann
wrote: <...> Here's a way to process the input lines. If there's a counter that counts the line number, there would be another way; but I couldn't find out that there was a counter. There may be better ways anyway. \define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} \definelines[doMyLines][command=\myLine] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines} As I said that works, but while trying to understand this, I found
On 02/03/2013 04:56 AM, Rogers, Michael K wrote: that the documentation for \definelines doesn't mention the "command=" option. On the other hand it does mention "align=" and this doesn't work. Neither does \setuplines.
I always get "undefined control sequence". <...> Make a complete example.
I thought I could get away without it, because it's practically the answer to my question, just with alignment. For some reason, now that I started from scratch to show the example, it works. \define\FirstLine{\let\myLine\SecondLine\sc} \define\SecondLine{\let\myLine\OtherLine\bf} \define\OtherLine{\tf} % this align here didn't work \definelines[doMyLines][align=flushright,command=\myLine] % and this setup doesn't %\setupdoMyLines[align=flushright] \def\startMyLines{\let\myLine\FirstLine\startdoMyLines} \def\stopMyLines{\stopdoMyLines} \definelines[right][align=flushright] % I get an error here, too. %\setupright[align=flushright] \starttext \startright test \stopright \startMyLines First line in caps, Second in bold, Others normal. Others normal. Others normal. \stopMyLines \stoptext
BTW: I suggest to use my Lua example from the other thread.
When I looked at it first, it was in the middle of the night. And it looked a bit over the moon for me. Now I think I can grab it, and it looks _very_ powerfull. Thank you. Ingo
On Feb 6, 2013, at 1:04 AM, Ingo Hohmann
On 02/01/2013 06:16 PM, Ingo Hohmann wrote:
Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how?
My #1 "Wish List" item for ConTeXt is /allowing/ "stylesheets" at the paragraph level. That would allow closer correspondence with what CSS/CSS3, Scribus, ODT, EPUB3 &al do and make it much easier to write transformation scripts whether XSLT, lua code, Perl code or whatever favorite tool one wishes to use. I envision something like (psuedo code): \setupstylesheet[myparagraphstyle] [font=AccanthisADF, fontsize=12pt, fontstyle=italic, alignment=justified, frame=no, color=blue, width=\textwidth, &c .... ] \starttext \startparagraph[style=mystylesheet] \input tufte \stopparagraph \input knuth \stoptext The output would have the tufte quote formatted according to my stylesheet and knuth in whatever the global style is. The style parameter in the start/stop paragraph would, of course, be /optional/ so existing documents would be unchanged from current behavior but allow the introduction of paragraph styles. -- Bill Meahan Westland, Michigan USA
Am 06.02.2013 um 20:21 schrieb Bill Meahan
My #1 "Wish List" item for ConTeXt is /allowing/ "stylesheets" at the paragraph level. That would allow closer correspondence with what CSS/CSS3, Scribus, ODT, EPUB3 &al do and make it much easier to write transformation scripts whether XSLT, lua code, Perl code or whatever favorite tool one wishes to use.
I envision something like (psuedo code):
\setupstylesheet[myparagraphstyle] [font=AccanthisADF, fontsize=12pt, fontstyle=italic, alignment=justified, frame=no, color=blue, width=\textwidth, &c .... ]
\starttext
\startparagraph[style=mystylesheet] \input tufte \stopparagraph
\input knuth
\stoptext
The output would have the tufte quote formatted according to my stylesheet and knuth in whatever the global style is.
The style parameter in the start/stop paragraph would, of course, be /optional/ so existing documents would be unchanged from current behavior but allow the introduction of paragraph styles.
A few of these values can be set for certain paragraphs with the new \defineparagraph command. Wolfgang
On Wed, 6 Feb 2013, Bill Meahan wrote:
On 02/01/2013 06:16 PM, Ingo Hohmann wrote:
Hi,
is it possible to define a block, where lines are automatically formatted differently? For example: first line in caps, second in bold, others normal.
Is this possible? And how?
My #1 "Wish List" item for ConTeXt is /allowing/ "stylesheets" at the paragraph level. That would allow closer correspondence with what CSS/CSS3, Scribus, ODT, EPUB3 &al do and make it much easier to write transformation scripts whether XSLT, lua code, Perl code or whatever favorite tool one wishes to use.
I envision something like (psuedo code):
\setupstylesheet[myparagraphstyle] [font=AccanthisADF, fontsize=12pt, fontstyle=italic, alignment=justified, frame=no, color=blue, width=\textwidth, &c .... ]
\starttext
\startparagraph[style=mystylesheet] \input tufte \stopparagraph
\input knuth
\stoptext
framedtext already does most of this (except that it makes the paragraphs unbreakable across pages). I don't remember if backgrounds has all the relevant keys. Aditya
participants (5)
-
Aditya Mahajan
-
Bill Meahan
-
Ingo Hohmann
-
Rogers, Michael K
-
Wolfgang Schuster