
我試圖弄清楚如何將文字練習的解決方案排版為顛倒的段落樣式腳註,如下圖:
footmisc
我可以使用該選項輕鬆地在右側段落樣式腳註中排版解決方案para
。我還可以使用 a\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 要求。編輯使用 a\protected@edef
作為 的一部分,以方便在腳註中\problem
使用大括號。\{...\}
它使用語法\problem[]{question}{answer}
.在此階段,使用者必須透過以下兩種方式之一呼叫腳註:
\showpageanswers
\problem
任何給定頁面上的最後一個之後;或者提供任何給定頁面上
\relax
最後一個的可選參數(除了)。\problem
我嘗試逐頁自動化此操作,但沒有成功。
問題計數器將逐頁結轉。
我進行了修改,\showpageanswers
因此沒有任何要顯示的答案的呼叫將被忽略。
為了使腳註能夠延伸超過單行長度(即段落樣式),我將其放在一個\parbox
.我還在旋轉之前調整了 -18pt 字距\parbox
,以考慮腳註縮進,並\strut
在倒置腳註定義的末尾添加了一個 ( \revfootnote
),用於後續的垂直間距。
但請注意,如果同一頁面上出現多個答案集,則保存每頁單個腳註調用的所有答案將防止「出現」順序錯誤的腳註(因為將它們顛倒會改變第一個和最後一個的含義)。
這是 MWE
\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}