\centerline vs. \midaligned vs. \startalignment[middle]
Hello, there are several similar commands to produce text (or another object) to be centered on the line. What are differences (or intended usage) among \centerline, \midaligned, \startalignment[middle]? (NB: \centerline has no its-own page on wiki, but it is used at several places in wiki samples. \centerline was also mentioned here in the mailing list, when I was trying to center "tabulate" - and neither \midaligned nor \startalignment[middle] combined with \dontleavehmode worked.) TIA. Best regards, Lukas -- Ing. Lukáš Procházka [mailto:LPr@pontex.cz] Pontex s. r. o. [mailto:pontex@pontex.cz] [http://www.pontex.cz] Bezová 1658 147 14 Praha 4 Tel: +420 244 062 238 Fax: +420 244 461 038
Am 26.06.2013 um 14:07 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
Hello,
there are several similar commands to produce text (or another object) to be centered on the line.
What are differences (or intended usage) among \centerline, \midaligned, \startalignment[middle]?
(NB: \centerline has no its-own page on wiki, but it is used at several places in wiki samples.
\centerline was also mentioned here in the mailing list, when I was trying to center "tabulate" - and neither \midaligned nor \startalignment[middle] combined with \dontleavehmode worked.)
The three commands - \leftline, - \rightline and - \centerline are copied from plain TeX and allow you to center short text which fits on a single line but it isn’t recommended to use them because ConTeXt has it’s own alternative for them. The replacement commands are - \leftaligned, - \rightaligned and - \midaligned. Even though each command is only meant for short text you use the \\ command to put text into several lines, e.g. \starttext \midaligned{One\\Two\\Three} \stoptext creates three lines for the input. In recent installations you can write \startlinealignment[left|middle|right] … \stopalignment as a alternative to \leftaligned etc. With the alignment environment you can change the alignment of the text for a certain region. Unlike the line alignment environment you can use text which covers more than a single line. \starttext \input knuth\par \startalignment[middle] \input knuth\par \stopalignment \stoptext Wolfgang
Hello,
thanks for explanation.
I also wrote a sample code which should typeset a midaligned table via Lua using "tabulate".
But I'm not able to achieve the goal - what am I doing wrong?
----
\starttext
T
\startluacode
local f = function()
context.starttabulate{"|rw(2cm)|rw(2cm)|"}
context.NC()
context("A")
context.NC()
context("B")
context.NC()
context.NR()
context.stoptabulate()
end
f()
context("U\\par")
context.startalignment{"middle"}
context("V") -- OK, "V" is successfully midaligned
context.stopalignment()
context.startalignment{"middle"}
f() -- Wrong, table is not midaligned
context.stopalignment()
context.startalignment{"middle"}
context.dontleavehmode()
f() -- Wrong, too, table is still not midaligned (?!)
context.stopalignment()
-- context.midaligned(f) -- This breaks Ctx!
\stopluacode
\stoptext
----
Best regards,
Lukas
On Wed, 26 Jun 2013 14:46:32 +0200, Wolfgang Schuster
Am 26.06.2013 um 14:07 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
: Hello,
there are several similar commands to produce text (or another object) to be centered on the line.
What are differences (or intended usage) among \centerline, \midaligned, \startalignment[middle]?
(NB: \centerline has no its-own page on wiki, but it is used at several places in wiki samples.
\centerline was also mentioned here in the mailing list, when I was trying to center "tabulate" - and neither \midaligned nor \startalignment[middle] combined with \dontleavehmode worked.)
The three commands
- \leftline, - \rightline and - \centerline
are copied from plain TeX and allow you to center short text which fits on a single line but it isn’t recommended to use them because ConTeXt has it’s own alternative for them. The replacement commands are
- \leftaligned, - \rightaligned and - \midaligned.
Even though each command is only meant for short text you use the \\ command to put text into several lines, e.g.
\starttext \midaligned{One\\Two\\Three} \stoptext
creates three lines for the input. In recent installations you can write
\startlinealignment[left|middle|right] … \stopalignment
as a alternative to \leftaligned etc.
With the alignment environment you can change the alignment of the text for a certain region. Unlike the line alignment environment you can use text which covers more than a single line.
\starttext \input knuth\par \startalignment[middle] \input knuth\par \stopalignment \stoptext
Wolfgang
-- Ing. Lukáš Procházka [mailto:LPr@pontex.cz] Pontex s. r. o. [mailto:pontex@pontex.cz] [http://www.pontex.cz] Bezová 1658 147 14 Praha 4 Tel: +420 244 062 238 Fax: +420 244 461 038
Am 26.06.2013 um 15:00 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
Hello,
thanks for explanation.
I also wrote a sample code which should typeset a midaligned table via Lua using "tabulate".
But I'm not able to achieve the goal - what am I doing wrong?
Use the solution in the following mail which deals with the same problem: http://www.ntg.nl/pipermail/ntg-context/2013/073795.html Wolfgang
Hello,
On Wed, 26 Jun 2013 15:10:43 +0200, Wolfgang Schuster
Use the solution in the following mail which deals with the same problem: http://www.ntg.nl/pipermail/ntg-context/2013/073795.html
Wolfgang
the following code seems to work: ---- ... context.startplacetable({location = "here,force,none"}) f() context.stopplacetable() ... ---- I guess: - "here" and "force" to make the content inside start/stop-placetable non-floating, - "none" to disable caption. Thanks again. Best regards, Lukas -- Ing. Lukáš Procházka [mailto:LPr@pontex.cz] Pontex s. r. o. [mailto:pontex@pontex.cz] [http://www.pontex.cz] Bezová 1658 147 14 Praha 4 Tel: +420 244 062 238 Fax: +420 244 461 038
Am 26.06.2013 um 15:30 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
Hello,
On Wed, 26 Jun 2013 15:10:43 +0200, Wolfgang Schuster
wrote: Use the solution in the following mail which deals with the same problem: http://www.ntg.nl/pipermail/ntg-context/2013/073795.html
Wolfgang
the following code seems to work:
---- ... context.startplacetable({location = "here,force,none"}) f() context.stopplacetable() ... ----
I guess:
- "here" and "force" to make the content inside start/stop-placetable non-floating,
You need only “force”. The here keyword places the float only when there is enough space, otherwise it moves it to another location but force keeps it at the position.
- "none" to disable caption.
Yes. Wolfgang
participants (2)
-
Procházka Lukáš Ing. - Pontex s. r. o.
-
Wolfgang Schuster