Technische info Vakidioot

From A-Eskwiki
Jump to: navigation, search

Lief technisch Vakidiootlid,
Gefeliciteerd met je aanstelling als degene die alles moet oplossen als de computers stukgaan! Als jarenlang Secretaris-maar-niet-echt-secretaris-omdat-dat-te-veel-eer-voor-me-is van deze commissie heb ik onderhand toch wel wat geleerd over hoe alles werkt en wat of wie je moet schoppen om dingen gedaan te krijgen. Helaas gaat de tijd soms sneller voorbij dan je wilt, en is er dus een punt dat ik op ga hoepelen. (In tegenstelling tot sommige Chuns...) Daarom dus deze documentatie, zodat je een overzicht hebt van wat je allemaal moet kunnen. Succes ermee!
--TimB, 23 december 2016

Dit is een ver-wiki'de, vernieuwde editie, omdat ik nog steeds niet al mijn taken heb kunnen overdragen. (Merk op wat voor een effect het heeft dat ik het afgelopen half jaar al probeer anderen aan te stellen.) Het is stiekem ook wel heel leuk om degene te zijn die eigenlijk alles mogelijk maakt, dus misschien ga ik wel helemaal niet ophouden met dit soort werk. Zal ze leren! In elk geval veel plezier met je technische verantwoordelijkheden, en voel je vrij om nog veel meer toe te voegen!
--TimB, 6 juni 2017

Bronnen

Er zijn vrij veel verschillende documenten met technische handleidingen, daarom leek het me handig om er nog eentje te maken. (Zie ook [1].) Op dit moment weet ik van het bestaan van de volgende bronnen:

  • De op de A–Eskwiki: helaas grotendeels verouderd, maar makkelijk aan te passen en te lezen voor niet-technische leden.
  • De cheatsheet op de dropbox: lastig aan te passen en vooral gericht op niet-technische leden.
  • De plannerhandleiding op de vm-vakidioot[2]: vooral gefocust op de planner, maar makkelijk aan te passen en te lezen voor niet-technische leden.
  • Verscheidene aantekeningen op de vm-vakidioot (in het bijzonder in /srv/redmine: iets te specifiek voor wat er bij het installeren gedaan is.
  • Commentaar in de bonaparticle- en vakidiootklassen: vooral gefocust op die klassen en niet bedoeld voor het grote overzicht.
  • Bestanden in het commissieaccount op het A–Eskwadraatsysteem: geen idee wat daarin staat.
  • De boeken in het postvakje: best wel verouderd en lastig bij te werken.

DOE-TIP: Als je nog eens een weekje vrijhebt (of een inwerking moet doen), maak dan een appendix met de relevante info van alles erin overgenomen.

Commissiepagina op de A–Eskwadraatsite

Op [3] houdt onze commissie een website bij met de laatst uitgekomen nummers. Die moeten we dus wel om de zoveel tijd bijwerken. Hiervoor hoef je niet heel veel HTML kunnen schrijven, hopelijk kun je het gewoon kopiëren van de vorige editie. Lees vooral ook de Publisherhandleiding. Gedetailleerdere stappenplannen vind je hier.

vm-vakidioot

De Sysop heeft heel aardig voor ons een virtuele machine beschikbaar gesteld. Je kan hierop vanuit het A–Eskwadraatsysteem te inloggen met ssh vm-vakidioot. Ook worden HTTPS-requests voor urls van de vorm https://*-vakidioot.a-eskwadraat.nl/* doorgestuurd naar de vm-vakidioot. In principe is de bedoeling dat we als commissie zelf het beheer van de VM regelen, maar als je er bijvoorbeeld niet op kan inloggen (Wat me nu al minstens 3 keer is overkomen, en waarvan 1 keer toch echt niet mijn eigen schuld was!) kun je ook de Sysop proberen in te schakelen. Check ook de, die antwoord bieden op verscheidene technische vraagstukken.

Planner

We houden bij hoe het met onze artikels gaat met behulp van de Vakidiootplanner. (Voor het collegejaar 2016-2017 waren er de Vakidioot-Google Docs, die we op magisch niveau moesten bijhouden. Stuur een lid van voor die tijd een berichtje als je om de een of andere reden wilt kijken.) Die is bereikbaar op deze URL, en is een instance van Redmine. Documentatie voor gebruikers en admins staat op [4] en als je ssh't naar vm-vakidioot kun je in /srv/redmine wat adminspecifiekere informatie ontdekken.

Om dit een beetje netjes te laten verlopen, moet iemand om de zoveel tijd de planner opschonen. Dat houdt in:

  • Maak nieuwe versies aan voor de komende nummers.
  • Zet binnengekomen artikels op "binnen" in de planner.
  • Schuif artikels die wel binnen zijn maar nog niet in een nummer verschenen door naar het volgende nummer.
  • Zet verschenen artikels op "verschenen" in de planner.
  • Als een nummer niet meer relevant is, zet hem dan op afgerond.
  • Maak een backup van de huidige toestand en zet die in ~/cies/vakid/backups-planner.
  • Check dat gebruikers afweten van de wiki op [5].

Dropbox

Op dit moment bewaren we onze artikels-in-wording en verscheidene andere documenten op Dropbox. Hier zitten dan in de map Vakidioten de laatst uitgekomen Vakidioot en de eerstvolgende. Als een nummer uitkomt, moet je als technisch figuur een nieuwe map maken (zie ook de template!) en de ongebruikte artikels doorschuiven. Het is handig als je dit combineert met de planner bijwerken, want dan loopt dat allemaal tenminste synchroon.

Bij zijn aanstelling als Secretaris-maar-niet-echt-secretaris-omdat-dat-te-veel-eer-voor-hem-is had Tim de eis gesteld dat hij een alternatief voor Dropbox en Google Docs mocht gaan bouwen. Op dit moment is dat tweede dus al gebeurd, maar zoals het er nu naar uitziet, zal het eerste nog een tijdje moeten duren. Op de Dropbox zijn er niet veel beveiligingen tegen over andermans werk heenfietsen, en geschiedenis en dergelijke is lastig te achterhalen of integreren met de Planner. Een versiebeheersysteem in de richting van Git of SVN zou kunnen werken, of juist iets onlines als ShareLaTeX of Overleaf.

SVN is wel mooi geïntegreerd met TeXStudio en op de vm-vakidioot draait (als het goed is) een SVN-repository. Het probleem is dat die VM het heel moeilijk heeft met relatief grote bestanden uploaden (en een voorkant wil nog wel eens de orde van 100 MiB bereiken). Daarom lijkt Git nu toch een betere oplossing, maar dat kunnen we nog eens op ons gemak verzinnen.

LaTeX

In tegenstelling tot saaie mensen willen wij nog wel eens fancy tekens gebruiken voor namen als Gauß. pdfLaTeX kan hier niet tegen, dus we gebruiken XeLaTeX. Hiervoor moet je \XeLaTeX{} ergens in je instellingen van je \TeX{verwerker} selecteren. Ook moet je TeXinstallatie niet al te zeer verouderd zijn.

De classes die we gebruiken zijn bonaparticle en vakidioot, en zijn ook te vinden in het mapje Vakidioot-Stijl in de Dropbox. Regel met de TeXniCie dat eventuele aanpassingen aan de classes ook op het A–Eskwadraatsysteem verschijnen. Voor niet-technische leden is de Cheatsheet op Dropbox een goede handleiding.

Als je artikel door XeLaTeX heengaat, zouden in principe alle fancy tekens begrepen moeten worden. Dit betekent niet dat ze ook juist worden weergegeven: de fonts Frutiger en/of TeX Gyre Pagella die we gebruiken, hoeven die tekens niet te bevatten. Je zou als redmiddel bijvoorbeeld een ander font kunnen gebruiken als DejaVu (Sans) voor de getroffen karakters, maar pas op dat ze wel de juiste lettergrootten hebben enzo.

Op het A–Eskwadraatsysteem hebben bepaalde foto's te lijden onder het Syndroom van Grutte Pier. (Waaronder foto's van een zekere eindredacteur, die over het hele redactionele stukje heengroeiden. De bewuste eindredacteur wilde niet graag op deze manier onder de aandacht komen en het stelde het dus nogal niet op prijs dat ik dit verschijnsel in diens bijzijn even uitgebreid ging debuggen. Deze uitleg is uiteraard alleen maar bedoeld om die ongewenste aandacht te verergeren :)) Om de een of andere reden begrijpt XeLaTeX niet hoe ze geresized moeten worden. Je kunt dit voor een bepaalde foto fixen door de foto te openen in de GIMP en weer te exporteren.

XeLaTeX snapt, in tegenstelling tot pdfLaTeX, wel wat lettertypes zijn. Als je een cool font wil gebruiken, kun je een .ttf-bestand bij je artikel meeleveren en met de package fontspec dat font gebruiken. Bijvoorbeeld:

\newfontfamily\cursief{KaoriGel.ttf}
...
\begin{document}
...
{\cursief Dit is handgeschreven tekst, dat is echt supertof.}
...
\end{document}

BladNL-size

De Vakidioot wordt tegenwoordig gedrukt op een bladformaat door BladNL uitgevonden, ongeveer 50% meer oppervlak dan A5 en 50% minder dan A4. Met de overstap op een groter bladformaat hebben we ook besloten om wat meer naar een tweekolommenlayout te gaan. (Ook bekend als de multicols-environment.) Je moet hierbij misschien wel letten op een paar dingen, vooral als je oude overgebleven artikelen naar het nieuwe formaat wil omzetten:

De breedte van een kolom is \linewidth. Dit is dus wat anders dan de \textwidth die je misschien gewend bent, wat de breedte van alle kolommen samen aangeeft. DOE-TIP: loop de bonaparticle- en Vakidiootklassen na op gebruik van \textwidth en verbeter waar nodig.

Heb je floats (figure en table enzo) binnen je kolommen staan? Dan zullen ze waarschijnlijk spoorloos verdwijnen. Zet daarom voor dit soort floats het optionele argument [H]. Nu zullen ze niet meer zweven, dus sowieso binnen je kolom terechtkomen. Check ook even dat je plaatje niet te breed is voor de kolommen (denk hier vooral aan \linewidth in plaats van \textwidth, zoals hierboven al gezegd.) Werkt dit nog steeds niet? Check even dat je de juiste versie van de klasse hebt, want in de oude Vakidiootklasse was de benodige package nog niet inbegrepen.

Snijrandjes

Als de SpoCie met een advertentie aankomt, check dat er wel snijrandjes aanzitten. Zonder die snijrandjes gaat alles helemaal mis omdat het bijsnijden nooit perfect gebeurt, en er dus altijd een stukje van de advertentie afgesneden moet kunnen worden (of er juist een klein stukje extra bij blijft!). Stel de SpoCie hier zo snel mogelijk van op de hoogte, zodat ze bij de adverteerder kunnen gaan klagen.

Net zoiets geldt voor de voorkant: zet de tekst "Studievereniging A–Eskwadraat -- Jaargang (k)(k+1) -- Nummer $n$" niet te dicht op de rand van het plaatje. Het gaat goed als je horizontaal op ongeveer 10% van de rand zit, en verticaal ongeveer 5%. (Vraag me overigens niet waarom deze precieze getallen, het was een kwestie van vorige voorkanten opmeten!)

Korte geschiedenis van de Vakidioottechneuten

Na ongeveer 6 jaar met LaTeX gewerkt te hebben, besloot de Vakidioot in nummer 1314-6 "Verschil" als experiment over te stappen op het programma Scribus. Hoe groot een succes dit bleek, volgt wel af te leiden uit het feit dat we tegenwoordig nog altijd in LaTeX onze artikels maken.

Wel zijn we toen overgestapt op een nieuwe LaTeXklasse gemaakt door Chun. Deze heet heel origineel vakidioot, en is gebaseerd op de (eveneens door Chun gemaakte) klasse Bonaparticle. Die laatste klasse is te vinden op GitHub.

De volgende grote technische overstap is die van pdfLaTeX naar XeLaTeX in nummer 1516-4 "String"". Twee nummers achter elkaar waren er artikels die niet wilden TeXen omdat ze ook niet-ASCII-tekens bevatten, en toen was Tim het zo zat om al met die vage inputencodings en T1-fonts te werken dat hij besloot om gewoon XeLaTeX te gaan gebruiken. Gelukkig had Chun al een flink deel van het werk verzet, dus kostte de overstap maar een paar maanden aan hoofdbrekens.

In die tijd hield de Vakidiootredactie haar vorderingen op paginaaantalgebied nog bij in een spreadsheet op Google Docs. Deze spreadsheet was een flink staaltje technisch vernuft maar placht in de praktijk veelvuldig stuk te gaan. Dit kostte allemaal tijd en moeite, dus toen ging Tim voorbereiden op de overstap naar een issuetracker van Redmine. Na wat installatie- en uitlegperikelen, is dit de Vakidiootplanner die op vm-vakidioot draait.

Deze handleiding is in de laatste helft van 2016 geschreven door toenmalig Secretaris-maar-niet-echt-secretaris-omdat-dat-te-veel-eer-voor-hem-is Tim, omdat die van plan was een nieuw technisch lid aan te wijzen en een beetje in te werken. De handleidingen voor niet-technische leden waren allemaal wel vrij duidelijk, maar vertelden niet heel veel over problemen en hoe die op te lossen zijn. Vervolgens heeft Tim geen succes gehad met het inwerken en dus halverwege 2017 alles vernieuwd en in een wikipagina gestopt.