[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: markdown, logo en JPG via pandoc naar PDF



Hoi,

Eerdere Subject: Re: wat zijn de side-effects van LC_ALL="C"

On Fri, Dec 09, 2022 at 08:32:31PM +0100, Rob van der Putten wrote:
> Hoi
> 
> 
> On 09/12/2022 12:58, Paul van der Vlis wrote:
> 
> > Hallo Gijs en anderen,
> > 
> > Op 09-12-2022 om 08:54 schreef Gijs Hillenius:
> > > Hoi!
> > > 
> > > Een collega op het werk helpt me met het combineren van super-eenvoudig
> > > te schrijven serietje van MarkDown regeltjes, die je dan met een enkel
> > > commando:
> > > 
> > > ,----
> > > | nix run git+https://url...dinges-theme/#pandoc-presentation
> > > --refresh -- presentation.md
> > > `----
> > > 
> > > omzet in een PDF.
> > > 
> > > Het werkt vlekkeloos op zijn machine (100% nix).
> > > 
> > > Het werkt bijna vlekkeloos op een VM ingericht met yum (rpm). Daar
> > > moeten we  dat commando dan beginnen als:
> > > 
> > > LC_ALL="C" nix run git
> > > 
> > > Op mijn Debian Sid machine krijgen we gekke neven-effecten. Het werkt,
> > > net als op die Yum vm niet zonder LC_ALL="C". Maar met LC_ALL="C"
> > > verschuift op alle PDF pagina's het logootje, zo gauw als we ook maar
> > > een enkel plaatje (JPG) invoeren.
> > > 
> > > Ik heb net https://wiki.debian.org/Locale bestudeerd.
> > > 
> > > /etc/environment is leeg
> > > 
> > > ssh een sshd config bevatten die
> > > SendEnv LANG LC_* en AcceptEnv LANG LC_*
> > > 
> > > ..
> > > 
> > > Iemand nog een ander idee?

Afweging maken wat er belangrijker is:
  super-eenvoudig of plaatjes op gewenste plaats.

Zo ver ik weet heeft markdown geen "plaatje links uitlijnen,
wat er rechts nog aan ruimte vrij is, opvullen met tekst".

Dan is het nog maar de vraag of die informatie behouden
blijft als pandoc converteert naar zijn intermediate formaat.
(pandoc heeft "readers" (soort van import functie) die een
input formaat omzetten naar intermediate. En pandoc heeft "writers"
(soort van export functie) die omzetten "output formaat".)
Uit manual page van pandoc begrijp ik het interne formaat JSON is.
Door JSON output (i.p.v.  PDF output) van de verschillende systemen
te vergelijken, ga je er achterkomen of de pandoc "readers" zich
verschillend gedragen.

Waarschijnlijk is het beter om alle, echte alle pandoc compomenten
van de verschillende gebruikte system te vergelijken en dan recht
trekken.  (En dan zorgen dat ze qua versie gelijk blijven.)


Een echt alternatief voor "toch niet helemaal platte tekst
via pandoc naar .pdf" heb ik niet. Als de opmaak toch belangrijk
is, zou ik richting LaTeX gaan ...


> > Je moet tegenwoordig /etc/default/locale hebben, maar dat staat vast ook
> > in https://wiki.debian.org/Locale .
> > 
> > "LANG=C" geeft soms problemen. Bijvoorbeeld het Python programma "rpl"
> > werkt dan niet meer, en sommige tekens kunnen niet weergegeven worden
> > lijkt me. Overweeg iets anders zoals "LANG=en_US.UTF-8", of wat ik ook
> > vaak gebruik is de Ierse UTF-8 locale. Voordeel van die Ierse locale is
> > b.v. dat ze in Ierland A4 papier gebruiken en Euro's als valuta etc.
> > Eigenlijk staat alles dan vanzelf goed voor een Nederlandse computer die
> > Engels als taal wil.

Dat is wel een leuke tip. Ik had verwacht dat Ieren iers spreken.
Waarschijnlijk zijn er meerdere Ierse UTF-8 locales. Net zo als
er meerdere Portugese locales zijn. ( Portugees en Brazilaans )
 

> Locale doet ook sorteer volgorde.

Oei, die had ik niet bij mijn parate kennis. Dank je wel.


> Met C is dat ascending unsigned byte value. Dat kan van essentieel
> belang zijn bij zoeken en sorteren.  Een nadeel is dat C ISO-8859-1
> is. Er is echter ook een C.UTF-8. In scripts zet ik altijd een 'export
> LC_ALL=C.UTF-8,' voordat ik ze laat sorteren.
> 
> > Misschien dat door dat andere papier in de USA (letter) het logo
> > verspringt.
> 
> Als het goed is staat je papersize in /etc/papersize. Of dit de papersize
> van de locale (US en Canada US-Letter, rest A4) overruled weet ik niet.
> 
> > Ik zou proberen de SSH config op default te houden, dat heb je volgens
> > mij ook. "SendEnv LANG LC_*" hoort in ssh_config, en "AcceptEnv LANG
> > LC_*" hoort in sshd_config.

Dat is voor het "meenemen" van environment variabelen naar SSH bestemming.
Voorbeeld: Jij hebt LANG=nl op jouw computer want je begrijpt
nederlands. Je moet echter naar een server ingericht door je franstalige
collega, maar je kunt geen Frans. 


Groeten
Geert Stappers
-- 
Silence is hard to parse


Reply to: