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

Re: Brother QL570 und Latex



Dietmar Segbert wrote:

> herzlichen Dank für Deine Infos und diese Verbesserungen, das hilft
> mir sehr, sehr.
> 
Da nicht für. 

Heute morgen hat es mich gebissen, das Beispiel noch ein wenig 
alltagstauglicher zu machen. Bei den Varianten von gestern hat ein zu 
langer Text in den vier Zeilen die Abmessungen der Minipage 
überfordert. Als Folge wurden QRC-Quadrat und Textzeilen auseinander 
gerissen. Auf der Suche nach einer besseren Lösung habe ich das Paket 
"adjustbox" entdeckt. Das kann viele interessante Sachen mit dem in 
die Box gesteckten Inhalt anstellen. Unter anderem kann es die 
Schriftgröße so anpassen, dass die Zeilen in ein vorgegebenes Rechteck 
passt.

Außerdem habe ich die meisten Längenmaße an Variablen zugewiesen. 
Dadurch muss man nicht an vielen Stellen mit voneinander abhängigen 
Millimetern hantieren. 

Und damit man nicht immer wieder dieselben minipage-Konstrukte 
eintippen muss, habe ich das Ganze in einen eigenen Befehl "qcrcode" 
verpackt. Dieser Befehl akzeptiert vier Parameter, mit denen man den 
Inhalt der vier Textzeilen übergibt. Jeder Aufruf dieses Befehls 
erzeugt eine "Aufkleber" mit QRC-Quadrat neben den vier Textzeilen.

Das Ganze sieht dann so aus:

----snip

\documentclass[11pt]{article}

\usepackage{qrcode}
\usepackage{adjustbox}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{geometry}

\parindent=0mm      %% no indented lines

%% set paper dimension to 29 x 90 mm, no margins
\newcommand{\mylabelheight}{29mm}
\newcommand{\mylabelwidth}{90mm}
\newcommand{\myprintheight}{25mm}
\newcommand{\mytextwidth}{55mm}

\geometry{papersize={\mylabelwidth,\mylabelheight}}
\geometry{margin=0mm}
\topskip0pt

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Ein eigener Befehl für QR-Code plus vier Zeilen %%

\newcommand{\qrclabel}[4]{%
\vspace*{\fill}
\hskip 5mm
%
\begin{minipage}{\myprintheight}
	\qrcode[height=\myprintheight]{#1, #2, #3, #4}
\end{minipage}
%
\adjustbox{stack=lc,width=\mytextwidth,height=\myprintheight/2,keepaspectratio}
{%
    #1 \\
    #2 \\
    #3 \\
    #4
}
\vspace*{\fill}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
  \qrclabel{Mein Name}{Meine Str.}{Plz Ort}{Tel. 01234 567 89}
  \newpage
%
  \qrclabel{Mein Name}
           {Meine Str.}
           {Plz Ort mit ziemlich langem Namen}
           {Tel. 01234 567 89}
  \newpage
%
  \qrclabel{Mein Name}
           {Meine Str.}
           {Plz Ort mit noch viel laengerem Namen, der offenbar auf 
keine Zeile passt}
           {Tel. 01234 567 89}
  
\end{document}

----snap

Beim Testen habe ich eine Schwäche von qrcode entdeckt. Deutsche 
Umlaute lassen die Berechnung des Punktequadrats mit Fehlermeldung 
scheitern. Dabei ist es egal, in welcher Verkleidung man die Umlaute 
übergibt. Egal, ob als \"u, als UTF8 kodiert, oder in anderer 
Kodierung, ich es versucht habe -- das Ergebnis war immer dasselbe.
Da bleibt dann nur die Notoesung ueber zwei regulaere Buchstaben.

Wenn man das akzeptiert, muss "nur noch" der Druckertreiber für den 
QL570 mit den Miniseiten zufrieden sein. Damit habe ich keine 
Erfahrung.

---<)kaimartin(>---


Reply to: