环境tabular

环境tabular

我尝试寻找答案,但说实话,我对 LaTeX 还很陌生,我甚至不知道自己在寻找什么,因此我将在下面解释我试图寻找的内容。

我想将其作为我的一个页面。

Published by:     Name.
                  Name.
                  Name.

但是当我尝试在 LaTeX 中执行此操作时,出现了此问题。

Published by:    Name.
                  Name.
                  Name.

这是我通过这样做得到的。

Published by:\tab\textbf{Name.\\}
\tab\tab\tab\tab\tab\textbf{Name.\\}
\tab\tab\tab\tab\tab\textbf{Name.\\}

\tab

\newcommand{\tab}{\hspace*{2em}}

这显然是一种非常粗糙的方法,所以我想知道是否有人有更优雅的解决方案。

编辑:我想我会继续在这里提问,因为它属于同一类别。

如果我想要这样的东西该怎么办?

Published by:    Name.
                 Name.
                 Name.

Title:           Title, Subtitle.
Author:          Author.

If you request any further info, contact.

                 Name.
                 Name.

tabular这样所有信息都位于相同的缩进中。继续使用或方法是否明智longunderstack,或者使用完全不同的方法?

答案1

环境tabular

一个简单的解决方案tabular

\documentclass{article}
\begin{document}
  Published by:\quad
  \begin{tabular}[t]{@{}l@{}}
    Harry Potter\\
    Jack Sparrow\\
    Frodo Baggins
  \end{tabular}
\end{document}

简单表格结果

评论:

  • [t]将表格第一行的基线与周围文本对齐。
  • @{}\tabcolsep删除表格列周围的多余空格 ( )。

可以通过不同的方式将名称加粗:

  • \textbf或者\bfseries对于每个名字:

    \begin{tabular}[t]{@{}l@{}}
      \bfseries Harry Potter\\
      \bfseries Jack Sparrow\\
      \bfseries Frodo Baggins
    \end{tabular}
    
  • \textbf整体而言tabular

    \textbf{\begin{tabular}[t]{@{}l@{}}
      Harry Potter\\
      Jack Sparrow\\
      Frodo Baggins
    \end{tabular}}
    
  • 软件包array提供>{...}在列开头插入内容的功能:

    \usepackage{array}
    ...
    \begin{tabular}[t]{@{}>{\bfseries}l@{}}
      Harry Potter\\
      Jack Sparrow\\
      Frodo Baggins
    \end{tabular}
    

粗体条目:

粗体结果

扩大的视野

\documentclass{article}
\usepackage{array, booktabs}
\begin{document}
  \setlength{\defaultaddspace}{\baselineskip}
  \begin{tabular}{@{}l@{\quad}>{\bfseries}l}
    Published by:
    &  Harry Potter\\
    &  Jack Sparrow\\
    &  Frodo Baggins\\
    \addlinespace
    Title: & A survey of foo and bar \\
    Subtitle: & Finer points \\
    \addlinespace
    \multicolumn{2}{@{}l@{}}{If you request any further info, contact:}
    \\
    \addlinespace
    & Gandalf in Middle-earth\\
    & Radagast, the Blue
  \end{tabular}
\end{document}

扩展表格版本

包裹varwidth

也可以使用A。minipage但是它的缺点是必须指定宽度。包varwidth定义了一个环境varwidth,其作用类似于minipage,但宽度会自动减小到所需的值:

\documentclass{article}
\usepackage{varwidth}
\begin{document}
  Published by:\quad
  \begin{varwidth}[t]{\linewidth}
    \bfseries
    Harry Potter\\
    Jack Sparrow\\
    Frodo Baggins
  \end{varwidth}
\end{document}

带有 varwidth 的结果

环境tabbing

更接近问题的方法是环境tabbing,它允许设置和使用制表符:

\documentclass{article}
\begin{document}
  \begin{tabbing}
    Published by:\quad\=\textbf{Harry Potter}\\
    \>\textbf{Jack Sparrow}\\
    \>\textbf{Frodo Baggins}
  \end{tabbing}
\end{document}

带制表符的结果

扩大的视野

\documentclass{article}
\begin{document}
  \begin{tabbing}
    Published by:\quad\=\textbf{Harry Potter}\\
    \>\textbf{Jack Sparrow}\\
    \>\textbf{Frodo Baggins}\\[\baselineskip]
    Title:\>\textbf{A survey of foo and bar}\\
    Subtitle\>\textbf{Finer points}\\[\baselineskip]
    If you request any further info, contact:\\[\baselineskip]
    \>\textbf{Gandalf in Middle-earth}\\
    \>\textbf{Radagast, the Blue}
  \end{tabbing}
\end{document}

扩展标签版本

答案2

这是使用悬挂包的另一种方法,可能更简单

\documentclass{article}
\usepackage{hanging}

\newlength{\hangwidth}
\newcommand{\newhang}[1]{\settowidth{\hangwidth}{#1}\par\hangpara{\hangwidth}{1}#1}

\begin{document}

\newhang{Published by: }Name 1\\Name 2\\Name 3

\newhang{\textbf{Published by: }}Name 1\\Name 2\\Name 3

\end{document}

在此处输入图片描述

答案3

可以使用底层堆栈。已编辑以确认其可以与 配合使用\textbf{}

\documentclass{article}
\usepackage{stackengine}
\strutlongstacks{T}
\setstackEOL{\cr}
\begin{document}
Published by:\hspace{1em}\Longunderstack[l]{%
  \textbf{Name.}\cr
  Longer Name.\cr
  Another Name.}

Next paragraph.
\end{document}

在此处输入图片描述

答案4

应该使用原\hangindent语。例如:

\def\\{\hfil\break}
\def\indentby#1{\setbox0=\hbox{#1}\noindent \hangindent=\wd0 \box0
                \ignorespaces}

\indentby{Published by: }  Harry Potter\\
                           Jack Sparrow\\
                           Frodo Baggins
\bye

请注意,如果您使用 LaTeX,则无需定义\\

相关内容