Portál AbcLinuxu, 3. listopadu 2025 14:37
\dvaobrazky.
Mohu ty obrázky například vložit do resizeboxu, nastavit jim stejnou výšku, vložit mezi ně mezeru a roztáhnout to na celou šířku, asi takto:
\newcommand{\dvaobrazky}[2]{
\resizebox{\linewidth}{!}{
\includegraphics[height=10cm]{#1}
\hskip10pt
\includegraphics[height=10cm]{#2}
}
}
což dá výsledek podobný požadovanému, ale velikost mezery se mění spolu s boxem, takže je to k ničemu.
Potom jsem přemýšlel, že bych si mohl všechno sám spočítat a naskládat vedle sebe, tedy obrázek1, pružná mezera, obrázek2. Spočítal bych společnou výšku, na kterou bych obrázky nastavil: výška=b1/(a1+a2*b1/b2) * (\linewidth - požadovaná mezera)
(a1/a2 jsou šířky obrázků, b1/b2 výšky obrázků).
Nevím ale, jak získat ty fyzické rozměry obrázků a jak to naskládat do LaTeXu, aby mi to spočítal.
A možná existuje ještě jiné, mnohem prostější, řešení…
Řešení dotazu:
\newbox\logobox
\setbox\logobox=\putepdf{height 17mm}{../logo/logo.epdf}
…
\hsize=\wd\logobox
Počítat jde pomocí \advance, \multiply, \divide.a
\newcommand\mycalc[1]{\directlua{tex.sprint(#1)}}
Příkaz \mycalc{} potom vytiskne přímo výsledek včetně desetinných míst, ale pokud do něj zadám dělení délkových jednotek, kde by se měly jednotky pokrátit a vyjít číslo, také to nefunguje...
\documentclass{article}
\newlength\A
\newlength\B
\newlength\C
\setlength\A{10pt}
\setlength\B{5pt}
\setlength\C{\dimexpr \numexpr \A * \A / \B \relax sp\relax}
\begin{document}
\the\C
\end{document}
Zdroj: https://tex.stackexchange.com/questions/372022/divide-two-lengths
\newlength{\sirkaa}
\newlength{\vyskaa}
\newlength{\sirkab}
\newlength{\vyskab}
\newlength{\vyska}
\newlength{\delitel}
\newlength{\sirkaradku}
\begin{document}
\lipsum[1]
\sirkaradku=\linewidth
\advance\sirkaradku -7pt %mezera mezi obrázky 7pt
\newbox\logobox
\setbox\logobox=\hbox{\includegraphics{example-landscape.jpg}}
\sirkaa=\wd\logobox
\vyskaa=\ht\logobox
\setbox\logobox=\hbox{\includegraphics{example-portrait.jpg}}
\sirkab=\wd\logobox
\vyskab=\ht\logobox
% delitel=sirkaa+sirkab*vyskaa/vyskab
\setlength\delitel{\dimexpr \numexpr \sirkab * \vyskaa / \vyskab + \sirkaa \relax sp\relax}
% vyska=vyskaa/delitel*sirkaradku
\setlength\vyska{\dimexpr \numexpr \vyskaa * \sirkaradku / \delitel \relax sp\relax}
\noindent\includegraphics[height=\vyska]{example-landscape.jpg}\hfill\includegraphics[height=\vyska]{example-portrait.jpg}
sirkaa \the\sirkaa
vyskaa \the\vyskaa
sirkab \the\sirkab
vyskab \the\vyskab
dělitel \the\delitel
šířka řádku \the\sirkaradku
\textbf{cílová výška \the\vyska}
\end{document}
Chci překopat jeden místní zpravodaj, který vypadá šíleně, tak jsem prvně jen tak zkoušel, jak by to šlo v LaTeXu, aby se dalo maximum předprogramovat. Myslím, že to nakonec bude docela fajn, abych to mohl zodpovědné osobě nabídnout.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.