.png)
친애하는 신사숙녀 여러분,
최근에 운문과 산문을 조판하고 있는데 날짜에 문제가 있습니다. 특히, 날짜가 앞의 텍스트 바로 뒤에 나타나도록 하고 싶습니다(예: 페이지 나누기 없음). 이는 산문을 조판할 때마다 분명한 것 같습니다. 다음 해결 방법을 참조하세요.
\newcommand{\dated}[1]{\nobreak\par\noindent\null\hfill\textit{#1}}
그러나 환경의 구절을 사용하면 LaTeX는 환경의 끝 verse
이후에 중단이 항상 유리하다고 생각하기 때문에 사실상 불가능합니다 . \end{verse}
구글링을 해보았으나 깨지는 것을 방지할 수 있는 방법을 찾지 못했습니다.~ 후에환경.
산문에서는 매력처럼 작동합니다.
\documentclass[12pt, oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[papersize={11cm, 15cm}, textwidth=10cm, textheight=11.2cm]{geometry}
\usepackage{lipsum}
\newcommand{\dated}[1]{\nobreak\par\noindent\null\hfill\textit{#1}}
\begin{document}
\null\vspace{2.3cm}
\lipsum[1]
\dated{30.01.2018}
\end{document}
그러나 시에서는 그다지 많지 않습니다.
\documentclass[12pt, oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[papersize={11cm, 15cm}, textwidth=10cm, textheight=11.2cm]{geometry}
\usepackage{lipsum}
\newcommand{\dated}[1]{\nobreak\par\noindent\null\hfill\textit{#1}}
\begin{document}
\lipsum[1]
\begin{verse}
THERE was a young lady of Niger \\
Who smiled as she rode on a Tiger; \\
They came back from the ride \\
With the lady inside, \\
And the smile on the face of the Tiger.
\end{verse}
\dated{30.01.2018}
\end{document}
\needspace
그 사이에 시가 다 들어가고 \begin{verse}
... 시가 \end{verse}
수백 편이라 \needspace
마지막 한 줄에 붙여넣을 수도 없어서 사용할 수가 없습니다 .
어쩌면 운문을 어떻게든 재정의하는 것이 가능할까요? 아니면 \nobreak
나중에 작업을 수행하는 다른 트릭이 있습니까 \end{verse}
?
도움을 주시면 감사하겠습니다!
답변1
이 솔루션은 Verse 환경 내부에 날짜를 넣고 마지막 줄에 첨부합니다. 구절 환경의 끝 부분에 있는 공간 중 일부를 사용 \unskip
하거나 제거 할 수 있지만 \vskip-\lastskip
이미 다음 페이지에 있다면 아무 소용이 없습니다.
\documentclass[12pt, oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[papersize={11cm, 15cm}, textwidth=10cm, textheight=11.2cm, showframe]{geometry}
\usepackage{lipsum}
\newcommand{\dateverse}[1]{\hfill\rlap{\hspace{\rightmargin}%
\llap{\raisebox{-\baselineskip}{\textit{#1}}}}}
\begin{document}
\lipsum[1]
\begin{verse}
THERE was a young lady of Niger \\
Who smiled as she rode on a Tiger; \\
They came back from the ride \\
With the lady inside, \\
And the smile on the face of the Tiger.
\dateverse{30.01.2018}
\end{verse}
\end{document}
\raisebox
날짜를 디센더로 바꾸고 LaTeX는 디센더가 아닌 페이지 하단의 기준선만 정렬한다는 생각이 들었습니다 . 기준선을 이동하려면 상자 안에 이전 줄을 포함해야 합니다.
\documentclass[12pt, oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[papersize={11cm, 15cm}, textwidth=10cm, textheight=11.2cm, showframe]{geometry}
\usepackage{lipsum}
\newcommand{\dated}[1]{\ifvmode\else\newline\fi
\null\hfill\rlap{\hspace{\rightmargin}\llap{\textit{#1}}}}
\begin{document}
\lipsum[1]
\begin{verse}
THERE was a young lady of Niger \\
Who smiled as she rode on a Tiger; \\
They came back from the ride \\
With the lady inside, \\
\parbox[b]{\dimexpr \linewidth-\itemindent}%
{And the smile on the face of the Tiger.
\dated{30.01.2018}}
\end{verse}
\end{document}