The scrlttr2 signature position with KOMA-Script pseudolength sigindent?
I'm trying to align the signature with the destination address in a french styled letter.
I could use the very good lettre class as mentioned in my previous question but I need to scrlttr2
to reuse the org-mode koma export back-end.
I tried setting the position with the following commands:
Test 0
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
Test 1
setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
Test 2
setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]
{example-image}}
Test 3
setkomavar{signature}{hspace{26em}
begin{minipage}[t]{7cm}
{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
end{minipage}}
But the signature is stuck to the left.
Here is my full code and the result I'm looking for.
% Created 2019-04-08 lun. 11:20
% Intended LaTeX compiler: pdflatex
documentclass{scrlttr2}
usepackage[francais]{babel}
usepackage[utf8]{inputenc}
usepackage{hyperref}
% usepackage{showframe} % to show the page boundaries from https://tex.stackexchange.com/questions/298246/signatures-side-by-side
% usepackage{geometry}
% geometry{verbose,a4paper,lmargin=3cm,rmargin=3cm}
LoadLetterOption{visualize}
showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
%%%%%%%%%%%%%%%% HERE %%%%%%%%%%%%%%%%
% signature
%%%% test 1
% setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
%%%% test 2
% setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]{example-image}}% <- changed
%%%% test 3
% setkomavar{signature}{hspace{26em}
% begin{minipage}[t]{7cm}
% {Chef Abraracoursix,hfill \Un chef à toujours bras long.}
% end{minipage}}
%%%% test 4
setkomavar{signature}{
noindent parbox[t]{0.5linewidth}{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
}
%%%%%%%%%%%%%%%% above %%%%%%%%%%%%%%%%
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
% usepackage{setspace} usepackage{lipsum} setstretch{1.15}
% setlengthparskip{medskipamount}
% setlengthparindent{0pt}
% setstretch{1.15}
date{today}
makeatletter
% firsthead
setkomavar{firsthead}{{
usekomafont{fromaddress}
parbox[b]{useplength{firstheadwidth}}{
{usekomafont{fromname}usekomavar{fromname}}
hfill{usekomafont{placeanddate}
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}
\usekomavar{fromaddress}
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi
}}
}
makeatletter
%%%% TEST 0
% @setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
renewcommand*{raggedsignature}{raggedright}
hypersetup{
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité légendaire, nous vous invitons à festoyer avec nous sous le grand chêne, du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Idealy I would like
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
to work as expected with pseudo-lenght given in https://i.stack.imgur.com/D2tu3.png
koma-script letters scrlttr2
add a comment |
I'm trying to align the signature with the destination address in a french styled letter.
I could use the very good lettre class as mentioned in my previous question but I need to scrlttr2
to reuse the org-mode koma export back-end.
I tried setting the position with the following commands:
Test 0
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
Test 1
setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
Test 2
setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]
{example-image}}
Test 3
setkomavar{signature}{hspace{26em}
begin{minipage}[t]{7cm}
{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
end{minipage}}
But the signature is stuck to the left.
Here is my full code and the result I'm looking for.
% Created 2019-04-08 lun. 11:20
% Intended LaTeX compiler: pdflatex
documentclass{scrlttr2}
usepackage[francais]{babel}
usepackage[utf8]{inputenc}
usepackage{hyperref}
% usepackage{showframe} % to show the page boundaries from https://tex.stackexchange.com/questions/298246/signatures-side-by-side
% usepackage{geometry}
% geometry{verbose,a4paper,lmargin=3cm,rmargin=3cm}
LoadLetterOption{visualize}
showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
%%%%%%%%%%%%%%%% HERE %%%%%%%%%%%%%%%%
% signature
%%%% test 1
% setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
%%%% test 2
% setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]{example-image}}% <- changed
%%%% test 3
% setkomavar{signature}{hspace{26em}
% begin{minipage}[t]{7cm}
% {Chef Abraracoursix,hfill \Un chef à toujours bras long.}
% end{minipage}}
%%%% test 4
setkomavar{signature}{
noindent parbox[t]{0.5linewidth}{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
}
%%%%%%%%%%%%%%%% above %%%%%%%%%%%%%%%%
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
% usepackage{setspace} usepackage{lipsum} setstretch{1.15}
% setlengthparskip{medskipamount}
% setlengthparindent{0pt}
% setstretch{1.15}
date{today}
makeatletter
% firsthead
setkomavar{firsthead}{{
usekomafont{fromaddress}
parbox[b]{useplength{firstheadwidth}}{
{usekomafont{fromname}usekomavar{fromname}}
hfill{usekomafont{placeanddate}
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}
\usekomavar{fromaddress}
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi
}}
}
makeatletter
%%%% TEST 0
% @setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
renewcommand*{raggedsignature}{raggedright}
hypersetup{
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité légendaire, nous vous invitons à festoyer avec nous sous le grand chêne, du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Idealy I would like
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
to work as expected with pseudo-lenght given in https://i.stack.imgur.com/D2tu3.png
koma-script letters scrlttr2
add a comment |
I'm trying to align the signature with the destination address in a french styled letter.
I could use the very good lettre class as mentioned in my previous question but I need to scrlttr2
to reuse the org-mode koma export back-end.
I tried setting the position with the following commands:
Test 0
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
Test 1
setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
Test 2
setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]
{example-image}}
Test 3
setkomavar{signature}{hspace{26em}
begin{minipage}[t]{7cm}
{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
end{minipage}}
But the signature is stuck to the left.
Here is my full code and the result I'm looking for.
% Created 2019-04-08 lun. 11:20
% Intended LaTeX compiler: pdflatex
documentclass{scrlttr2}
usepackage[francais]{babel}
usepackage[utf8]{inputenc}
usepackage{hyperref}
% usepackage{showframe} % to show the page boundaries from https://tex.stackexchange.com/questions/298246/signatures-side-by-side
% usepackage{geometry}
% geometry{verbose,a4paper,lmargin=3cm,rmargin=3cm}
LoadLetterOption{visualize}
showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
%%%%%%%%%%%%%%%% HERE %%%%%%%%%%%%%%%%
% signature
%%%% test 1
% setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
%%%% test 2
% setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]{example-image}}% <- changed
%%%% test 3
% setkomavar{signature}{hspace{26em}
% begin{minipage}[t]{7cm}
% {Chef Abraracoursix,hfill \Un chef à toujours bras long.}
% end{minipage}}
%%%% test 4
setkomavar{signature}{
noindent parbox[t]{0.5linewidth}{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
}
%%%%%%%%%%%%%%%% above %%%%%%%%%%%%%%%%
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
% usepackage{setspace} usepackage{lipsum} setstretch{1.15}
% setlengthparskip{medskipamount}
% setlengthparindent{0pt}
% setstretch{1.15}
date{today}
makeatletter
% firsthead
setkomavar{firsthead}{{
usekomafont{fromaddress}
parbox[b]{useplength{firstheadwidth}}{
{usekomafont{fromname}usekomavar{fromname}}
hfill{usekomafont{placeanddate}
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}
\usekomavar{fromaddress}
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi
}}
}
makeatletter
%%%% TEST 0
% @setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
renewcommand*{raggedsignature}{raggedright}
hypersetup{
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité légendaire, nous vous invitons à festoyer avec nous sous le grand chêne, du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Idealy I would like
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
to work as expected with pseudo-lenght given in https://i.stack.imgur.com/D2tu3.png
koma-script letters scrlttr2
I'm trying to align the signature with the destination address in a french styled letter.
I could use the very good lettre class as mentioned in my previous question but I need to scrlttr2
to reuse the org-mode koma export back-end.
I tried setting the position with the following commands:
Test 0
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
Test 1
setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
Test 2
setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]
{example-image}}
Test 3
setkomavar{signature}{hspace{26em}
begin{minipage}[t]{7cm}
{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
end{minipage}}
But the signature is stuck to the left.
Here is my full code and the result I'm looking for.
% Created 2019-04-08 lun. 11:20
% Intended LaTeX compiler: pdflatex
documentclass{scrlttr2}
usepackage[francais]{babel}
usepackage[utf8]{inputenc}
usepackage{hyperref}
% usepackage{showframe} % to show the page boundaries from https://tex.stackexchange.com/questions/298246/signatures-side-by-side
% usepackage{geometry}
% geometry{verbose,a4paper,lmargin=3cm,rmargin=3cm}
LoadLetterOption{visualize}
showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
%%%%%%%%%%%%%%%% HERE %%%%%%%%%%%%%%%%
% signature
%%%% test 1
% setkomavar{signature}{Chef Abraracoursix,\Un chef à toujours bras long.}
%%%% test 2
% setkomavar{signature}{hspace{26em}includegraphics[width=2.5cm]{example-image}}% <- changed
%%%% test 3
% setkomavar{signature}{hspace{26em}
% begin{minipage}[t]{7cm}
% {Chef Abraracoursix,hfill \Un chef à toujours bras long.}
% end{minipage}}
%%%% test 4
setkomavar{signature}{
noindent parbox[t]{0.5linewidth}{Chef Abraracoursix,hfill \Un chef à toujours bras long.}
}
%%%%%%%%%%%%%%%% above %%%%%%%%%%%%%%%%
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
% usepackage{setspace} usepackage{lipsum} setstretch{1.15}
% setlengthparskip{medskipamount}
% setlengthparindent{0pt}
% setstretch{1.15}
date{today}
makeatletter
% firsthead
setkomavar{firsthead}{{
usekomafont{fromaddress}
parbox[b]{useplength{firstheadwidth}}{
{usekomafont{fromname}usekomavar{fromname}}
hfill{usekomafont{placeanddate}
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}
\usekomavar{fromaddress}
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi
}}
}
makeatletter
%%%% TEST 0
% @setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
renewcommand*{raggedsignature}{raggedright}
hypersetup{
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité légendaire, nous vous invitons à festoyer avec nous sous le grand chêne, du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Idealy I would like
makeatletter
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}}
makeatother
to work as expected with pseudo-lenght given in https://i.stack.imgur.com/D2tu3.png
koma-script letters scrlttr2
koma-script letters scrlttr2
edited 7 hours ago
Kurt
41k950164
41k950164
asked 21 hours ago
Malik KonéMalik Koné
354
354
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You calculation -useplength{refhpos}+useplength{toaddhpos}
does not result in a value, that moves the signature to the middle of the text area.
In your example the value of refhpos
is 0pt and the value of toaddrhpos
is -10mm (given by NF.lco
). Your
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}
(I've remove one }
, which was to much), would result in an sigindent
of -10mm. This would result in a position 10mm left to the left edge of the text area. So it is not what you want.
The image you've linked (which is figure 22.1 of the current KOMA-Script manual), is about address fields at the left side. You are using an address field on the right side. So toaddrhpos
is the distance from the right paper edge to the right address field edge. It is negative (as told above). The refhpos
has nothing to do with the position of the address field.
Please have a look into table 22.1 in part II of the KOMA-Script manual and into the descriptions of the pseudo length in section 22.1 to see, how the values of toaddhpos
, refhpos
and sigindent
are interpreted by scrlttr2
.
You may try something like:
setplength{sigindent}{.5textwidth}
Or a more complicate but correct calculation:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
Note: This does only work for toaddrhpos
< 0.
paperwidth+useplenth{toaddrhpos}
is the position of the right edge of the address field relative to the left edge of the paper. Subtracting useplength{toaddrwidth}
results in the left edge of the address field relative to the left edge of the paper. Adding useplength{toaddrindent}
results in the left edge of the address relative to the left edge of the paper. But sigindent
is relative to the left edge of the text area not the paper. So we have to subtract the left margin, which is (in oneside documents for all pages) oddsidemargin+1in
.
Note: Since KOMA-Script 3.26 setplength
instead of @setplength
is recommended. @setplength
is an internal command now. You should not longer use it.
Here is an example, that illustrates the calculation:
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{eso-pic,picture,xcolor}% for demonstration only
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
% Show the calculation (for demonstration only)
AddToShipoutPicture{%
AtPageUpperLeft{%
color{red}%
footnotesize
put(0,-useplength{toaddrvpos}){%
vector(1,0){dimexprpaperwidth+useplength{toaddrhpos}relax}%
}%
put(0,-useplength{toaddrvpos}){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}relax,htstrutbox)[cb]{ttfamilydetokenize{paperwidth+useplength{toaddrhpos}}}%
}%
color{red!80!blue!80}%
put(dimexprpaperwidth+useplength{toaddrhpos}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
vector(-1,0){useplength{toaddrwidth}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
makebox(useplength{toaddrwidth},htstrutbox)[cb]{ttfamilydetokenize{useplength{toaddrwidth}}}%
}%
color{red!60!blue!60}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
vector(1,0){useplength{toaddrindent}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
makebox(useplength{toaddrindent},htstrutbox){%
ttfamilydetokenize{useplength{toaddrindent}}%
}%
}%
color{green}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
vector(1,0){%
dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax
}%
}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax,htstrutbox)[lb]{%
detokenize{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}%
}%
}%
color{blue}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}relax,0){%
line(0,-1){paperheight}%
}%
}%
}
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
makeatletter
renewcommand*{closing}[1]{{%
setparsizes{z@}{z@}{z@ plus 1fil}par@updaterelativenobreakpar
nobreakvskipbaselineskip
stopbreaksnoindent
settowidth{@tempdima}{%
begin{tabular}{@{}l@{}}%
#1tabularnewline
usekomavar{signature}tabularnewline
end{tabular}%
}%
setlength{@tempdimb}{hsize}%
addtolength{@tempdimb}{-useplength{sigindent}}%
ifdim@tempdima>@tempdimbsetlength{@tempdima}{@tempdimb}fi
hspace{useplength{sigindent}}%
parbox{@tempdima}{raggedsignaturestrutignorespaces
#1ifhmodescr@endstrut\[useplength{sigbeforevskip}]
elsevskip useplength{sigbeforevskip}fi
strutignorespaces
usekomavar{signature}ifhmodescr@endstrutfi}}par
nobreakvskipbaselineskip
}
makeatother
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Note, there were several other issues with your code:
usepackage[francais]{babel}
is deprecated. Current babel
warns:
Package francais.ldf Warning: Option `francais' for Babel is *deprecated*,
(francais.ldf) it might be removed sooner or later. Please
(francais.ldf) use `french' instead; reported on input line 31.
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
is wrong. KOMAoption
has two arguments. The first one is an option key, the second is a list of option values.
To help users to find out what's wrong, the current prerelease of KOMA-Script shows the following error message with your wrong usage of KOMAoption
:
./test.tex:28: Package scrbase Error: syntax error in key ` ,foldmarks=false ,r
efline=nodate ,subject=titled ,fromemail=false ,fromlogo=false ,fromphone=false
,fromurl=false ,backaddress=false ,foldmarks=false '.
See the scrbase package documentation for explanation.
Type H <return> for immediate help.
...
l.28 }
You've used `...Option' to set the key ` ,foldmarks=false ,refline=nodate ,sub
ject=titled ,fromemail=false ,fromlogo=false ,fromphone=false ,fromurl=false ,b
ackaddress=false ,foldmarks=false '
to new value(s), but `,' is not allowed in the key of an option
(and `...Option' does not use `,' to separate several keys).
Maybe you've meant ...Options instead of ...Option.
If you'll continue, I'll give it a try, but you should expect further
and even strange error messages.
As the help text of the error message explains:
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
would be correct.
Your definition of firsthead
adds several significant but unwanted white spaces. See What is the use of percent signs (%) at the end of lines? for more information how to avoid them.
Last but not least, you have a
makeatletter
instead of
makeatletter
in your document preamble.
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
As I told you: Your calculationrefhpos
+toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.
– Schweinebacke
7 hours ago
add a comment |
The problem here is that pseudolength toaddrhpos
is set in NF.lco
to a negative value of -10mm
with command @setplength{toaddrhpos}{-10mm}
.
That means that the value of 10mm
is not the value between left paper side and address field, it is the value between the right paper side and the adress box. Usually the adress box is printed first (on the left side of the paper) and the location box follows then. With file NF-lco
that changed as you already showed in your picture in your question.
sigindent
is always calculated from the left side of the typing area, so you have to calculate the needed value for sigindent
by yourself.
One possibility is:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}}
That means we calculate the paperwidth
minus toaddrhpos
(because its value is already minus we have to use plus here) minus toaddrwidth
minus refhpos
minus two times toaddrindent
.
With that calculation in your corrected given code
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}} % <===============
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
you get the following result:
It seems there is a difference of 5pt
too much I do not know where it comes from (rounding errors, an indent I did not saw?). In the case of this mwe you can add them to the calculation with:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}-5pt}
1
Your calculation is wrong.todaddrindent
has to be added not subtracted.refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, thattoaddhpos
is relative to the paper edge whilesigindent
is relative to the text area edge. So again for the correct value see my answer.
– Schweinebacke
7 hours ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483809%2fthe-scrlttr2-signature-position-with-koma-script-pseudolength-sigindent%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You calculation -useplength{refhpos}+useplength{toaddhpos}
does not result in a value, that moves the signature to the middle of the text area.
In your example the value of refhpos
is 0pt and the value of toaddrhpos
is -10mm (given by NF.lco
). Your
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}
(I've remove one }
, which was to much), would result in an sigindent
of -10mm. This would result in a position 10mm left to the left edge of the text area. So it is not what you want.
The image you've linked (which is figure 22.1 of the current KOMA-Script manual), is about address fields at the left side. You are using an address field on the right side. So toaddrhpos
is the distance from the right paper edge to the right address field edge. It is negative (as told above). The refhpos
has nothing to do with the position of the address field.
Please have a look into table 22.1 in part II of the KOMA-Script manual and into the descriptions of the pseudo length in section 22.1 to see, how the values of toaddhpos
, refhpos
and sigindent
are interpreted by scrlttr2
.
You may try something like:
setplength{sigindent}{.5textwidth}
Or a more complicate but correct calculation:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
Note: This does only work for toaddrhpos
< 0.
paperwidth+useplenth{toaddrhpos}
is the position of the right edge of the address field relative to the left edge of the paper. Subtracting useplength{toaddrwidth}
results in the left edge of the address field relative to the left edge of the paper. Adding useplength{toaddrindent}
results in the left edge of the address relative to the left edge of the paper. But sigindent
is relative to the left edge of the text area not the paper. So we have to subtract the left margin, which is (in oneside documents for all pages) oddsidemargin+1in
.
Note: Since KOMA-Script 3.26 setplength
instead of @setplength
is recommended. @setplength
is an internal command now. You should not longer use it.
Here is an example, that illustrates the calculation:
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{eso-pic,picture,xcolor}% for demonstration only
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
% Show the calculation (for demonstration only)
AddToShipoutPicture{%
AtPageUpperLeft{%
color{red}%
footnotesize
put(0,-useplength{toaddrvpos}){%
vector(1,0){dimexprpaperwidth+useplength{toaddrhpos}relax}%
}%
put(0,-useplength{toaddrvpos}){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}relax,htstrutbox)[cb]{ttfamilydetokenize{paperwidth+useplength{toaddrhpos}}}%
}%
color{red!80!blue!80}%
put(dimexprpaperwidth+useplength{toaddrhpos}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
vector(-1,0){useplength{toaddrwidth}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
makebox(useplength{toaddrwidth},htstrutbox)[cb]{ttfamilydetokenize{useplength{toaddrwidth}}}%
}%
color{red!60!blue!60}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
vector(1,0){useplength{toaddrindent}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
makebox(useplength{toaddrindent},htstrutbox){%
ttfamilydetokenize{useplength{toaddrindent}}%
}%
}%
color{green}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
vector(1,0){%
dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax
}%
}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax,htstrutbox)[lb]{%
detokenize{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}%
}%
}%
color{blue}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}relax,0){%
line(0,-1){paperheight}%
}%
}%
}
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
makeatletter
renewcommand*{closing}[1]{{%
setparsizes{z@}{z@}{z@ plus 1fil}par@updaterelativenobreakpar
nobreakvskipbaselineskip
stopbreaksnoindent
settowidth{@tempdima}{%
begin{tabular}{@{}l@{}}%
#1tabularnewline
usekomavar{signature}tabularnewline
end{tabular}%
}%
setlength{@tempdimb}{hsize}%
addtolength{@tempdimb}{-useplength{sigindent}}%
ifdim@tempdima>@tempdimbsetlength{@tempdima}{@tempdimb}fi
hspace{useplength{sigindent}}%
parbox{@tempdima}{raggedsignaturestrutignorespaces
#1ifhmodescr@endstrut\[useplength{sigbeforevskip}]
elsevskip useplength{sigbeforevskip}fi
strutignorespaces
usekomavar{signature}ifhmodescr@endstrutfi}}par
nobreakvskipbaselineskip
}
makeatother
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Note, there were several other issues with your code:
usepackage[francais]{babel}
is deprecated. Current babel
warns:
Package francais.ldf Warning: Option `francais' for Babel is *deprecated*,
(francais.ldf) it might be removed sooner or later. Please
(francais.ldf) use `french' instead; reported on input line 31.
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
is wrong. KOMAoption
has two arguments. The first one is an option key, the second is a list of option values.
To help users to find out what's wrong, the current prerelease of KOMA-Script shows the following error message with your wrong usage of KOMAoption
:
./test.tex:28: Package scrbase Error: syntax error in key ` ,foldmarks=false ,r
efline=nodate ,subject=titled ,fromemail=false ,fromlogo=false ,fromphone=false
,fromurl=false ,backaddress=false ,foldmarks=false '.
See the scrbase package documentation for explanation.
Type H <return> for immediate help.
...
l.28 }
You've used `...Option' to set the key ` ,foldmarks=false ,refline=nodate ,sub
ject=titled ,fromemail=false ,fromlogo=false ,fromphone=false ,fromurl=false ,b
ackaddress=false ,foldmarks=false '
to new value(s), but `,' is not allowed in the key of an option
(and `...Option' does not use `,' to separate several keys).
Maybe you've meant ...Options instead of ...Option.
If you'll continue, I'll give it a try, but you should expect further
and even strange error messages.
As the help text of the error message explains:
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
would be correct.
Your definition of firsthead
adds several significant but unwanted white spaces. See What is the use of percent signs (%) at the end of lines? for more information how to avoid them.
Last but not least, you have a
makeatletter
instead of
makeatletter
in your document preamble.
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
As I told you: Your calculationrefhpos
+toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.
– Schweinebacke
7 hours ago
add a comment |
You calculation -useplength{refhpos}+useplength{toaddhpos}
does not result in a value, that moves the signature to the middle of the text area.
In your example the value of refhpos
is 0pt and the value of toaddrhpos
is -10mm (given by NF.lco
). Your
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}
(I've remove one }
, which was to much), would result in an sigindent
of -10mm. This would result in a position 10mm left to the left edge of the text area. So it is not what you want.
The image you've linked (which is figure 22.1 of the current KOMA-Script manual), is about address fields at the left side. You are using an address field on the right side. So toaddrhpos
is the distance from the right paper edge to the right address field edge. It is negative (as told above). The refhpos
has nothing to do with the position of the address field.
Please have a look into table 22.1 in part II of the KOMA-Script manual and into the descriptions of the pseudo length in section 22.1 to see, how the values of toaddhpos
, refhpos
and sigindent
are interpreted by scrlttr2
.
You may try something like:
setplength{sigindent}{.5textwidth}
Or a more complicate but correct calculation:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
Note: This does only work for toaddrhpos
< 0.
paperwidth+useplenth{toaddrhpos}
is the position of the right edge of the address field relative to the left edge of the paper. Subtracting useplength{toaddrwidth}
results in the left edge of the address field relative to the left edge of the paper. Adding useplength{toaddrindent}
results in the left edge of the address relative to the left edge of the paper. But sigindent
is relative to the left edge of the text area not the paper. So we have to subtract the left margin, which is (in oneside documents for all pages) oddsidemargin+1in
.
Note: Since KOMA-Script 3.26 setplength
instead of @setplength
is recommended. @setplength
is an internal command now. You should not longer use it.
Here is an example, that illustrates the calculation:
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{eso-pic,picture,xcolor}% for demonstration only
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
% Show the calculation (for demonstration only)
AddToShipoutPicture{%
AtPageUpperLeft{%
color{red}%
footnotesize
put(0,-useplength{toaddrvpos}){%
vector(1,0){dimexprpaperwidth+useplength{toaddrhpos}relax}%
}%
put(0,-useplength{toaddrvpos}){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}relax,htstrutbox)[cb]{ttfamilydetokenize{paperwidth+useplength{toaddrhpos}}}%
}%
color{red!80!blue!80}%
put(dimexprpaperwidth+useplength{toaddrhpos}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
vector(-1,0){useplength{toaddrwidth}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
makebox(useplength{toaddrwidth},htstrutbox)[cb]{ttfamilydetokenize{useplength{toaddrwidth}}}%
}%
color{red!60!blue!60}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
vector(1,0){useplength{toaddrindent}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
makebox(useplength{toaddrindent},htstrutbox){%
ttfamilydetokenize{useplength{toaddrindent}}%
}%
}%
color{green}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
vector(1,0){%
dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax
}%
}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax,htstrutbox)[lb]{%
detokenize{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}%
}%
}%
color{blue}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}relax,0){%
line(0,-1){paperheight}%
}%
}%
}
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
makeatletter
renewcommand*{closing}[1]{{%
setparsizes{z@}{z@}{z@ plus 1fil}par@updaterelativenobreakpar
nobreakvskipbaselineskip
stopbreaksnoindent
settowidth{@tempdima}{%
begin{tabular}{@{}l@{}}%
#1tabularnewline
usekomavar{signature}tabularnewline
end{tabular}%
}%
setlength{@tempdimb}{hsize}%
addtolength{@tempdimb}{-useplength{sigindent}}%
ifdim@tempdima>@tempdimbsetlength{@tempdima}{@tempdimb}fi
hspace{useplength{sigindent}}%
parbox{@tempdima}{raggedsignaturestrutignorespaces
#1ifhmodescr@endstrut\[useplength{sigbeforevskip}]
elsevskip useplength{sigbeforevskip}fi
strutignorespaces
usekomavar{signature}ifhmodescr@endstrutfi}}par
nobreakvskipbaselineskip
}
makeatother
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Note, there were several other issues with your code:
usepackage[francais]{babel}
is deprecated. Current babel
warns:
Package francais.ldf Warning: Option `francais' for Babel is *deprecated*,
(francais.ldf) it might be removed sooner or later. Please
(francais.ldf) use `french' instead; reported on input line 31.
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
is wrong. KOMAoption
has two arguments. The first one is an option key, the second is a list of option values.
To help users to find out what's wrong, the current prerelease of KOMA-Script shows the following error message with your wrong usage of KOMAoption
:
./test.tex:28: Package scrbase Error: syntax error in key ` ,foldmarks=false ,r
efline=nodate ,subject=titled ,fromemail=false ,fromlogo=false ,fromphone=false
,fromurl=false ,backaddress=false ,foldmarks=false '.
See the scrbase package documentation for explanation.
Type H <return> for immediate help.
...
l.28 }
You've used `...Option' to set the key ` ,foldmarks=false ,refline=nodate ,sub
ject=titled ,fromemail=false ,fromlogo=false ,fromphone=false ,fromurl=false ,b
ackaddress=false ,foldmarks=false '
to new value(s), but `,' is not allowed in the key of an option
(and `...Option' does not use `,' to separate several keys).
Maybe you've meant ...Options instead of ...Option.
If you'll continue, I'll give it a try, but you should expect further
and even strange error messages.
As the help text of the error message explains:
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
would be correct.
Your definition of firsthead
adds several significant but unwanted white spaces. See What is the use of percent signs (%) at the end of lines? for more information how to avoid them.
Last but not least, you have a
makeatletter
instead of
makeatletter
in your document preamble.
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
As I told you: Your calculationrefhpos
+toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.
– Schweinebacke
7 hours ago
add a comment |
You calculation -useplength{refhpos}+useplength{toaddhpos}
does not result in a value, that moves the signature to the middle of the text area.
In your example the value of refhpos
is 0pt and the value of toaddrhpos
is -10mm (given by NF.lco
). Your
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}
(I've remove one }
, which was to much), would result in an sigindent
of -10mm. This would result in a position 10mm left to the left edge of the text area. So it is not what you want.
The image you've linked (which is figure 22.1 of the current KOMA-Script manual), is about address fields at the left side. You are using an address field on the right side. So toaddrhpos
is the distance from the right paper edge to the right address field edge. It is negative (as told above). The refhpos
has nothing to do with the position of the address field.
Please have a look into table 22.1 in part II of the KOMA-Script manual and into the descriptions of the pseudo length in section 22.1 to see, how the values of toaddhpos
, refhpos
and sigindent
are interpreted by scrlttr2
.
You may try something like:
setplength{sigindent}{.5textwidth}
Or a more complicate but correct calculation:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
Note: This does only work for toaddrhpos
< 0.
paperwidth+useplenth{toaddrhpos}
is the position of the right edge of the address field relative to the left edge of the paper. Subtracting useplength{toaddrwidth}
results in the left edge of the address field relative to the left edge of the paper. Adding useplength{toaddrindent}
results in the left edge of the address relative to the left edge of the paper. But sigindent
is relative to the left edge of the text area not the paper. So we have to subtract the left margin, which is (in oneside documents for all pages) oddsidemargin+1in
.
Note: Since KOMA-Script 3.26 setplength
instead of @setplength
is recommended. @setplength
is an internal command now. You should not longer use it.
Here is an example, that illustrates the calculation:
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{eso-pic,picture,xcolor}% for demonstration only
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
% Show the calculation (for demonstration only)
AddToShipoutPicture{%
AtPageUpperLeft{%
color{red}%
footnotesize
put(0,-useplength{toaddrvpos}){%
vector(1,0){dimexprpaperwidth+useplength{toaddrhpos}relax}%
}%
put(0,-useplength{toaddrvpos}){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}relax,htstrutbox)[cb]{ttfamilydetokenize{paperwidth+useplength{toaddrhpos}}}%
}%
color{red!80!blue!80}%
put(dimexprpaperwidth+useplength{toaddrhpos}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
vector(-1,0){useplength{toaddrwidth}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
makebox(useplength{toaddrwidth},htstrutbox)[cb]{ttfamilydetokenize{useplength{toaddrwidth}}}%
}%
color{red!60!blue!60}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
vector(1,0){useplength{toaddrindent}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
makebox(useplength{toaddrindent},htstrutbox){%
ttfamilydetokenize{useplength{toaddrindent}}%
}%
}%
color{green}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
vector(1,0){%
dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax
}%
}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax,htstrutbox)[lb]{%
detokenize{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}%
}%
}%
color{blue}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}relax,0){%
line(0,-1){paperheight}%
}%
}%
}
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
makeatletter
renewcommand*{closing}[1]{{%
setparsizes{z@}{z@}{z@ plus 1fil}par@updaterelativenobreakpar
nobreakvskipbaselineskip
stopbreaksnoindent
settowidth{@tempdima}{%
begin{tabular}{@{}l@{}}%
#1tabularnewline
usekomavar{signature}tabularnewline
end{tabular}%
}%
setlength{@tempdimb}{hsize}%
addtolength{@tempdimb}{-useplength{sigindent}}%
ifdim@tempdima>@tempdimbsetlength{@tempdima}{@tempdimb}fi
hspace{useplength{sigindent}}%
parbox{@tempdima}{raggedsignaturestrutignorespaces
#1ifhmodescr@endstrut\[useplength{sigbeforevskip}]
elsevskip useplength{sigbeforevskip}fi
strutignorespaces
usekomavar{signature}ifhmodescr@endstrutfi}}par
nobreakvskipbaselineskip
}
makeatother
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Note, there were several other issues with your code:
usepackage[francais]{babel}
is deprecated. Current babel
warns:
Package francais.ldf Warning: Option `francais' for Babel is *deprecated*,
(francais.ldf) it might be removed sooner or later. Please
(francais.ldf) use `french' instead; reported on input line 31.
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
is wrong. KOMAoption
has two arguments. The first one is an option key, the second is a list of option values.
To help users to find out what's wrong, the current prerelease of KOMA-Script shows the following error message with your wrong usage of KOMAoption
:
./test.tex:28: Package scrbase Error: syntax error in key ` ,foldmarks=false ,r
efline=nodate ,subject=titled ,fromemail=false ,fromlogo=false ,fromphone=false
,fromurl=false ,backaddress=false ,foldmarks=false '.
See the scrbase package documentation for explanation.
Type H <return> for immediate help.
...
l.28 }
You've used `...Option' to set the key ` ,foldmarks=false ,refline=nodate ,sub
ject=titled ,fromemail=false ,fromlogo=false ,fromphone=false ,fromurl=false ,b
ackaddress=false ,foldmarks=false '
to new value(s), but `,' is not allowed in the key of an option
(and `...Option' does not use `,' to separate several keys).
Maybe you've meant ...Options instead of ...Option.
If you'll continue, I'll give it a try, but you should expect further
and even strange error messages.
As the help text of the error message explains:
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
would be correct.
Your definition of firsthead
adds several significant but unwanted white spaces. See What is the use of percent signs (%) at the end of lines? for more information how to avoid them.
Last but not least, you have a
makeatletter
instead of
makeatletter
in your document preamble.
You calculation -useplength{refhpos}+useplength{toaddhpos}
does not result in a value, that moves the signature to the middle of the text area.
In your example the value of refhpos
is 0pt and the value of toaddrhpos
is -10mm (given by NF.lco
). Your
@setplength{sigindent}{-useplength{refhpos}+useplength{toaddrhpos}}
(I've remove one }
, which was to much), would result in an sigindent
of -10mm. This would result in a position 10mm left to the left edge of the text area. So it is not what you want.
The image you've linked (which is figure 22.1 of the current KOMA-Script manual), is about address fields at the left side. You are using an address field on the right side. So toaddrhpos
is the distance from the right paper edge to the right address field edge. It is negative (as told above). The refhpos
has nothing to do with the position of the address field.
Please have a look into table 22.1 in part II of the KOMA-Script manual and into the descriptions of the pseudo length in section 22.1 to see, how the values of toaddhpos
, refhpos
and sigindent
are interpreted by scrlttr2
.
You may try something like:
setplength{sigindent}{.5textwidth}
Or a more complicate but correct calculation:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
Note: This does only work for toaddrhpos
< 0.
paperwidth+useplenth{toaddrhpos}
is the position of the right edge of the address field relative to the left edge of the paper. Subtracting useplength{toaddrwidth}
results in the left edge of the address field relative to the left edge of the paper. Adding useplength{toaddrindent}
results in the left edge of the address relative to the left edge of the paper. But sigindent
is relative to the left edge of the text area not the paper. So we have to subtract the left margin, which is (in oneside documents for all pages) oddsidemargin+1in
.
Note: Since KOMA-Script 3.26 setplength
instead of @setplength
is recommended. @setplength
is an internal command now. You should not longer use it.
Here is an example, that illustrates the calculation:
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{eso-pic,picture,xcolor}% for demonstration only
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}
% Show the calculation (for demonstration only)
AddToShipoutPicture{%
AtPageUpperLeft{%
color{red}%
footnotesize
put(0,-useplength{toaddrvpos}){%
vector(1,0){dimexprpaperwidth+useplength{toaddrhpos}relax}%
}%
put(0,-useplength{toaddrvpos}){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}relax,htstrutbox)[cb]{ttfamilydetokenize{paperwidth+useplength{toaddrhpos}}}%
}%
color{red!80!blue!80}%
put(dimexprpaperwidth+useplength{toaddrhpos}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
vector(-1,0){useplength{toaddrwidth}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutboxrelax){%
makebox(useplength{toaddrwidth},htstrutbox)[cb]{ttfamilydetokenize{useplength{toaddrwidth}}}%
}%
color{red!60!blue!60}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
vector(1,0){useplength{toaddrindent}}%
}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}relax,-dimexpruseplength{toaddrvpos}+htstrutbox*2relax){%
makebox(useplength{toaddrindent},htstrutbox){%
ttfamilydetokenize{useplength{toaddrindent}}%
}%
}%
color{green}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
vector(1,0){%
dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax
}%
}%
put(dimexproddsidemargin+1inrelax,
-dimexpruseplength{toaddrvpos}+2cmrelax){%
makebox(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1inrelax,htstrutbox)[lb]{%
detokenize{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}-oddsidemargin-1in}%
}%
}%
color{blue}%
put(dimexprpaperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}+useplength{toaddrindent}relax,0){%
line(0,-1){paperheight}%
}%
}%
}
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
makeatletter
renewcommand*{closing}[1]{{%
setparsizes{z@}{z@}{z@ plus 1fil}par@updaterelativenobreakpar
nobreakvskipbaselineskip
stopbreaksnoindent
settowidth{@tempdima}{%
begin{tabular}{@{}l@{}}%
#1tabularnewline
usekomavar{signature}tabularnewline
end{tabular}%
}%
setlength{@tempdimb}{hsize}%
addtolength{@tempdimb}{-useplength{sigindent}}%
ifdim@tempdima>@tempdimbsetlength{@tempdima}{@tempdimb}fi
hspace{useplength{sigindent}}%
parbox{@tempdima}{raggedsignaturestrutignorespaces
#1ifhmodescr@endstrut\[useplength{sigbeforevskip}]
elsevskip useplength{sigbeforevskip}fi
strutignorespaces
usekomavar{signature}ifhmodescr@endstrutfi}}par
nobreakvskipbaselineskip
}
makeatother
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
Note, there were several other issues with your code:
usepackage[francais]{babel}
is deprecated. Current babel
warns:
Package francais.ldf Warning: Option `francais' for Babel is *deprecated*,
(francais.ldf) it might be removed sooner or later. Please
(francais.ldf) use `french' instead; reported on input line 31.
KOMAoption{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
is wrong. KOMAoption
has two arguments. The first one is an option key, the second is a list of option values.
To help users to find out what's wrong, the current prerelease of KOMA-Script shows the following error message with your wrong usage of KOMAoption
:
./test.tex:28: Package scrbase Error: syntax error in key ` ,foldmarks=false ,r
efline=nodate ,subject=titled ,fromemail=false ,fromlogo=false ,fromphone=false
,fromurl=false ,backaddress=false ,foldmarks=false '.
See the scrbase package documentation for explanation.
Type H <return> for immediate help.
...
l.28 }
You've used `...Option' to set the key ` ,foldmarks=false ,refline=nodate ,sub
ject=titled ,fromemail=false ,fromlogo=false ,fromphone=false ,fromurl=false ,b
ackaddress=false ,foldmarks=false '
to new value(s), but `,' is not allowed in the key of an option
(and `...Option' does not use `,' to separate several keys).
Maybe you've meant ...Options instead of ...Option.
If you'll continue, I'll give it a try, but you should expect further
and even strange error messages.
As the help text of the error message explains:
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
would be correct.
Your definition of firsthead
adds several significant but unwanted white spaces. See What is the use of percent signs (%) at the end of lines? for more information how to avoid them.
Last but not least, you have a
makeatletter
instead of
makeatletter
in your document preamble.
edited 6 hours ago
answered 19 hours ago
SchweinebackeSchweinebacke
22.4k4577
22.4k4577
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
As I told you: Your calculationrefhpos
+toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.
– Schweinebacke
7 hours ago
add a comment |
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
As I told you: Your calculationrefhpos
+toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.
– Schweinebacke
7 hours ago
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
I provided the link to the pseudo-lengths i.stack.imgur.com/D2tu3.png for a letter where what I want is clearly - refhpos + toaddhpos. What I don't understand is why all the above command have not impact on my signature's position.
– Malik Koné
16 hours ago
1
1
As I told you: Your calculation
refhpos
+ toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.– Schweinebacke
7 hours ago
As I told you: Your calculation
refhpos
+ toaddhpos
results in -10mm which is wrong. Try the two suggestions I made. The second one should be exactly what you are searching for. BTW: The picture is from the KOMA-Script manual. I know that picture.– Schweinebacke
7 hours ago
add a comment |
The problem here is that pseudolength toaddrhpos
is set in NF.lco
to a negative value of -10mm
with command @setplength{toaddrhpos}{-10mm}
.
That means that the value of 10mm
is not the value between left paper side and address field, it is the value between the right paper side and the adress box. Usually the adress box is printed first (on the left side of the paper) and the location box follows then. With file NF-lco
that changed as you already showed in your picture in your question.
sigindent
is always calculated from the left side of the typing area, so you have to calculate the needed value for sigindent
by yourself.
One possibility is:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}}
That means we calculate the paperwidth
minus toaddrhpos
(because its value is already minus we have to use plus here) minus toaddrwidth
minus refhpos
minus two times toaddrindent
.
With that calculation in your corrected given code
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}} % <===============
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
you get the following result:
It seems there is a difference of 5pt
too much I do not know where it comes from (rounding errors, an indent I did not saw?). In the case of this mwe you can add them to the calculation with:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}-5pt}
1
Your calculation is wrong.todaddrindent
has to be added not subtracted.refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, thattoaddhpos
is relative to the paper edge whilesigindent
is relative to the text area edge. So again for the correct value see my answer.
– Schweinebacke
7 hours ago
add a comment |
The problem here is that pseudolength toaddrhpos
is set in NF.lco
to a negative value of -10mm
with command @setplength{toaddrhpos}{-10mm}
.
That means that the value of 10mm
is not the value between left paper side and address field, it is the value between the right paper side and the adress box. Usually the adress box is printed first (on the left side of the paper) and the location box follows then. With file NF-lco
that changed as you already showed in your picture in your question.
sigindent
is always calculated from the left side of the typing area, so you have to calculate the needed value for sigindent
by yourself.
One possibility is:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}}
That means we calculate the paperwidth
minus toaddrhpos
(because its value is already minus we have to use plus here) minus toaddrwidth
minus refhpos
minus two times toaddrindent
.
With that calculation in your corrected given code
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}} % <===============
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
you get the following result:
It seems there is a difference of 5pt
too much I do not know where it comes from (rounding errors, an indent I did not saw?). In the case of this mwe you can add them to the calculation with:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}-5pt}
1
Your calculation is wrong.todaddrindent
has to be added not subtracted.refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, thattoaddhpos
is relative to the paper edge whilesigindent
is relative to the text area edge. So again for the correct value see my answer.
– Schweinebacke
7 hours ago
add a comment |
The problem here is that pseudolength toaddrhpos
is set in NF.lco
to a negative value of -10mm
with command @setplength{toaddrhpos}{-10mm}
.
That means that the value of 10mm
is not the value between left paper side and address field, it is the value between the right paper side and the adress box. Usually the adress box is printed first (on the left side of the paper) and the location box follows then. With file NF-lco
that changed as you already showed in your picture in your question.
sigindent
is always calculated from the left side of the typing area, so you have to calculate the needed value for sigindent
by yourself.
One possibility is:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}}
That means we calculate the paperwidth
minus toaddrhpos
(because its value is already minus we have to use plus here) minus toaddrwidth
minus refhpos
minus two times toaddrindent
.
With that calculation in your corrected given code
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}} % <===============
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
you get the following result:
It seems there is a difference of 5pt
too much I do not know where it comes from (rounding errors, an indent I did not saw?). In the case of this mwe you can add them to the calculation with:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}-5pt}
The problem here is that pseudolength toaddrhpos
is set in NF.lco
to a negative value of -10mm
with command @setplength{toaddrhpos}{-10mm}
.
That means that the value of 10mm
is not the value between left paper side and address field, it is the value between the right paper side and the adress box. Usually the adress box is printed first (on the left side of the paper) and the location box follows then. With file NF-lco
that changed as you already showed in your picture in your question.
sigindent
is always calculated from the left side of the typing area, so you have to calculate the needed value for sigindent
by yourself.
One possibility is:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}}
That means we calculate the paperwidth
minus toaddrhpos
(because its value is already minus we have to use plus here) minus toaddrwidth
minus refhpos
minus two times toaddrindent
.
With that calculation in your corrected given code
documentclass[%
paper=a4,
fontsize=11pt,
french,
]{scrlttr2}
usepackage{babel}
usepackage[T1]{fontenc}
usepackage[utf8]{inputenc}
usepackage{hyperref}
%LoadLetterOption{visualize}
%showfields{head,foot,address,location,refline}
LoadLetterOption{NF}
renewcaptionname{french}{subjectname}{Objet}
renewcaptionname{french}{ccname}{C.c.}
KOMAoptions{
,foldmarks=false
,refline=nodate
,subject=titled
,fromemail=false
,fromlogo=false
,fromphone=false
,fromurl=false
,backaddress=false
,foldmarks=false
}
% from name
setkomavar{fromname}{Chef Abraracoursix}
setkomafont{fromname}{scshape}
setkomavar{signature}{noindent Chef Abraracoursix,\Un chef à toujours bras long.}
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}} % <===============
% from adress
setkomavar{fromaddress}{Place du village,\Erqy,\Armorique}
setkomafont{fromaddress}{small}
% place and location
setkomavar{place}{Erqy}
setkomavar{placeseparator}{, le }
% other komavar
setkomavar{ccseparator}{}
setkomavar*{ccseparator}{llap{ccnamequad}}
date{today}
% firsthead
setkomavar{firsthead}{%
usekomafont{fromaddress}%
parbox[b]{useplength{firstheadwidth}}{%
{usekomafont{fromname}usekomavar{fromname}}%
hfill{%
usekomafont{placeanddate}%
ifkomavarempty{place}{}{usekomavar{place}usekomavar{placeseparator}}
usekomavar{date}
}%
\usekomavar{fromaddress}%
medskip
if@phone\usekomavar*{fromphone}usekomavar{fromphone}fi%
if@mobilephone\usekomavar*{frommobilephone}usekomavar{frommobilephone}fi%
if@fax\usekomavar*{fromfax}usekomavar{fromfax}fi%
if@email\usekomavar*{fromemail}usekomavar{fromemail}fi%
if@www\usekomavar*{fromurl}usekomavar{fromurl}fi%
}%
}
renewcommand*{raggedsignature}{raggedright}
hypersetup{%
pdfauthor={Chef Abraracoursix},
pdftitle={Invitation pour une banquet au sanglier Roti},
pdfcreator={Emacs 26.1 (Org mode 9.1.9)},
pdflang={French}
}
begin{document}
setkomavar{subject}{Invitation pour une banquet au sanglier Roti}
begin{letter}{%
Capitaine Paulus Romanicus\
Camp de Babaorum
Bretany}
opening{Le Romain,}
Dans le cadre des rapports de bon voisinage et de notre hospitalité
légendaire, nous vous invitons à festoyer avec nous sous le grand chêne,
du coucher du soleil à l'aube, à la prochaine plein lune pour le mariage
de la belle Fabala et de vigourix.
closing{À la tienne !}
end{letter}
end{document}
you get the following result:
It seems there is a difference of 5pt
too much I do not know where it comes from (rounding errors, an indent I did not saw?). In the case of this mwe you can add them to the calculation with:
setplength{sigindent}{paperwidth+useplength{toaddrhpos}-useplength{toaddrwidth}-useplength{toaddrindent}-useplength{toaddrindent}-useplength{refhpos}-5pt}
answered 7 hours ago
KurtKurt
41k950164
41k950164
1
Your calculation is wrong.todaddrindent
has to be added not subtracted.refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, thattoaddhpos
is relative to the paper edge whilesigindent
is relative to the text area edge. So again for the correct value see my answer.
– Schweinebacke
7 hours ago
add a comment |
1
Your calculation is wrong.todaddrindent
has to be added not subtracted.refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, thattoaddhpos
is relative to the paper edge whilesigindent
is relative to the text area edge. So again for the correct value see my answer.
– Schweinebacke
7 hours ago
1
1
Your calculation is wrong.
todaddrindent
has to be added not subtracted. refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, that toaddhpos
is relative to the paper edge while sigindent
is relative to the text area edge. So again for the correct value see my answer.– Schweinebacke
7 hours ago
Your calculation is wrong.
todaddrindent
has to be added not subtracted. refhpos
has nothing to do with the position of the address (btw it is 0 as I told in my answer) and you have not take into account, that toaddhpos
is relative to the paper edge while sigindent
is relative to the text area edge. So again for the correct value see my answer.– Schweinebacke
7 hours ago
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483809%2fthe-scrlttr2-signature-position-with-koma-script-pseudolength-sigindent%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown