% -*- mode: tex -*-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                STANDARD                                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\definefontfeature[default][default]
                  [protrusion=quality,
                    expansion=quality,
                    script=latn]
\setupalign[hz,hanging]
\setuptolerance[tolerant]
\setbreakpoints[compound]
\setupindenting[yes,1em]
\setupfootnotes[way=bychapter,align={hz,hanging}]
\setupbodyfont[modern] % this is a stinky workaround to load lmodern
\setupbodyfont[libertine,11pt]

\setuppagenumbering[alternative=singlesided,location={footer,middle}]
\setupcaptions[width=fit,align={hz,hanging},number=no]

\startmode[a4imposed,a4imposedbc,letterimposed,letterimposedbc,a5imposed,%
  a5imposedbc,halfletterimposed,halfletterimposedbc]
  \setuppagenumbering[alternative=doublesided]
\stopmode

\setupbodyfontenvironment[default][em=italic]


\setupheads[%
  sectionnumber=no,number=no,
  align=flushleft,
  align={flushleft,nothyphenated,verytolerant,stretch},
  indentnext=yes,
  tolerance=verytolerant]

\definehead[awikipart][chapter]

\setuphead[awikipart]
          [%
            number=no,
            footer=empty,
            style=\bfd,
            before={\blank[force,2*big]},
            align={middle,nothyphenated,verytolerant,stretch},
            after={\page[yes]}
          ]

% h3
\setuphead[chapter]
          [style=\bfc]

\setuphead[title]
          [style=\bfc]


% h4
\setuphead[section]
          [style=\bfb]

% h5
\setuphead[subsection]
          [style=\bfa]

% h6
\setuphead[subsubsection]
          [style=bold]


\setuplist[awikipart]
          [alternative=b,
            interaction=all,
            width=0mm,
            distance=0mm,
            before={\blank[medium]},
            after={\blank[small]},
            style=\bfa,
            criterium=all]
\setuplist[chapter]
          [alternative=c,
            interaction=all,
            width=1mm,
            before={\blank[small]},
            style=bold,
            criterium=all]
\setuplist[section]
          [alternative=c,
            interaction=all,
            width=1mm,
            style=\tf,
            criterium=all]
\setuplist[subsection]
          [alternative=c,
            interaction=all,
            width=8mm,
            distance=0mm,
            style=\tf,
            criterium=all]
\setuplist[subsubsection]
          [alternative=c,
            interaction=all,
            width=15mm,
            style=\tf,
            criterium=all]


% center

\definestartstop
  [awikicenter]
  [before={\blank[line]\startalignment[middle]},
   after={\stopalignment\blank[line]}]

% right

\definestartstop
  [awikiright]
  [before={\blank[line]\startalignment[flushright]},
   after={\stopalignment\blank[line]}]


% blockquote

\definestartstop
  [blockquote]
  [before={\blank[big]
    \setupnarrower[middle=1em]
    \startnarrower
    \setupindenting[no]
    \setupwhitespace[medium]},
  after={\stopnarrower
    \blank[big]}]

% verse

\definestartstop
  [awikiverse]
  [before={\blank[big]
      \setupnarrower[middle=2em]
      \startnarrower
      \startlines},
    after={\stoplines
      \stopnarrower
      \blank[big]}]

\definestartstop
  [awikibiblio]
  [before={%
      \blank[big]
      \setupnarrower[left=1em]
      \startnarrower[left]
        \setupindenting[yes,-1em,first]},
    after={\stopnarrower
      \blank[big]}]
                
% same as above, but with no spacing around
\definestartstop
  [awikiplay]
  [before={%
      \setupnarrower[left=1em]
      \startnarrower[left]
        \setupindenting[yes,-1em,first]},
    after={\stopnarrower}]



% interaction
% we start the interaction only if it's not an imposed format.
\startnotmode[a4imposed,a4imposedbc,letterimposed,letterimposedbc,a5imposed,%
  a5imposedbc,halfletterimposed,halfletterimposedbc]
  \setupinteraction[state=start,color=black,contrastcolor=black,style=bold]
  \placebookmarks[awikipart,chapter,section,subsection,subsubsection][force=yes]
  \setupinteractionscreen[option=bookmark]
\stopnotmode



\setupexternalfigures[%
  maxwidth=\textwidth,
  maxheight=\textheight,
  factor=fit]

\setupitemgroup[itemize][each][packed][indenting=no]

\definemakeup[titlepage][pagestate=start,doublesided=no]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                IMPOSER                                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\startusercode

function optimize_signature(pages,min,max)
   local minsignature = min or 40
   local maxsignature = max or 80
   local originalpages = pages

   -- here we want to be sure that the max and min are actual *4
   if (minsignature%4) ~= 0 then
      global.texio.write_nl('term and log', "The minsig you provided is not a multiple of 4, rounding up")
      minsignature = minsignature + (4 - (minsignature % 4))
   end
   if (maxsignature%4) ~= 0 then
      global.texio.write_nl('term and log', "The maxsig you provided is not a multiple of 4, rounding up")
      maxsignature = maxsignature + (4 - (maxsignature % 4))
   end
   global.assert((minsignature % 4) == 0, "I suppose something is wrong, not a n*4")
   global.assert((maxsignature % 4) == 0, "I suppose something is wrong, not a n*4")

   --set needed pages to and and signature to 0
   local neededpages, signature = 0,0

   -- this means that we have to work with n*4, if not, add them to
   -- needed pages 
   local modulo = pages % 4
   if modulo==0 then
      signature=pages
   else
      neededpages = 4 - modulo
   end

   -- add the needed pages to pages
   pages = pages + neededpages
   
   if ((minsignature == 0) or (maxsignature == 0)) then 
      signature = pages -- the whole text
   else
      -- give a try with the signature
      signature = find_signature(pages, maxsignature)
      
      -- if the pages, are more than the max signature, find the right one
      if pages>maxsignature then
	 while signature<minsignature do
	    pages = pages + 4
	    neededpages = 4 + neededpages
	    signature = find_signature(pages, maxsignature)
	    --         global.texio.write_nl('term and log', "Trying signature of " .. signature)
	 end
      end
      global.texio.write_nl('term and log', "Parameters:: maxsignature=" .. maxsignature ..
		   " minsignature=" .. minsignature)

   end
   global.texio.write_nl('term and log', "ImposerMessage:: Original pages: " .. originalpages .. "; " .. 
	 "Signature is " .. signature .. ", " ..
	 neededpages .. " pages are needed, " .. 
	 pages ..  " of output")
   -- let's do it
   tex.print("\\dorecurse{" .. neededpages .. "}{\\page[empty]}")

end

function find_signature(number, maxsignature)
   global.assert(number>3, "I can't find the signature for" .. number .. "pages")
   global.assert((number % 4) == 0, "I suppose something is wrong, not a n*4")
   local i = maxsignature
   while i>0 do
      -- global.texio.write_nl('term and log', "Trying " .. i  .. "for max of " .. maxsignature)
      if (number % i) == 0 then
	 return i
      end
      i = i - 4
   end
end

\stopusercode

\define[1]\fillthesignature{
  \usercode{optimize_signature(#1, 40, 80)}}


\define\alibraryflushpages{
  \page[yes] % reset the page
  \fillthesignature{\the\realpageno}
}


% various papers 
\definepapersize[halfletter][width=5.5in,height=8.5in]
\definepapersize[halfafour][width=148.5mm,height=210mm]
\definepapersize[quarterletter][width=4.25in,height=5.5in]
\definepapersize[halfafive][width=105mm,height=148mm]
\definepapersize[generic][width=210mm,height=279.4mm]

%% this is the default ``paper'' which should work with both letter and a4

\setuppapersize[generic][generic]
\setuplayout[%
  backspace=42mm,
  topspace=31mm,% 176 / 15
  height=195mm,%130mm,
  footer=9mm, %
  header=0pt, % no header
  width=126mm] % 10.5 x 11

\startmode[libertine]
  \usetypescript[libertine]
  \setupbodyfont[libertine,11pt]
\stopmode

\startmode[pagella]
  \setupbodyfont[pagella,11pt]
\stopmode

\startmode[antykwa]
  \setupbodyfont[antykwa-poltawskiego,11pt]
\stopmode

\startmode[iwona]
  \setupbodyfont[iwona-medium,11pt]
\stopmode

\startmode[helvetica]
  \setupbodyfont[heros,11pt]
\stopmode

\startmode[century]
  \setupbodyfont[schola,11pt]
\stopmode

\startmode[modern]
  \setupbodyfont[modern,11pt]
\stopmode

\startmode[charis]
  \setupbodyfont[charis,11pt]
\stopmode        

\startmode[mini]
  \setuppapersize[S33][S33] % 176 × 176 mm
  \setuplayout[%
    backspace=20pt,
    topspace=15pt,% 176 / 15
    height=280pt,%130mm,
    footer=20pt, %
    header=0pt, % no header
    width=260pt] % 10.5 x 11
\stopmode

% for the plain A4 and letter, we use the classic LaTeX dimensions
% from the article class
\startmode[a4]
  \setuppapersize[A4][A4]
  \setuplayout[%
    backspace=42mm,
    topspace=45mm,
    height=218mm,
    footer=10mm,
    header=0pt, % no header
    width=126mm]
\stopmode

\startmode[letter]
  \setuppapersize[letter][letter]
  \setuplayout[%
    backspace=44mm,
    topspace=46mm,
    height=199mm,
    footer=10mm,
    header=0pt, % no header
    width=126mm]
\stopmode


% A4 imposed (A5), with no bc

\startmode[a4imposed]
% DIV=15 148 × 210: these are meant not to have binding correction,
  % but just to play safe, let's say 1mm => 147x210
  \setuppapersize[halfafour][halfafour]
  \setuplayout[%
    backspace=10.8mm, % 146/15 = 9.8 + 1
    topspace=14mm, % 210/15 =  14
    height=182mm, % 14 x 12 + 14 of the footer
    footer=14mm, %
    header=0pt, % no header
    width=117.6mm] % 9.8 x 12
\stopmode

% A4 imposed (A5), with bc
\startmode[a4imposedbc]
  \setuppapersize[halfafour][halfafour]
  \setuplayout[% 14 mm was a bit too near to the spine, using the glue binding
    backspace=17.3mm,  % 140/15 + 8 =
    topspace=14mm, % 210/15 =  14
    height=182mm, % 14 x 12 + 14 of the footer
    footer=14mm, %
    header=0pt, % no header
    width=112mm] % 9.333 x 12
\stopmode


\startmode[letterimposedbc] % 139.7mm x 215.9 mm
  \setuppapersize[halfletter][halfletter]
  % DIV=15 8mm binding corr, => 132 x 216
  \setuplayout[%
    backspace=16.8mm, % 8.8 + 8
    topspace=14.4mm, % 216/15 =  14.4
    height=187.2mm, % 15.4 x 11 + 15 of the footer
    footer=14.4mm, %
    header=0pt, % no header
    width=105.6mm] % 8.8 x 12
\stopmode

\startmode[letterimposed] % 139.7mm x 215.9 mm
  \setuppapersize[halfletter][halfletter]
  % DIV=15, 1mm binding correction. => 138.7x215.9
  \setuplayout[%
    backspace=10.3mm, % 9.24 + 1
    topspace=14.4mm, % 216/15 =  14.4
    height=187.2mm, % 15.4 x 11 + 15 of the footer
    footer=14.4mm, %
    header=0pt, % no header
    width=111mm] % 9.24 x 12
\stopmode

%%% new formats for mini books
%%% \definepapersize[halfafive][width=105mm,height=148mm]

\startmode[a5imposed]
% DIV=12 105x148 : these are meant not to have binding correction,
  % but just to play safe, let's say 1mm => 104x148
  \setuppapersize[halfafive][halfafive]
  \setuplayout[%
    backspace=9.6mm,
    topspace=12.3mm,
    height=123.5mm, % 14 x 12 + 14 of the footer
    footer=12.3mm, %
    header=0pt, % no header
    width=78.8mm] % 9.8 x 12
\stopmode

% A5 imposed (A6), with bc
\startmode[a5imposedbc]
% DIV=12 105x148 : with binding correction,
  % let's say 8mm => 96x148
  \setuppapersize[halfafive][halfafive]
  \setuplayout[%
    backspace=16mm,
    topspace=12.3mm,
    height=123.5mm, % 14 x 12 + 14 of the footer
    footer=12.3mm, %
    header=0pt, % no header
    width=72mm] % 9.8 x 12
\stopmode

%%% \definepapersize[quarterletter][width=4.25in,height=5.5in]

% DIV=12 width=4.25in (108mm),height=5.5in (140mm) 
\startmode[halfletterimposed] % 107x140
  \setuppapersize[quarterletter][quarterletter]
  \setuplayout[%
    backspace=10mm,
    topspace=11.6mm,
    height=116mm,
    footer=11.6mm,
    header=0pt, % no header
    width=80mm] % 9.24 x 12
\stopmode

\startmode[halfletterimposedbc]
  \setuppapersize[quarterletter][quarterletter]
  \setuplayout[%
    backspace=15.4mm,
    topspace=11.6mm,
    height=116mm,
    footer=11.6mm,
    header=0pt, % no header
    width=76mm] % 9.24 x 12
\stopmode

\startmode[quickimpose]
  \setuppapersize[A5][A4,landscape]
  \setuparranging[2UP]
  \setuppagenumbering[alternative=doublesided]
  \setuplayout[% 14 mm was a bit too near to the spine, using the glue binding
    backspace=17.3mm,  % 140/15 + 8 =
    topspace=14mm, % 210/15 =  14
    height=182mm, % 14 x 12 + 14 of the footer
    footer=14mm, %
    header=0pt, % no header
    width=112mm] % 9.333 x 12
\stopmode

\startmode[tenpt]
  \setupbodyfont[10pt]
\stopmode

\startmode[twelvept]
  \setupbodyfont[12pt]
\stopmode

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                            DOCUMENT BEGINS                                   %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\mainlanguage[en]


\starttext

\starttitlepagemakeup
  \startalignment[middle,nothanging,nothyphenated,stretch]


  \switchtobodyfont[18pt] % author
  {\bf \em

Anonymous  \par}
  \blank[2*big]
  \switchtobodyfont[24pt] % title
  {\bf

Anarchy Against Utopia!

\par}
  \blank[big]
  \switchtobodyfont[20pt] % subtitle
  {\bf 

\par}
  \vfill
  \stopalignment
  \startalignment[middle,bottom,nothyphenated,stretch,nothanging]
  \switchtobodyfont[global]

  \stopalignment
\stoptitlepagemakeup



\page[yes,right]

Most dismissals of anarchy or anarchist ideas come through the belief that for an anarchy to work, perfection is requirement. In other words, people dismiss anarchy because they believe anarchy means “utopia”.


If anything, anarchy is anti-utopia. It is utopia’s antithesis. Right now we are living out Plato’s dream of the perfect society, outlined in the {\em Republic}. It’s not a perfect society that we are living in, but we are always striving for perfection, whether as individuals or as a society.  There are always new technologies being created in order to perfect us as human beings: cosmetic surgeries, life-extending drugs, genetic therapy, etc. And there is always an attempt to recreate or fix this pillar called democracy — an ideology of a perfect society which is run by majority rule. Once every four years in the US, we try to make our republic a little better by choosing someone to rule it. If we are dismissing any utopia, let it be the United States which is nothing more than a living (and failing) experiment in perfection.


Perfection also means that there is an image of perfect. The struggle to be perfect is nothing more than the struggle for a monoculture of replicated human beings. In perfection, there is no room for the individuality and diversity of wants, needs, desires, and dreams. It seems that the world is nearer and nearer to its goal to being perfect as the world grows monotonous, culturally and ecologically.


Anarchy doesn’t have any platform or vision for society. There is no ideal to strive for; no image of what is perfect. As anarchists, we recognize nothing is perfect, not even nature. And it is the imperfections that we embrace, because it is the opposite of striving for an external ideal. Imperfection means diversity and beauty. We realize that whatever type of life we lead, we will not be perfect; and that no matter what type of community we make, it will not be perfect. Whether in a perfect or imperfect society, problems will arise — both large and small. In a perfect society, these problems are all addressed with the same ideal; however, in an imperfect society they can be dealt with as they really are: each problem is different, needing an different solution.


If one is striving for perfection, then one is moving further and further away from being a genuine and authentic human being — an imperfect animal for an imperfect world.


We don’t want a perfect world — we want a genuine and free world — one which has been realized time and time again by human beings who have accepted the fact that perfection does not exist.  We want a world where we are free to experience and embrace our imperfections, our true selves.


{\bf {\em Anarchy means freedom, and it is only in an imperfect world that we can be free from the ideal or perfection!}}









\page[yes]

%%%% backcover

\startmode[a4imposed,a4imposedbc,letterimposed,letterimposedbc,a5imposed,%
  a5imposedbc,halfletterimposed,halfletterimposedbc,quickimpose]
\alibraryflushpages
\stopmode

\page[blank]

\startalignment[middle]
{\tfa The Anarchist Library
\blank[small]
Anti-Copyright}
\blank[small]
\currentdate
\stopalignment

\blank[big]
\framed[frame=off,location=middle,width=\textwidth]
       {\externalfigure[logo][width=0.25\textwidth]}



\vfill
\setupindenting[no]
\setsmallbodyfont

\startalignment[middle,nothyphenated,nothanging,stretch]

\blank[line]
% \framed[frame=off,location=middle,width=\textwidth]
%       {\externalfigure[logo][width=0.25\textwidth]}


Anonymous



Anarchy Against Utopia!







\stopalignment
\blank[line]

\startalignment[hyphenated,middle]




Retrieved on 21 February 2011 from \goto{flag.blackened.net}[url(http://flag.blackened.net/radicalanthropology/notes/utopia.htm)]


\stopalignment

\stoptext


