2010-02-28 4 views
3

이것은 바보 스럽거나 명백 할 수 있지만 sty 파일을 만드는 것을 배우고 beamerposter 프로젝트에서 일부 코드를 수정했습니다. 어쨌든, 나는이 있습니다 LaTex : 환경의 시작 부분에서 명령을 시작하여 끝 정의로 끝내십시오.

\def\postercolumn#1 
{\begin{column}{#1\textwidth} 
     \begin{beamercolorbox}[center,wd=\textwidth]{postercolumn} 
     \begin{minipage}[T]{.95\textwidth} 
      %\parbox[t][\columnheight]{\textwidth} 
} 

\def\endpostercolumn 
{ 
     \end{minipage} 
     \end{beamercolorbox} 
    \end{column} 
} 

는 분명히 \의 parbox 명령은 주석을,하지만 난 거기 시작과 끝 블록의 끝 싶습니다. 컴파일러가 혼란 섹션 닫는의 \ endpostercolumn 생각됩니다 때문에

\def\postercolumn#1 
{\begin{column}{#1\textwidth} 
     \begin{beamercolorbox}[center,wd=\textwidth]{postercolumn} 
     \begin{minipage}[T]{.95\textwidth} 
      \parbox[t][\columnheight]{\textwidth}{ 
} 

\def\endpostercolumn 
{ 
     } 
     \end{minipage} 
     \end{beamercolorbox} 
    \end{column} 
} 

그러나 자연적으로,이 작동하지 않습니다 사실상,이 원하는. 그 문제를 해결할 수있는 확실한 방법이 있습니까?

감사합니다.

답변

2

{} 대신 \bgroup\egroup을 시도 할 수 있습니다. 그러나 확실하지 않습니다.

\bgroup{-\let, 그래서 그것은 암시{을합니다. 따라서 TeX의 "위장"에 도달하기 전에는 여분의 그룹화 명령으로 간주해서는 안됩니다. \egroup도 마찬가지입니다.


편집 : (\parbox 너무 일찍 토큰을 확장하는 것 때문에) 나는 \parbox와 그것을 시도, 그것은 제대로 작동하지 않는 것 같습니다. \vtop으로 작동합니다.

\documentclass{minimal} 

\newlength\columnheight \columnheight=5cm % needed to define \columnheight, 
              % don't have it here 

\def\postercolumn{ 
    \leavevmode 
    \vtop to \columnheight\bgroup 
    \hsize.5\textwidth 
    \noindent 
    \ignorespaces 
} 

\def\endpostercolumn{ 
    \egroup 
} 


\begin{document} 

\begin{postercolumn} 
    hello world hello world hello world hello world 
    hello world hello world hello world hello world 
\end{postercolumn} 

\end{document} 

이것이 필요한 것 같습니다.


편집 :

\begin{minipage}[t]{\textwidth} 
    % ... 
\end{minipage} 

% If you want to explicitly define the height: 
\begin{minipage}[t][\columnheight]{\textwidth} 
    % ... 
\end{minipage} 

minipage 환경과 같은 옵션이 있습니다 : 물론, 당신이 대신 \parbox을 사용하는 대신 \hsize.5\textwidth

0

\hsize\textwidth을해야합니다, 당신은 minipage 환경을 사용할 수 있습니다 \parbox 명령 :

\begin{minipage}[pos][height][inner-pos]{width} 
    % ... text ... 
\end{minipage} 

여기에서 posc, t 또는 b 중 하나입니다 (각각 가운데, 위 및 아래). height은 상자의 높이입니다. inner-posc, t, b 또는 s 중 하나입니다 (가운데, 위쪽, 아래쪽 및 늘임 각각 해당). width은 상자의 원하는 너비입니다.

inner-pos 값으로 s을 선택하면 텍스트가 상자의 세로 공간을 채우도록 늘립니다 (단락 사이에 추가 공간이 추가됩니다). inner-pos을 지정하지 않으면 pos과 동일하게 설정됩니다.

이 코드는 테스트하지 않았지만 제대로 작동합니다. (이전에 새로운 환경을 정의 할 때 사용했습니다.)

관련 문제