如何在普通文本正文中添加文本?

如何在普通文本正文中添加文本?

好吧,我现在完全沮丧了。我想将一些垂直文本放在正文的正文中。我设法旋转了文本,但正文只在垂直文本结束后才开始。

目前它看起来像这样:

在此处输入图片描述

最后应该是这样的

在此处输入图片描述

有人有什么想法吗?

答案1

我想提出以下方法,引入\WriteOnMargin部分基于 TikZ 的命令。

更新(twoside可选)

如果偶数页和奇数页发挥作用(例如,作为twoside选项),则可以通过测试指定偶数/奇数页的设置\ifodd以获得以下输出。

在此处输入图片描述

上述示例的完整代码如下。

\documentclass[twoside]{article}

\usepackage{tikz}

\def\WriteOnMargin#1{%
    %
    % page parity test
    %-----------------
    \ifodd\thepage
        %
        % odd-page setup
        %---------------
        \def\EOwhere{above right}
        \def\EOxshift{1em}
        \relax
    \else
        %
        % even-page setup
        %----------------
        \def\EOwhere{below right}
        \def\EOxshift{9em}
        \relax
    \fi
    %
    % apply settings and typeset the text
    %------------------------------------
    \marginpar{%
        \tikz[overlay]
        \node[%
            cyan,
            \EOwhere,
            xshift=\EOxshift,
            rotate=-90,
            font=\Huge\sffamily] {#1};
    }%
}



\begin{document}
\WriteOnMargin{abcd}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean vel massa quis mauris 
vehicula lacinia. Duis risus. Sed elit dui, pellentesque a, faucibus vel, interdum nec, 
diam. Nulla est. Maecenas aliquet accumsan leo. Mauris metus. Cum sociis natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum fermentum 
tortor id mi. Fusce aliquam vestibulum ipsum. Mauris dictum facilisis augue. Pellentesque 
sapien. Pellentesque arcu. In dapibus augue non sapien. Nulla non arcu lacinia neque 
faucibus fringilla.
\newpage

\WriteOnMargin{xyz}
Curabitur ligula sapien, pulvinar a vestibulum quis, facilisis vel sapien. Duis aute 
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
pariatur. Integer in sapien. Nulla pulvinar eleifend sem. Nullam lectus justo, vulputate 
eget mollis sed, tempor sed magna. Aliquam erat volutpat. Neque porro quisquam est, qui 
dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius 
modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Maecenas 
sollicitudin. Nullam dapibus fermentum ipsum. Aliquam id dolor. Nulla non arcu lacinia 
neque faucibus fringilla. Integer imperdiet lectus quis justo. Class aptent taciti 
sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aenean id metus 
id velit ullamcorper pulvinar. Nullam sapien sem, ornare ac, nonummy non, lobortis a 
enim.
\end{document}

 

原始帖子(无twoside选项)

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}

\def\WriteOnMargin#1{%
    \marginpar{%
        \tikz[overlay]
        \node[%
            cyan,
            above right,
            xshift=1em,
            rotate=-90,
            font=\Huge\sffamily] {#1};
    }%
}

\begin{document}
\WriteOnMargin{Some text}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean vel massa quis mauris 
vehicula lacinia. Duis risus. Sed elit dui, pellentesque a, faucibus vel, interdum nec, 
diam. Nulla est. Maecenas aliquet accumsan leo. Mauris metus. Cum sociis natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum fermentum 
tortor id mi. Fusce aliquam vestibulum ipsum. Mauris dictum facilisis augue. Pellentesque 
sapien. Pellentesque arcu. In dapibus augue non sapien. Nulla non arcu lacinia neque 
faucibus fringilla.

Curabitur ligula sapien, pulvinar a vestibulum quis, facilisis vel sapien. Duis aute 
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
pariatur. Integer in sapien. Nulla pulvinar eleifend sem. Nullam lectus justo, vulputate 
eget mollis sed, tempor sed magna. Aliquam erat volutpat. Neque porro quisquam est, qui 
dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius 
modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Maecenas 
sollicitudin. Nullam dapibus fermentum ipsum. Aliquam id dolor. Nulla non arcu lacinia 
neque faucibus fringilla. Integer imperdiet lectus quis justo. Class aptent taciti 
sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aenean id metus 
id velit ullamcorper pulvinar. Nullam sapien sem, ornare ac, nonummy non, lobortis a 
enim.
\end{document}

答案2

\InsertBoxR使用来自纯 TeX 宏包的命令可以实现简单的解决方案insbox。它需要两个强制参数:插入框之前段落中未缩短的行数和框的内容,以及一个可选(最后一个)参数:补充缩短的行数,以防 TeX 错误地计算了必要的缩短行数。

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage{adjustbox, rotating}%

\input{insbox}

\makeatletter
\@InsertBoxMargin =15pt
\makeatother

\begin{document}

\sffamily
\InsertBoxR{-1}{\turnbox{-90}{\adjustbox{scale=4}{Vertical text}}}[16]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mau-
ris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus
et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit
amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra
ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi
dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper
nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend,
sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.

\lipsum[2]

\end{document} 

在此处输入图片描述

答案3

解决方案是在正确位置使用 wraptable 和 \hfill 的组合

\begin{wraptable}{r}{0.5cm}
\hfill\begin{tabular}{l}
\begin{turn}{270}
\begingroup{}
\Huge{Vertical Text}
\endgroup{}
\end{turn}
\end{tabular}
\end{wraptable} 

相关内容