我正在尝试使用页面的整个宽度来打印参考书目tufte-book
,因为我不打算在参考书目中添加边注。
tufte
编辑:我正在使用尚未在 CTAN 上的更新版本,否则它与 biblatex 不兼容。
问题是fullwidth
环境不能跨页面工作。我找到了一个可能的解决方案这里但是,正如那里提到的那样,这也会移动页面标题,从而有效地破坏布局(或者迫使我布局没有标题的页面,这虽然可行,但意味着承认失败)
我找到了第二个更好的解决方案这里使用mdframed
环境,这个似乎工作得很好,但它似乎只适用于“普通”文本。此外,如果\chapter
环境中有一个,那么编译就会陷入无限循环。建议的解决方案这里似乎只能有效地禁用该包。
使用\printbibliography
insidemdframed
也会导致无限循环。正如我在编写下面附加的 MWE 时发现的那样,可以通过 来解决这个问题[heading=subbibintoc]
。这样就没有新的章节,因此就不会无限循环。但是,输出仍然是错误的,只打印了第一个书目标签,后面是完整的书目(没有其他标签)。
不过页面布局很好:)
梅威瑟:
\documentclass[a4paper, nobib, symmetric, twoside]{tufte-book} %
%\documentclass{article}
\usepackage{csquotes}
\usepackage{hyphenat}
\usepackage[american]{babel}
\usepackage[style=alphabetic, backend=biber]{biblatex}
\usepackage[hidealllines=true]{mdframed}
\usepackage{lipsum}
\bibliography{biblatex-examples}
\begin{document}
\nocite{*}
%Normal Tufte Layout, lots of wasted space, since sidenotes are not needed here
\printbibliography[title=Normal Behaviour]
%First try, either recto or verso fine, the other runs off the page, depending on where bibliography starts
\begin{fullwidth}
\printbibliography[title=First Fullpage Attempt]
\end{fullwidth}
%Second try, works, but header offset as well (see missing pagenumbers)
\makeatletter
\changetext{}{\@tufte@overhang}{-\@tufte@overhang}{}{}
\makeatother
\printbibliography[title=Second Fullpage Attempt]
\makeatletter
\changetext{}{-\@tufte@overhang}{\@tufte@overhang}{}{}
\makeatother
% This works, but only with "normal" text, not with biliography
\begin{mdframed}[outermargin=\dimexpr-\marginparwidth-\marginparsep\relax,innermargin=0pt]
\section{Third Attempt with Normal Text}%works
%\chapter{Third Attempt with Normal Text}%Endless loop
\lipsum[1-20]
\end{mdframed}
% Gives endless loop if uncommented
\begin{mdframed}[outermargin=\dimexpr-\marginparwidth-\marginparsep\relax,innermargin=0pt]
%\printbibliography[title=Third Fullpage Attempt]%Endless Loop
%\printbibliography[heading=subbibintoc, title=Third Fullpage Attempt]%Compiles fine but only gives first bib label, with complete bibliography
\end{mdframed}
\end{document}
因此,有两个问题:
- 为什么如果环境中有了新的章节就会出现无限循环
mdframed
? - 如何获得良好的输出/为什么
\lipsum
和的输出不同\printbibliography
答案1
使用tcolorbox
而不是mdframed
或fullwidth
最终解决了这个问题。grow to right by = \marginparwidth+\marginparsep
在奇数页上使用,在偶数页上使用相反的,我(几乎)得到了我想要的,没有任何错误。我认为长度不完全正确,但目前已经足够接近了。(至少直到出现更聪明的人)
\usepackage[most]{tcolorbox}
\begin{tcolorbox}[enhanced, show bounding box, breakable, colback=white, colframe=white, check odd page, toggle left and right, grow to right by=\marginparwidth+\marginparsep, toggle enlargement=evenpage]
\lipsum[1-16]
\end{tcolorbox}
答案2
重新提出这个老问题,是因为我找到了一个对我来说更好的解决方案,
在前言中,我将使用几何包来设置边距大小:
\usepackage{geometry}
\geometry{marginparsep=0.5cm, marginparwidth=4.0cm, <other options>}
然后在之后\backmatter
,或者任何与您相关的时候,使用:
\newgeometry{marginparsep=0pt, marginparwidth=0pt, <same other options as before>}
如果愿意的话,您可以按章节执行此操作。