
Я пытаюсь понять, как оформить решения внутритекстовых упражнений в виде перевернутой сноски в стиле абзаца, как вследующее изображение:
Я могу легко набрать решения в сноске в стиле абзаца справа вверх, используя опцию footmisc
с para
. Я также могу использовать , \rotatebox
чтобы набрать сноски вверх ногами и по одной на строку (хотя и в обратном порядке от того, что мне нужно). Однако я не могу понять, как получить сноски в стиле абзаца, в которых вся сноска повернута.
Я хотел бы иметь возможность создать что-то похожее на приведенное выше, используя такой код:
\documentclass[12pt]{article}
\usepackage{graphicx}
\newcommand{\problem}[2]{...}{...}
\begin{document}
\problem{What is 1+1}{two}
\problem{What is 1+2}{three}
\problem{What is 1+3}{four}
\problem{What is 1+4}{five}
\end{document}
решение1
НОВАЯ ВЕРСИЯ в соответствии с пересмотренными требованиями OP. ОТРЕДАКТИРОВАНО для использования \protected@edef
как части \problem
для облегчения использования фигурных скобок \{...\}
в сносках.
Он использует синтаксис \problem[]{question}{answer}
. На этом этапе пользователь должен вызвать сноски одним из двух способов:
\showpageanswers
после финала\problem
на любой странице; илиукажите что-либо (кроме
\relax
) в качестве необязательного аргумента для последнего\problem
на любой странице.
Я пытался автоматизировать это постранично, но безуспешно.
Счетчик проблем будет переноситься со страницы на страницу.
Я изменил его \showpageanswers
так, что его вызов без каких-либо ответов будет проигнорирован.
Чтобы сноска могла выходить за пределы одной строки (т. е. стиль абзаца), я поместил ее в \parbox
. Я также применил кернинг -18pt перед повернутым \parbox
, чтобы учесть отступ сноски, и добавил \strut
в конец определения перевернутой сноски ( \revfootnote
), для последующего вертикального интервала.
Однако следует отметить, что если на одной странице отображается несколько наборов ответов, сохранение всех ответов для одного вызова сноски на странице предотвратит «появление» неправильно упорядоченных сносок (поскольку переворачивание их меняет смысл первой и последней сносок).
Вот МВЭ
\documentclass[12pt]{article}
\usepackage{graphicx,lipsum}
\usepackage{enumitem}\newsavebox\fnbox
\def\pageanswers{}
\newcounter{problemNo}
\makeatletter
\newcommand\problem[3][\relax]{%
\stepcounter{problemNo}%
\par\smallskip%
\theproblemNo.~~#2?%
\par\smallskip%
\protected@edef\pageanswers{\pageanswers$^{\theproblemNo}$#3\ \quad}%
\ifx\relax#1\else\showpageanswers\fi%
}
\makeatother
\newcommand\showpageanswers{\if\relax\pageanswers\relax\else%
\revfootnote{\pageanswers}\def\pageanswers{}\fi}
\newcommand\revfootnote[1]{\renewcommand{\thefootnote}{}%
\footnotetext{\savebox\fnbox{\parbox{%
\dimexpr\textwidth\relax}{#1\strut}}\kern-18pt%
\rotatebox{180}{\usebox{\fnbox}}}}
\begin{document}
Solve these problems.
\problem{What is 1+1}{two $\{abc\}$}
\problem{What is 1+2}{three}
\problem{What is 1+3}{four}
\problem{What is 1+4}{five}
\problem{What is 1+5}{six}
\problem{What is 1+6}{seven}
\problem{What is 1+7}{eight}
\problem{What is 1+8}{nine}
\lipsum[1]
\problem{What is 2+1}{three}
\problem{What is 2+2}{four}
\problem{What is 2+3}{five}
\problem[x]{What is 2+4}{six}
\lipsum[2-4]
Solve these problems.
\problem{What is 1+1}{two}
\problem{What is 1+2}{three}
\problem{What is 1+3}{four}
\problem{What is 1+4}{five}
\problem{What is 1+5}{six}
\problem{What is 1+6}{seven}
\problem{What is 1+7}{eight}
\problem[x]{What is 1+8}{nine}
\lipsum[5-8]
\end{document}
решение2
Здесь это \hfill
бесполезно, но a \raggedleft
сместит повернутый блок к правому краю.
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{enumitem}
\begin{document}
What is
\begin{enumerate}
\item 1+1?
\item 1+2?
\item 1+3?
\item 1+4?
\end{enumerate}
\renewcommand{\thefootnote}{}
\footnotetext{\raggedleft\rotatebox{180}{$^1$ two\qquad $^2$ three\qquad $^3$ four\qquad $^4$ five\hfill}}
\end{document}