\documentclass{article} %\let\oldpageref\pageref \usepackage[english,german]{babel} %\let\pageref\oldpageref \usepackage[ shortlop, under, % side, % top, % center, % bottom, ]{photo} \oecaptionsep 2mm \usepackage{vmargin} \setmargins{30mm}{15mm}{150mm}{250mm}{10pt}{5mm}{}{10mm} \columnsep 5mm \parindent 0em \parskip 3ex \fboxsep 0mm \fboxrule 1pt \newcommand\captext{ abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc } \newcommand\capt{ abc abc abc abc abc abc abc } \newcommand\ph[1]{% %\fbox{\parbox{#1}{\rule[-0mm]{0mm}{0mm}}}% \fbox{\parbox{#1}{\leavevmode Mg\vrule width 0mm height 05mm depth 011mm}}% } \begin{document} \rule{\textwidth}{2mm} \listofphotos \newpage \rule{\textwidth}{1mm} \putphoto[l]{label1}{grapher}{\ph{0.8\textwidth}}{placement left. \captext} \putphoto[r]{label2}{grapher}{\ph{0.8\textwidth}}{placement right. \captext} \putphoto[i]{}{photographer}{\ph{0.8\textwidth}}{placement inside. \captext} \putphoto[o]{}{photographer}{\ph{0.8\textwidth}}{placement outside. \captext} \putphoto[o]{}{photographer}{\ph{0.8\textwidth}}{placement outside. \capt} \newpage \rule{\textwidth}{1mm} \putphoto[ot]{}{photographer}{\ph{70mm}}{placement outside. t caption. \capt} \putphoto[oc]{}{photographer}{\ph{70mm}}{placement outside. c caption. \capt} \putphoto[oc]{}{photographer}{\ph{70mm}}{placement outside. short c caption.} \putphoto[ob]{}{photographer}{\ph{70mm}}{placement outside. b caption. \capt} \putphoto[itu]{}{photographer}{\ph{70mm}}{placement inside. t caption. u. \capt} \putphoto[icu]{}{photographer}{\ph{70mm}}{placement inside. c caption. u. \capt} \putphoto[icu]{}{photographer}{\ph{70mm}}{inside. short c caption. u.} \putphoto[ibu]{}{photographer}{\ph{70mm}}{placement inside. b caption. u. \capt} \newpage \rule{\textwidth}{1mm} \putphoto[lst]{}{photographer}{\ph{70mm}}{photo l. t caption. taker s. \capt} \putphoto[lsc]{}{photographer}{\ph{70mm}}{photo l. c caption. taker s. \capt} \putphoto[lsc]{}{photographer}{\ph{70mm}}{photo l. c caption. taker s.} \putphoto[lsb]{}{photographer}{\ph{70mm}}{photo l. b caption. taker s. \capt \label{ph:photo}} \putphoto[rst]{}{photographer}{\ph{70mm}}{photo r. t caption. taker s. \capt} \putphoto[rsc]{}{photographer}{\ph{70mm}}{photo r. c caption. taker s. \capt} \putphoto[rsc]{}{photographer}{\ph{70mm}}{photo r. c caption. taker s.} \putphoto[rsb]{}{photographer}{\ph{70mm}}{photo r. b caption. taker s. \capt} \newpage \rule{\textwidth}{1mm} \putphoto{}{photographer}{\ph{70mm}}{defaults.} \putphoto{}{photographer}{\ph{70mm}}[lop caption]{lop cap, defaults.} %\clearpage % will start a new page and put floats there \defaultphotoplacement{hb} % will put floats "here" % everything else will mix up order of floats with fixed placements!! \begin{Photo}[i]{}{phogr}{Photo environment. i. caption for this.} \ph{70mm} \end{Photo} \begin{Photo}[i]{}{phogr}[Photo env lop cap]{Photo environment. i. caption.} \ph{70mm} \end{Photo} \putphoto{}{photographer}{\ph{70mm}}{defaults again.} \vspace{10mm} Testing cross-referencing: This is lower-case \phref{ph:photo}, and upper-case: \Phref{ph:photo}. \end{document}