단락보다 약간 더 크고 열을 중앙에 두고 경고 없이 표를 작성하는 방법은 무엇입니까?

단락보다 약간 더 크고 열을 중앙에 두고 경고 없이 표를 작성하는 방법은 무엇입니까?

나는 멋진 크기의 테이블을 만들려고 노력하고 있지만 아래 그림에 나열된 몇 가지 어려움이 있습니다.

여기에 이미지 설명을 입력하세요

  1. 내 눈 에는 1단어에 자동으로 하이픈이 연결되지 않습니다. 다른 것들은 그렇습니다. 그러나 그것은 내가 그 줄에 \-사용하고 있음에도 불구하고 텍스트에 차단기를 넣었기 때문입니다 .\RaggedRight*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}

  2. 말씀 도 2다른 사람들처럼 중심에 두어야 하는데 그렇지 않습니다. \centering3개의 중간 열에 대해 특별히 코드를 넣었음에도 불구하고 . 선: *3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}.

이것은 테이블의 코드입니다.라텍스가 현명하지 않을 때 텍스트를 정당화하지 않도록 자동으로 강제하는 방법은 무엇입니까?'안정적인:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[utf8]{inputenc}

\usepackage{mathptmx}
\usepackage{hyperref}
\usepackage{xspace}
\usepackage{microtype}
\usepackage{indentfirst}
\usepackage{lettrine}
\usepackage{graphicx}
\usepackage{float}
\usepackage{array,ragged2e}

\usepackage{tabularx}
\usepackage{multirow}

\begin{document}

\section{Riscos}

    % \slash
    \noindent\makebox[\textwidth]{%
    \resizebox{1.1\linewidth}{!}{%
    \begin{tabular}{|
                     *1{>{\raggedright\arraybackslash}p{4.0cm}|} % Riscos
                     *3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|} % Probabilidade, Impacto, Prioridade
                     *2{>{\raggedright\arraybackslash}p{4.0cm}|} % Resposta, Prevenção
                    }
    \hline Riscos  & Pro\-ba\-bi\-li\-da\-de & Im\-pac\-to & Prioridade & Es\-tra\-té\-gia de res\-pos\-ta & Ações de pre\-ven\-ção \\ \hline

    % Row 1
    % Riscos
    \hline Problemas com perda de dados &

    % Probabilidade
    Baixa &

    % Impacto
    Alto &

    % Prioridade
    Alta &

    % Estratégia de resposta
    Uso do backup &

    % Ações de prevenção
    Backup periódicos \\ \hline


    % Row 2
    % Riscos
    \hline Alteração do cronograma ou descontinuidade do projeto na empresa/laboratório onde recebo uma bolsa &

    % Probabilidade
    Média &

    % Impacto
    Alto &

    % Prioridade
    Alta &

    % Estratégia de resposta
    Redefinição da data de entrega do trabalho &

    % Ações de prevenção
    Monitoramento contínuo das informações obtidas com superiores imediatos \\ \hline

    \hline \end{tabular}
    }%
    }%

\end{document}

현재 각 열을 한 줄씩 분할하므로 라텍스를 읽는 동안 테이블을 쉽게 준비할 수 있습니다. 그렇다면 편집 및 확장이 용이하다는 점을 염두에 두고 이러한 테이블을 일반 텍스트로 작성하는 가장 읽기 쉬운 방법일까요?

또한 이 텍스트는 다음 경고를 생성합니다.

D:\main2.tex:73: Overfull \hbox (23.38434pt too wide) in paragraph at lines 73--73
D:\main2.tex:73: Overfull \hbox (1.82845pt too wide) in paragraph at lines 73--73
D:\main2.tex:73: Overfull \hbox (4.43913pt too wide) in paragraph at lines 73--73

테이블을 일반적인 페이지 크기보다 조금 더 크게 유지하면서 문제를 해결할 수 있습니까?

답변1

하이픈 연결에 문제가 있는 경우 바벨이 제대로 설치되어 있는지 확인하세요.

MWE에서와 같이 수동 하이픈을 사용하면 (열 정의를 수정한 후) 다음 결과를 얻습니다.

여기에 이미지 설명을 입력하세요

다음과 같이 변경했습니다.

  • 패키지를 추가 changepage하고 매크로 adjustwidth*확장 테이블을 외부 텍스트 테두리 밖으로 추가
  • 글꼴 크기를 다음으로 줄입니다. \small(이렇게 하면 셀의 텍스트에 하이픈을 더 잘 넣을 수 있습니다.)
  • >{\centering\RaggedRight\arraybackslash}p{0.9cm}(잘못된) 정의를 다음으로 변경합니다 .>{\Centering\arraybackslash}p{0.9cm}
  • 테이블 사용 tabularx환경을 위한
  • 열 너비 변경

MWE:

\documentclass[12pt]{article}
\usepackage[a4paper, margin=2cm, showframe]{geometry}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}

\usepackage{mathptmx}
\usepackage{xspace}
\usepackage{microtype}
\usepackage{indentfirst}
\usepackage{lettrine}
\usepackage{graphicx}
\usepackage{float}

\usepackage{ragged2e}
\usepackage{array, multirow, tabularx}
\usepackage[strict]{changepage}% <-- added

\usepackage{hyperref}

\begin{document}

\section{Riscos}

\begin{adjustwidth*}{}{-\marginparwidth}
    \small
    \begin{tabularx}{\linewidth}{|
                 *1{>{\RaggedRight\arraybackslash\hsize=1.1\hsize}X|} 
                 *3{>{\Centering\arraybackslash}p{1.1cm}|} % <-- corrected
                 *2{>{\RaggedRight\arraybackslash\hsize=0.95\hsize}X|} 
                    }
    \hline 
Riscos  & Pro\-ba\-bi\-li\-da\-de  & Impa\-cto & Prio\-ridade & Es\-tra\-té\-gia de res\-pos\-ta & Ações de pre\-ven\-ção \\ \hline
    % Row 1
    % Riscos
Problemas com perda de dados &
    % Probabilidade
    Baixa &

    % Impacto
    Alto &

    % Prioridade
    Alta &

    % Estratégia de resposta
    Uso do backup &

    % Ações de prevenção
    Backup periódicos \\ \hline

    % Row 2
    % Riscos
    \hline Alteração do cronograma ou descontinuidade do projeto na empresa/laboratório onde recebo uma bolsa &

    % Probabilidade
    Média &

    % Impacto
    Alto &

    % Prioridade
    Alta &

    % Estratégia de resposta
    Redefinição da data de entrega do trabalho &

    % Ações de prevenção
    Monitoramento contínuo das informações obtidas com superiores imediatos \\ 
        \hline\hline 
    \end{tabularx}
\end{adjustwidth*}%

\end{document}

메모:이렇게 좁은 열에 하이픈을 넣는 것은 좋은 생각이 아닙니다. 더 나은 해결책은 약간의 단축을 사용하고 표 캡션이나 표 끝의 각주에 해당 의미에 대한 설명을 추가하는 것입니다(예: 사용 threeparttable).

부록:여기에서 볼 수 있듯이 테이블 너비의 대칭 확장을 선호하는 경우(내 의견으로는 외부 페이지 테두리에 대한 비대칭이 더 좋지 않음)

여기에 이미지 설명을 입력하세요

adjustwidth*예를 들어 매크로 만 변경하면 됩니다 .

\begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
...
\end{adjustwidth}

답변2

나는 당신에게 강력히 권하고 싶습니다.~ 아니다테이블을 텍스트 블록보다 넓게 만드는 습관을 들이십시오. 단, 현재 테이블에 적용할 수 없는 것처럼 보이는 극단적인 상황을 제외하고는 말이죠. 처음에는 상당히 좁은 여백(2cm)을 사용하고 있으므로 이 권장 사항은 현재 문서에 더욱 시급합니다.

대신 (a) tabularx환경과 해당 X열 유형을 사용하여 테이블이 텍스트 블록에 맞는지 확인하고 (b) 필요에 따라 모든 열 유형을 적절하게 다시 정의하여 보기 좋은 테이블을 얻어야 합니다. 또한 모든 수직선을 생략하고 패키지를 사용하여 booktabs간격이 넉넉한 수평선을 생성하세요.

여기에 이미지 설명을 입력하세요

\documentclass[12pt]{article}
% I've tried to reduce the preamble to a bare minimum.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage{newtxtext,newtxmath} % more up-to-date than 'mathptmx'
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{microtype,ragged2e,tabularx,booktabs}

\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\Centering\arraybackslash\hspace{0pt}}p{#1}}
    % the '\hspace{0pt}' directive enables hyphenation of first word of cell
\newlength\medlength
\settowidth{\medlength}{Média} % width of word "Média"

\begin{document}
\section{Riscos}

\noindent
\begin{tabularx}{\textwidth}{@{}
    *1{>{\hangafter1\hangindent1em}P{4cm}}
    *3{C{\medlength}} % or: C{1.4cm} C{0.9cm} C{1.1cm}
    *2{Y}
    @{}}
\toprule 
    Riscos & Probabilidade & Impacto & Prioridade & 
    Estratégia de resposta & Ações de prevenção \\ 
\midrule

    % Row 1
    % Riscos 
    Problemas com perda de dados &
    % Probabilidade
    Baixa &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Uso do backup &
    % Ações de prevenção
    Backup periódicos \\

\addlinespace

    % Row 2
    % Riscos
    Alteração do cronograma ou descontinuidade do projeto 
    na empresa\slash laboratório onde recebo uma bolsa &
    % Probabilidade
    Média &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Redefinição da data de entrega do trabalho &
    % Ações de prevenção
    Monitoramento contínuo das informações obtidas 
    com superiores imediatos \\ 
\bottomrule
\end{tabularx}

\end{document}

관련 정보