new headre emphasis
@@ -157,6 +157,7 @@ Note: direct commands like `\paperwidth{...}` or `\color{...}` would clash with
|
||||
- `header` / `noheader`: show/hide top name block + separator line, default `header`
|
||||
- `qr` / `noqr`: show/hide QR block, default `qr`
|
||||
- `layout=`: `standard` (default) or `centered`
|
||||
- `headeremphasis=`: `person` (default), `company`, or `balanced`
|
||||
- `rightalign` / `leftalign`: text alignment, default `rightalign`
|
||||
- `iconleft` / `iconright`: icon side, default `iconleft`
|
||||
- `fill` / `nofill`: fill space between icon and text, default `fill`
|
||||
@@ -199,6 +200,7 @@ What Influences What (Standard Layout)
|
||||
|
||||
- `paperwidth/paperheight/contentwidth/contentheight/padding`: define the outer geometry of the whole card.
|
||||
- `header/noheader`: enables/disables the complete top block (name/logo/company line + separator line).
|
||||
- `headeremphasis=person|company|balanced`: controls relative visual weight in the header (`person`: name larger, `company`: company line larger, `balanced`: same size).
|
||||
- `logo` + `logoheight`: affects header composition and reserved vertical space.
|
||||
- `company[height=...]` / `companylogo[height=...]`: affects second header line and reserved space.
|
||||
- `textwidth` and `qrwidth`: define horizontal split of body columns.
|
||||
@@ -304,7 +306,7 @@ Recognized Commands
|
||||
### Command-Style Setters for Layout Options
|
||||
|
||||
- geometry: `\setpaperwidth`, `\setpaperheight`, `\setcontentwidth`, `\setcontentheight`, `\setpadding`, `\setcutdist`, `\setcutlen`
|
||||
- layout/typography: `\setfontsize`, `\settextwidth`, `\setqrwidth`, `\setqreclevel`, `\setqrlogoscale`, `\setqrlogoborder`, `\setlogoheight`, `\setlayout`
|
||||
- layout/typography: `\setfontsize`, `\settextwidth`, `\setqrwidth`, `\setqreclevel`, `\setqrlogoscale`, `\setqrlogoborder`, `\setlogoheight`, `\setlayout`, `\setheaderemphasis`
|
||||
- booleans (`true`/`false`): `\setcrlf`, `\setaddress`, `\sethint`, `\seticon`, `\setrightalign`, `\seticonleft`, `\setfill`, `\setqrfirst`, `\setheader`, `\setqr`, `\sethttps`
|
||||
- colors/language/format: `\setlang`, `\setcardcolor`, `\setqrcolor`, `\setcountryformat`, `\setbgscale`, `\setbgopacity`, `\setqrbgopacity`
|
||||
- convenience toggles: `\noheader`, `\withheader`, `\noqr`, `\withqr`, `\standardlayout`, `\centeredlayout`
|
||||
@@ -360,6 +362,16 @@ Equivalent using setter commands:
|
||||
\drawcard
|
||||
```
|
||||
|
||||
Header emphasis example:
|
||||
|
||||
```latex
|
||||
\cardsetup{headeremphasis=company}
|
||||
% or:
|
||||
\setheaderemphasis{company}
|
||||
% optional short alias:
|
||||
\headeremphasis{balanced}
|
||||
```
|
||||
|
||||
If you want to keep most data and only remove selected fields:
|
||||
|
||||
```latex
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
\DeclareComplementaryOption{www}{https}
|
||||
\DeclareStringOption[standard]{layout} % standard, centered
|
||||
\DeclareStringOption[auto]{countryformat} % auto: <4 chars inline with mdash, >=4 separate line; inline: always inline; below: always separate line
|
||||
\DeclareStringOption[person]{headeremphasis} % person, company, balanced
|
||||
\DeclareDefaultOption{\@unknownoptionerror}
|
||||
\ProcessKeyvalOptions*
|
||||
|
||||
@@ -138,6 +139,7 @@
|
||||
\define@key{BCQ@runtime}{qrcolor}{\def\BCQ@qrcolor{#1}}
|
||||
\define@key{BCQ@runtime}{countryformat}{\def\BCQ@countryformat{#1}}
|
||||
\define@key{BCQ@runtime}{layout}{\def\BCQ@layout{#1}}
|
||||
\define@key{BCQ@runtime}{headeremphasis}{\def\BCQ@headeremphasis{#1}}
|
||||
\define@key{BCQ@runtime}{crlf}[true]{\BCQ@setbool{crlf}{#1}}
|
||||
\define@key{BCQ@runtime}{nocrlf}[true]{\BCQ@setbool{crlf}{false}}
|
||||
\define@key{BCQ@runtime}{address}[true]{\BCQ@setbool{address}{#1}\ifBCQ@address\def\printaddress{}\else\csundef{printaddress}\fi}
|
||||
@@ -186,6 +188,8 @@
|
||||
\newcommand\setqrcolor[1]{\setoption{qrcolor}{#1}}
|
||||
\newcommand\setcountryformat[1]{\setoption{countryformat}{#1}}
|
||||
\newcommand\setlayout[1]{\setoption{layout}{#1}}
|
||||
\newcommand\setheaderemphasis[1]{\setoption{headeremphasis}{#1}}
|
||||
\newcommand\headeremphasis[1]{\setoption{headeremphasis}{#1}}
|
||||
\newcommand\setcrlf[1]{\setoption{crlf}{#1}}
|
||||
\newcommand\setaddress[1]{\setoption{address}{#1}}
|
||||
\newcommand\sethint[1]{\setoption{hint}{#1}}
|
||||
@@ -637,6 +641,18 @@
|
||||
\newcommand\displayname{%
|
||||
\ifhaspersonalname{\personalname}{\companybrandingline}%
|
||||
}
|
||||
\newcommand\BCQ@headernameformat[1]{%
|
||||
\ifdefstring{\BCQ@headeremphasis}{company}{\bfseries #1}{%
|
||||
\ifdefstring{\BCQ@headeremphasis}{balanced}{{\bfseries #1}}{%
|
||||
{\large\bfseries #1}%
|
||||
}%
|
||||
}%
|
||||
}
|
||||
\newcommand\BCQ@headercompanyformat[1]{%
|
||||
\ifdefstring{\BCQ@headeremphasis}{company}{{\large #1}}{%
|
||||
\ifdefstring{\BCQ@headeremphasis}{balanced}{#1}{#1}%
|
||||
}%
|
||||
}
|
||||
\newcommand\BCQ@appendvcardposition{%
|
||||
\ifhaspersonalnamevcard{%
|
||||
\ (\companyrolestringvcard)%
|
||||
@@ -916,16 +932,16 @@ END:VCARD\BCQ@nl}
|
||||
\hspace{\BCQ@logosepused}
|
||||
\begin{minipage}[c]{\BCQ@namewidth}% name column
|
||||
\ifBCQ@rightalign\raggedleft\fi% apply alignment
|
||||
{\bfseries\cond{displayname}}%
|
||||
\BCQ@headernameformat{\cond{displayname}}%
|
||||
\ifhaspersonalname{%
|
||||
\ifhaspositionblock{\\\companybrandingline}{}%
|
||||
\ifhaspositionblock{\\[0.7ex]\BCQ@headercompanyformat{\companybrandingline}}{}%
|
||||
}{}%
|
||||
\end{minipage}
|
||||
\end{minipage}
|
||||
}{% no logo: just name
|
||||
{\bfseries\cond{displayname}}%
|
||||
\BCQ@headernameformat{\cond{displayname}}%
|
||||
\ifhaspersonalname{%
|
||||
\ifhaspositionblock{\\\companybrandingline}{}%
|
||||
\ifhaspositionblock{\\[0.7ex]\BCQ@headercompanyformat{\companybrandingline}}{}%
|
||||
}{}%
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
% Local forwarder for compiling examples from this repository checkout.
|
||||
% Ensures examples use ../businesscard-qrcode.cls instead of a globally installed class.
|
||||
\input{../businesscard-qrcode.cls}
|
||||
\endinput
|
||||
@@ -0,0 +1,29 @@
|
||||
\documentclass[textwidth=0.58,qrwidth=0.35,qrfirst]{businesscard-qrcode}
|
||||
|
||||
\type{work}
|
||||
\givennames{John}
|
||||
\familynames{Doe}
|
||||
\title{CEO}
|
||||
\company{My\ Company\ LTD}
|
||||
\email{john.doe@mycompany.ltd}
|
||||
\homepage{mycompany.ltd}
|
||||
\phone{+41\ 44\ 123\ 45\ 67}
|
||||
\street{Example\ Street\ 1}
|
||||
\zip{8000}
|
||||
\city{Z\"urich}
|
||||
\country{Switzerland}
|
||||
|
||||
\begin{document}
|
||||
% Front side: standard layout with QR
|
||||
\drawcard
|
||||
|
||||
% Back side: centered text-only layout
|
||||
\newcard
|
||||
\centercontent{%
|
||||
{\Large\bfseries My\ Company\ LTD}\par
|
||||
\vspace{0.8em}
|
||||
john.doe@mycompany.ltd\par
|
||||
mycompany.ltd
|
||||
}
|
||||
\drawcard[layout=centered,noqr,noheader]
|
||||
\end{document}
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
@@ -0,0 +1,68 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="760" viewBox="0 0 1200 760" role="img" aria-label="businesscard-qrcode standard layout blueprint">
|
||||
<defs>
|
||||
<style>
|
||||
.bg { fill:#f4f6fb; }
|
||||
.card { fill:#ffffff; stroke:#1f2a44; stroke-width:3; }
|
||||
.area { fill:#f9fbff; stroke:#44516f; stroke-width:2; }
|
||||
.sub { fill:#eef3ff; stroke:#5f6f95; stroke-width:1.5; }
|
||||
.line { stroke:#1f2a44; stroke-width:2.5; }
|
||||
.h1 { font: 700 30px 'DejaVu Sans', Arial, sans-serif; fill:#18233b; }
|
||||
.h2 { font: 700 22px 'DejaVu Sans', Arial, sans-serif; fill:#243454; }
|
||||
.txt { font: 500 17px 'DejaVu Sans', Arial, sans-serif; fill:#243454; }
|
||||
.small { font: 500 15px 'DejaVu Sans', Arial, sans-serif; fill:#31456f; }
|
||||
.mono { font: 500 14px 'DejaVu Sans Mono', Consolas, monospace; fill:#31456f; }
|
||||
.center { text-anchor: middle; dominant-baseline: middle; }
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<rect class="bg" x="0" y="0" width="1200" height="760" />
|
||||
|
||||
<text class="h1" x="600" y="50" text-anchor="middle">Standard Layout (Normalfall: header + qr + qrfirst)</text>
|
||||
|
||||
<rect class="card" x="60" y="80" width="1080" height="620" rx="8" />
|
||||
|
||||
<!-- Header -->
|
||||
<rect class="area" x="90" y="110" width="1020" height="170" rx="4" />
|
||||
<text class="h2" x="600" y="136" text-anchor="middle">Header Block</text>
|
||||
|
||||
<rect class="sub" x="112" y="150" width="230" height="108" rx="4" />
|
||||
<text class="txt center" x="227" y="190">Optional Name-Logo</text>
|
||||
<text class="mono center" x="227" y="220">\logo{...}</text>
|
||||
|
||||
<rect class="sub" x="360" y="150" width="728" height="48" rx="4" />
|
||||
<text class="txt center" x="724" y="174">Name Line: honoricprefix + givennames + additionalnames + familynames + honoricsuffix</text>
|
||||
|
||||
<rect class="sub" x="360" y="208" width="728" height="50" rx="4" />
|
||||
<text class="txt center" x="724" y="233">Second line: title/role + [companylogo] + company</text>
|
||||
|
||||
<line class="line" x1="90" y1="290" x2="1110" y2="290" />
|
||||
<text class="small" x="1110" y="284" text-anchor="end">Separator line (only if header=true)</text>
|
||||
|
||||
<!-- Body -->
|
||||
<rect class="area" x="90" y="310" width="1020" height="330" rx="4" />
|
||||
<text class="h2" x="600" y="336" text-anchor="middle">Main Body Block</text>
|
||||
|
||||
<rect class="sub" x="112" y="350" width="420" height="270" rx="4" />
|
||||
<text class="txt center" x="322" y="385">QR Column (qrwidth)</text>
|
||||
<rect class="area" x="150" y="410" width="300" height="190" rx="4" />
|
||||
<text class="txt center" x="300" y="480">QR code</text>
|
||||
<text class="small center" x="300" y="508">optional \qrlogo</text>
|
||||
|
||||
<rect class="sub" x="548" y="350" width="540" height="270" rx="4" />
|
||||
<text class="txt center" x="818" y="385">Text Column (textwidth)</text>
|
||||
|
||||
<rect class="area" x="570" y="410" width="496" height="90" rx="4" />
|
||||
<text class="txt center" x="818" y="442">Address block (optional)</text>
|
||||
<text class="small center" x="818" y="468">Map icon + address lines (hidden if no visible address)</text>
|
||||
|
||||
<rect class="area" x="570" y="510" width="496" height="92" rx="4" />
|
||||
<text class="txt center" x="818" y="545">Contact/Social lines</text>
|
||||
<text class="small center" x="818" y="571">icon | hint | value formatting options</text>
|
||||
|
||||
<!-- Footer -->
|
||||
<rect class="area" x="90" y="648" width="1020" height="34" rx="4" />
|
||||
<text class="txt center" x="600" y="665">Optional Footer: pgpfingerprint</text>
|
||||
|
||||
<!-- Notes -->
|
||||
<text class="small" x="90" y="726">Swap sides with textfirst. Remove QR with noqr. Remove header with noheader.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 766 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 20 KiB |