我已经用 ConTeXt 列了一个购物清单……
然而,仍然存在一个美学问题: 位于任何列最顶部的部分标题上方有一些不需要的垂直空间。
各节标题定义如下:
\setuphead[section][
style={\bfb\setupinterlinespace},
before={\testcolumn[4]},
after={\vskip-\parskip}
]
这是我的购物清单的完整来源。
\mainlanguage[nl]
% Pages
\setuppapersize[A4][A4]
\setuplayout[
height=middle,
topspace=0cm,
bottomspace=1cm,
width=middle,
backspace=2.5cm,
cutspace=2.5cm
]
\setuppagenumbering[location={footer,center}]
% Fonts
\setupbodyfontenvironment[default] [em=italic]
%% https://wiki.contextgarden.net/Command/definefontfallback
%% The rscale=auto option ensures that all fonts have the same x-height.
\definefallbackfamily [fontfamilies] [serif] [FreeSerif] [range=0x00000-0xFFFFF, force=no, rscale=auto]
\definefontfamily [fontfamilies] [serif] [TeX Gyre Pagella]
\setupbodyfont [fontfamilies,11.5pt]
% Sections
\setuphead[section, subsection, subsubsection][number=no]
\setuphead[section][
style={\bfb\setupinterlinespace},
% TODO Remove the vertical space before any top section head of each column.
before={\testcolumn[4]}, % The absolute minimum!
after={\vskip-\parskip}
]
% Inter-paragraph spacing
\setupwhitespace[small]
\setupitemize[
% Remove space before and after item lists.
% https://tex.stackexchange.com/q/130561/26348
before={\vskip-\parskip},
after={\vskip-\parskip},
% Item text starts at a larger distance to allow for wider item symbols.
distance=1em
]
% Change the first level item symbol.
\definesymbol[1][☐ ☐]
% Break at hyphens
\setbreakpoints[compound]
% Lists
\setupitemize[autointro] % prevent orphan list intro
\setupitemize[indentnext=no]
\starttext
\startcolumns[n=3]
\section[brood]{Brood}
\startitemize[packed]
\item
brood
\item
honing
\stopitemize
\section[fruit]{Fruit}
\startitemize[packed]
\item
sinaasappelen
\item
citroenen
\item
appelen
\item
peren
\item
kiwi's
\item
meloenen
\item
paprika's
\item
bananen
\item
noten
\stopitemize
\section[groenten]{Groenten}
\startitemize[packed]
\item
aardappelen
\item
uien
\item
radijzen
\item
rode bieten
\item
tomaten
\item
komkommers
\stopitemize
\section[vloeistoffen]{Vloeistoffen}
\startitemize[packed]
\item
azijn
\item
frituurolie
\item
mayonaise
\item
spaghettisaus
\stopitemize
\section[droogwaren]{Droogwaren}
\startitemize[packed]
\item
bouillonblokjes
\item
rijst
\item
pasta
\item
tonijn
\item
champignons
\item
erwten
\item
asperges
\item
uitjes
\item
gedroogde bieslook
\item
müsli
\item
chocolade
\stopitemize
\section[koelwaren]{Koelwaren}
\startitemize[packed]
\item
taart
\item
pannenkoeken
\item
rucola
\item
veldsla
\item
gazpacho
\item
lasagne
\item
macaroni
\item
verse pizza
\item
tonijnsalade
\item
ham
\stopitemize
\section[diepvrieswaren]{Diepvrieswaren}
\startitemize[packed]
\item
paella
\item
vis
\item
scampi's
\item
calamares
\stopitemize
\section[zuivel]{Zuivel}
\startitemize[packed]
\item
boter
\item
kaas
\item
Grana Padano
\item
yoghurt
\item
flan
\item
melk
\item
eieren
\stopitemize
\section[drank]{Drank}
\startitemize[packed]
\item
tonic
\item
koude thee
\stopitemize
\section[schoonmaak]{Schoonmaak}
\startitemize[packed]
\item
vaatwasmiddel
\item
waspoeder kleuren
\item
wasverzachter
\item
bleekwater
\item
bleekwatergel
\stopitemize
\section[hygiëne]{Hygiëne}
\startitemize[packed]
\item
vochtige doekjes
\item
kosmetische doekjes
\item
haarshampoo
\item
zakdoeken
\item
deodorant
\stopitemize
\section[aldi]{Aldi}
\startitemize[packed]
\item
koffie
\item
brood
\item
water
\item
vis
\item
olijfolie
\item
augurken
\item
frieten
\item
paella
\item
kroketten
\stopitemize
\section[action]{Action}
\startitemize[packed]
\item
bakpapier
\item
handzeep
\item
douchezeep
\item
vitamines
\stopitemize
\section[kruidvat]{Kruidvat}
\startitemize[packed]
\item
tandpasta
\item
tandenborstels Signal
\item
tandenstokers
\item
oorstaafjes
\item
eau de cologne
\stopitemize
\stopcolumns
\stoptext